2019년 10월 28일 월요일

유니티 3매치 퍼즐 프로젝트 소개

우리에게 익숙한 캔디크러시사가, 프렌즈팝콘, 애니팡 같은 3 Match 퍼즐 게임을 개발하는 과정을 공유합니다.
현재 진행중인 개인 프로젝트의 실제 코드를 일부 발췌하여 유사한 퍼즐 게임 개발시 도움이 되었으면 합니다.

아래는 지금까지 구현된 실행 예시 화면입니다.

구현 목표

Unity에서 제공하는 기본 기능을 최대한 활용해서 개발합니다.
  • 3, 4, 5 기본 매칭
  • 3x3, 3x4, 3x5, 4x4, 4x5 매칭시 특수블럭 생성
  • 다양한 (젤리, 스톤, 철창, 컬러) 블럭 지원
  • 스테이지 파일 지원
  • 스테이지별 미션, 점수 지원
  • 부드러운 블럭 드롭 애니메이션 지원
  • 매칭가능 블럭 알림 기능
  • 이동 가능 블럭 없는 경우 블럭 섞기
  • 핵주먹, 뒤섞기, 이동횟수 증가 등 아이템 지원
  • 맵/스테이지 선택, 게임준비 화면 등 다양한 UI
  • 파트클을 사용한 블럭 폭파 및 클리어 Effect
  • 오브젝트 풀(Pool)을 사용한 게임오브젝트 재활용
  • UML을 이용한 아키텍쳐 설계(클래스 다이어그램, 시퀀스 다이어그램 제공)
  • 모바일 해상도 Free 
  • 안드로이드 앱 빌드 및 배포
  • 그외 시간이 되면
    • GC 최소화
    • DrawCall 줄기기 등
    • Google Play Service 연동
    • 결제 연동
    • 유닛 테스트
    • 레벨 에디터 개발

개발 환경

  • OS : MacOS Mojave 버전 10.14.5
  • 개발도구 : Unity 2019.2.10f1 Personal,  Visual Studio for Mac
  • 기타 : Photoshop CC 2018
  • 형상관리 : git version 2.23.0
  • 소스 Repository : Github
  • UML 도구 : StarUML

블로그 편집 환경

  • 동영상 GIF 캡쳐 : GIF Brewery
  • HTML & CSS 테스트 : IntelliJ + Visual Studio Code for Mac, 크롬
  • 이미지 캡쳐 : MacOS 기본 캡쳐
  • 기타 :  PowerPoint

소스 코드 다운로드

모든 소스 코드와 문서는 아래에서 다운로드 할 수 있습니다.
https://github.com/ninez-entertain/BingleStarter

아래 git command로 복제(clone) 후 사용하세요.
> git clone https://github.com/ninez-entertain/BingleStarter.git

또한, 각 진행 과정은 개별 branch로 제공되며 소스코드 다운로드 후에 각 스텝 별로 브랜치를 이용할 수 있습니다.

예를 들어, 세번째 장의 소스를 보기 위해서 "step-3" 브랜치로 이동할 수 있습니다.
git checkout step-3

UML 다이어그램 파일 보기

프로젝트 설계에 사용하는 UML 도구는 오픈소스인 StarUML을 사용합니다.
https://sourceforge.net/projects/staruml/ 에서 프로그램을 다운받을 수 있습니다.

UML 파일 위치 : Assets/Doc/BingleStart.uml

아래와 같은 클래스 다이어그램 및 시퀀스 다이어그램을 제공합니다.


UML을 이용한 모델링은 별도 세션으로 추후 게시하도록 하겠습니다.

소박하게 시작하였지만, "최소한 이런 것은 있어야지"라고 생각하니 구현목표 많아졌습니다.
최대한 급하지 않게 차근차근 진행하도록 하겠습니다.

많은 응원 부탁드립니다.

감사합니다.

댓글 3개: