개요
유니티를 통한 모바일 게임 개발 포트폴리오를 하나 만들고자 하였고
개발 프레임워크를 짜보면서 간단한 방식의 모바일 게임을 하나 만들고자 했다.
간단한 구조와 적은 리소스로 만들만한 게임 컨셉을 찾던 도중에 옛날에 모바일로 재밌게 했던
일본의 1인 게임 개발사 'Nussygame'의 'Buriedbornes'라는 게임이 떠올랐다.
단순히 선택만 하면서 캐릭터를 성장시키고 던전을 탐험해나가는 묘한 매력이 있는 로그라이크RPG 게임이었기에
이 게임의 느낌을 가볍게 갖고오면서 더 맘에 드는 기획이나 컨셉이 있으면 발전시킬 수 있는 형태를 구상했다.
기획
혼자서 개발을 하는 것이기 때문에 게임의 기획을 먼저 잡아나가야 했고
레퍼런스가 있기는 일단은 개발 프레임워크와 게임의 기틀을 우선시 했기에 단순한 기획이 필요했다.
우선적으로 생각했던 개발 기준은
1. 선택지의 개수를 줄이고 더 단순화 시킨다.
2. 선택은 '확률'을 통해 결과가 달라졌으면 좋겠다.
3. 플레이는 짧고 단순하지만 매력적인 컨셉을 부여한다.
저런 기준을 생각했을 때 가장 먼저 떠올린 1번과 2번을 충족시키는 게임은 '가위바위보'였다.
그래서 단순하게 떠올렸을 때 '공격', '방어', '회피' 세 가지의 행동을 '액션'이라고 칭하고
앞으로 나아가면서 성장하는 게임 플레이를 구상했다.
또한 '가위바위보'도 3가지 선택지 중 하나를 고르는 것인 만큼 요즘 게임들에서 많이 쓰는 '3중1택'의 성장 시스템을
구현해보는 것도 나쁘지 않겠다는 생각이 들어서 전체적인 컨셉을 잡았다.
게임의 기본적인 룰은
- 턴제 방식으로 플레이어와 적 몬스터는 1:1 전투를 해나간다.
- 플레이어는 매 턴 공격, 방어, 회피 3가지 선택지를 선택하고 적 또한 랜덤으로 3가지 중 하나의 액션을 골라 수행한다.
- 서로 공격을 선택했을 경우에는 서로 데미지를 받는다.
- 방어는 공격을 막으며 일정 %의 데미지를 받는다.
- 회피는 공격을 피하여 데미지를 받지 않지만 성공 확률이 낮다. +a 의 보너스를 제공한다.
- 상대의 체력을 전부 소진시키면 전투에서 승리한다.
로 설정했다.
그리고 성장요소와 특수 규칙을 생각한 것은
- 액션 실패 시 최대 3스택까지 쌓이는 'AP(Action Point)' 라는 보너스를 주며 AP 1당 n%의 성공확률을 제공한다.
- 밤/낮 시스템을 통해 플레이어와 적 몬스터의 '액션' 확률이 증가하거나 감소한다.
- 밤과 낮은 일정 턴수동안 유지되며 턴수가 다 지나면 서로 전환된다.
- 플레이어는 3턴마다 성장 선택지를 선택한다.
- 성장 선택지는 스탯, 장비나 소모 아이템, 스킬 정도의 요소가 존재할 것이다.
- 일단은 스탯정도로만 만들고 다른 요소들은 나중에 더 구상해보는 식으로 접근
정도가 있었다.
개발 환경 설정
엔진 : 유니티엔진6 preview ver (6000.0.16f1)
개발 언어: C#, Unity scripting api
사용 라이브러리: UniRx, Zenject, UniTask, DOTween
모든 행동이 UI 조작을 통한 이벤트 위주로 이뤄지는 만큼
UniRx를 통한 옵저버 패턴 기반 이벤트 구현 관리가 용이할 거라 봤고
UI간의 참조나 결합복잡도가 늘어날 것이기에 DI(의존성주입) 프레임워크인 Zenject를 사용하였다.
UniTask는 기존 힙 할당 기반인 코루틴보다 구조체를 통한 스택 할당 기반이라 성능적으로나
가독성으로나 비동기 구현에서 용이하다 판단했기에 채용했다.
다음 글에서는
기본적인 액션 구현과 전투 시스템 구현했던 방식에 대해서 작성하겠다.
'개발일지 > 액션던전_Unity' 카테고리의 다른 글
[개발일지] "액션던전"의 전투 시스템과 캐릭터 유닛 구현 개발기 (0) | 2024.10.18 |
---|