본문 바로가기
Unity/Develop

Monster Defense 게임 개발 - 7 출시

by 노튜 2025. 9. 7.
728x90
반응형

 

Play store

https://play.google.com/store/apps/details?id=com.notyu.monsterdefense

 

Monster Defense - Google Play 앱

방어하고, 생존하고, 수집하세요

play.google.com

 

Monster Defense version 1.0 ~1.9

현재는 버전 2.0을 출시한 상태이다.

아이템 강화 시스템

아이템을 강화하는 기능을 구현하였다. 몬스터 디펜스에서 아이템은 등급을 가지며, 추가 능력치가 일정하지 않기 때문에 아이템은 파괴되지 않도록 설정하였다. 또한, 아이템을 파괴되지 않도록 설정하는 대신 아이템의 강화 확률을 낮추어서 쉽게 강화가 되지 않도록 설정하였다.  

Monster Defense Item Enhancement System

리셋 시스템

모든 습득한 경험치, 능력치 및 아이템을 처음으로 되돌리는 리셋 시스템을 구현하였다. 이 기능을 사용할 사용자가 있을지는 모르지만 일단 구현해 보았다. 처음 구현에서는 Entry Scene을 조정하려고 하였는데, Don't Destroy On Load를 사용하는 오브젝트들과 충돌이 발생하는 문제가 있었다. 그래서  Entry Scene과 유사한 Reset Scene을 제작하여, 마치 처음으로 되돌아간 느낌을 주도록 하였다.

 

세이브 로드 시스템

세이브 로드 시스템은 데이터를 저장하기 위한 시스템이다. 사용자의 레벨, 아이템, 스테이지 진척도 등을 저장한다. 서버를 두지 않았기 때문에, JSON(JavaScript Object Notation)형식으로 데이터를 변환 및 바이너리로 변경하여 로컬에 데이터를 저장한다. 로컬에 데이터를 저장하는 것은, 보안상의 문제를 안고 있다. 하지만 다른 사용자와 연결되어 게임을 즐기는 방식이 아니기 때문에 문제가 되지 않을 것으로 판단하였다. 로컬 저장은 게임을 삭제하였을 때 모든 저장된 데이터가 삭제된다는 단점을 안고 있다.

 Entry Scene에서 미리 로드되어 각각의 씬에서 필요한 데이터에 접근하여 사용하도록 하였다. 기능은 매우 단순하다. 저장, 불러오기, 초기화, 수정의 4개의 기능으로 구성된다. 세이브 로드 시스템은 유니티의 MonoBehaviour를 상속받아 구현되지 않는다. 유니티의 게임오브젝트로 존재하지 않고, GameManager에서 생성하여 GameManager를 통해 접근하도록 구성된 클래스이다. 

 

새 아이템 습득 알림 기능

스테이지에서 새로운 아이템을 습득하면, Lobby Scene에서 새로 습득한 아이템을 사용자에게 표시하는 기능을 구현했다. Stage Scene에서 새로 습득한 아이템을 저장하고, Lobby Scene에서 인벤토리로 옮기도록 기능을 구성했다. Stage Scene에서 Lobby Scene으로 이동하는 과정에서 게임이 정지되거나 튕겼을 경우에 대비하여, 세이브 로드 시스템에 새로 습득한 아이템을 저장하도록 하였다. 새 알림은 New 이미지를 사용해 보여주도록 하였다. 

 

 버프 선택 시스템

스테이지에서 몬스터를 처치하면 능력치를 일시적으로 상승시켜주는 시스템을 구현하였다. 버프 시스템은 순간적으로 능력치를 상승시켜 몰려드는 몬스터를 빠르게 처치할 수 있도록 도움을 주는 시스템이다. 몬스터 처치 카운트가 일정 수치에 도달하면 버프 선택창이 나타나도록 기능을 구현하였다. 버프의 지속시간은 랜덤이며, 버프는 일정수치 만큼일정수치만큼 증가를 시켜주는 버프, 일정수치만큼 하락시키는 버프로 구성하였다. 순간적으로 버프의 정보를 읽고 습득하도록 3초 동안만 버프 선택창은 존재한다. 3초가 지난 이후에는 버프창은 사라진다. 이를 이용하면 능력치를 하락시키는 버프들만 선택창에 존재할 경우 선택하지 않는 선택지도 존재한다.

 

Monster Defense Temporary Buff Select System

 

구글 플레이 콘솔의 제안

대형 화면 기기를 지원하려면 게임에서 크기 조절 및 방향 제한 삭제

 

Monster Defense는 2960 x 1440 Portrait 모드를 기준으로 제작되었다. 그러나 유니티의 앵커 프리셋을 사용하여 2960 x 1440 Landscape 모드에서도 문제없이 동작하도록 구성하였다. Player Settings의 Orientation 설정을 아래의 이미지와 같이 적용하였다.

Auto Rotation

 

2960 x 1440 Portrait에 맞게 글자 크기를 설정하였기 때문에, 스마트폰의 2960 x 1440 Landscape 모드에서는 글자의 크기가 작아지는 문제가 발생한다. 

Monster Defense 2960 x 1440 Landscape

 

Monster Defense 2960 x 1440 Portrait

 

스마트폰 이외에 다른 디바이스에서도 버튼이 보이지 않는 다거나 하는 문제는 발생하지 않을 것으로 예측되나, 디바이스가 없어서 확인하지는 않았다. 유니티의 디스플레이 모드를 변경하여 실험하였을 때에는 정상적으로 UI가 노출되는 것을 확인하였다.  

728x90
반응형