Monster Defense 게임 개발 - 5
Monster Defense - Version 2
https://play.google.com/store/apps/details?id=com.notyu.monsterdefense
Monster Defense - Google Play 앱
방어하고, 생존하고, 수집하세요
play.google.com
버전 1 오류 수정
버전 1에서 발견된 오류는 광고를 재생하기 위해 광고가 로드가 완료되어 재생이 가능한 상태면 버튼을 사용자에게 보여주어야 하는데 버튼이 보이지 않았다. 처음에는 코드 오류로 생각하여 코드를 수정하였다. 이유는 유니티 에디터에서는 정상적으로 작동하였기 때문이다. Unity Ads Monetization에 새로운 프로젝트를 만들고, 테스트 예제를 만들어 연결하여 확인 결과 Unity Ads Monetization 설정을 잘못해서 발생한 문제였다. (Unity Settings - Advertisement Legacy - Monetization 연동을 참고하면 된다.)
새로운 기능 구현
생명력 표시 (Healthbar)
플레이어의 생명력을 시각적으로 보여주는 생명력 표시를 구현하였다. UI에서 동작한다.
데미지(Damage)
생명력 표시와 마찬가지로 데미지를 시각적으로 보여준다. UI에서 동작한다. 데미지는 지속적으로 표시되기 때문에 오브젝트 풀링을 사용하였다. 작성자의 글 참조 ( Unity Advanced - 오브젝트 풀링)
스테이지의 구성
빠른 출시를 위해 버전 1에서는 하나의 스테이지만 구성하였다. 스테이지 씬은 버전 1에서 이미 스테이지의 난이도를 조절가능하도록 구성해 둔 상태여서 스테이지 데이터를 추가만 하면 되었다. 스테이지 데이터는 웨이브 매니저 리스트, 플레이어 시작 위치, 몬스터 소환 위치 등의 데이터를 포함한다. 웨이브 매니저는 몬스터 소환 목록을 가지고 있다. 스테이지 데이터에 플레이어 시작 위치, 몬스터 소환 위치등을 포함하는 이유는 스테이지 환경 디자인 때문이다. 스테이지 환경을 교체하지 않고 새로운 위치에 스테이지 환경을 구성하고 그 위에 몬스터와 플레이어를 소환하기 위해서이다.
버전 2는 5개의 스테이지를 구성하고 추가했다. 5개의 스테이지에 필요한 몬스터를 제작하였다.
스테이지 선택 기능 구현
메인 씬에는 스테이지를 선택할 수 있는 기능을 구현했다. 플레이어는 스테이지를 단계별로 실행할 수 있다. 1 스테이지를 완료해야 2 스테이지에 도전할 수 있도록 구성했다. 1~10 스테이지를 선택 가능하도록 하고 스테이지는 5단계까지만 가능하기 때문에 구성만 하고 막아둔 상태로 만들었다.