레이블이 3MATCH인 게시물을 표시합니다. 모든 게시물 표시
레이블이 3MATCH인 게시물을 표시합니다. 모든 게시물 표시

2019년 11월 1일 금요일

1. 유니티 3매치 퍼즐 프로젝트 만들기

안녕하세요.
3 매치 퍼즐 게임 빙글(Bingle) 프로젝트를 시작하겠습니다.

첫번째 작업으로 유니티 2D 프로젝트를 생성해서 9x9 보드 플레이에 적합한 카메라를 설정하고, 플레이를 관리하는 메인 컨트롤러(Controller) 및 스크립트를 만들어 보겠습니다.(이하 존칭 생략)

이번에 작업할 내용은 아래와 같다.
  • 프로젝트 생성
  • 카메라 설정
  • 플레이 씬(Scene) 기본 구성 및 스크립트 작성

소스 코드 다운로드

https://github.com/ninez-entertain/BingleStarter 에서 소스코드를 다운받을 수 있다. >git clone https://github.com/ninez-entertain/BingleStarter.git 또한, 각 진행 과정은 개별 branch로 제공되며 소스코드 다운로드 후에 각 스텝 별로 브랜치를 이용할 수 있다. 이번 장의 브랜치는 "step-1"으로 아래 git 명령어로 이번 장의 브랜치로 바로 이동할 수 있다. git checkout step-1

프로젝트 만들기

유니티 허브에서 [New]를 선택한 후 프로젝트 정보를 아래와 같이 입력한다.
  • Template : 2D
  • Project Name : BingleStarter
  • Location : 원하는 위치

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을 이용한 모델링은 별도 세션으로 추후 게시하도록 하겠습니다.

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

많은 응원 부탁드립니다.

감사합니다.