이번 글에서는 제가 이번에 출시를 마친 "Just Cube" 라는 게임에 대한
개발과정과 주요 기능들에 대해서 설명하는 글을 정리해 보았습니다.
단순한 아케이드 게임을 계획한 만큼 출시만을 바라보고 진행하였으나,
처음 출시해보는 만큼 제가 몰랐던 부분들과 문제점들에 의해 생각 보다 많은 시간을 사용했던 것 같습니다.
아래는 제가 출시한 게임과 관련 이미지입니다.
그럼 이제 프로젝트 관련한 내용들을 정리해 보겠습니다.
개발 목적&방법
프로젝트 개발의 목적으로는 크게 아래 3가지를 생각하고 진행하였습니다.
1. 구글 플레이 스토어에 출시
2. 모바일 게임을 플레이하는 사용자의 재미요소를 파악
3. GPGS의 기능들을 사용해보고, 최대한 많은 기능들을 추가
일단 가장 중요했던 목표로는 역시 구글 플레이 스토어 출시입니다.
게임/ 컨텐츠 개발을 목표로 공부하고 있는 개발자로써 실제 서비스를 운영하는것이 필요하다고 생각하였기 때문입니다.
그렇기에! 일단 가장 접근성이 좋은 "구글 플레이 스토어"에서
안드로이드 버전의 게임을 출시해보는것을 중점으로 진행하였습니다.
개발은 기본적으로 Unity를 사용했고,
구글 플레이 스토어에 출시하는 만큼 GPGS(Google Play Game Service)를 사용하였습니다.
게임에 대해서
이름 : Just Cube
분류 : 아케이드 게임, 미니게임
개발 인원 : 1인
개발 기간 : 2024.04 ~ 2024.06 >> 2024.07.05 출시
개발 방법 : Unity , GPGS
처음 프로젝트를 진행하였을때 계획했던 내용은 아래와 같습니다.
1. 큐브들이 컨베이어 벨트를 따라 내려오고, 그 큐브(물건)들을 처리하는 방식의 간단한 미니게임
2. 큐브들의 종류에 대해 4가지로 구성 (좌,우, 홀드, 탭)
3. 터치와 슬라이드 방식으로 게임을 진행
하지만 진행하고, 게임을 직접 플레이 해보며 많은 부분에서 수정이 있었던 것 같습니다.
가장 먼저 플레이 방식에 대해서 수정하였습니다.
Fruit Ninja게임을 생각하고, 터치와 슬라이드 방식으로 만들면 플레이가 편할것이라고 생각하고,
기능들을 구성후 게임을 플레이 해보았을때 여러 문제들이 발생했습니다.
위와 같은 게임의 경우 과일을 놓쳐도 문제가 발생하지 않지만, "Just Cube"의 경우 큐브를 놓치는 경우 Life 감소로 이어져 게임에 문제가 발생했습니다.
처음 게임의 속도가 느렸을때는 문제가 되지않지만,
점점 빨라지는 속도에 터치슬라이드로는 따라 잡을 수 없다는것을 인지하고, 버튼방식으로 변경하게되었습니다.
그리고 두번째로 큐브의 종류입니다. 터치 방식의 게임에서 버튼방식으로 변경하고 나니,
좌, 우 버튼이 하나씩 필요하고 거기다가 홀드와 탭 버튼이 따로 필요했습니다.
물론 좌, 우 버튼에 기능을 부여할 순 있었지만 플레이에 혼란을 줄 수 있다고 판단하여,
2개의 버튼으로 게임을 진행할 수 있도록 간소화 시켰습니다.
주요 개발 기능
게임적 요소
1. 큐브 미리보기 기능
가장 먼저 게임의 플레이 방식상 제일 앞서 다가오는 큐브를 제거해야하므로,
좌측 상단에 현재 큐브에 대한 정보를 나타내 주었습니다.
*처음에는 상단에 배치하였으나 가시성 이슈로 좌측 중간부분에 배치하고, 크기를 조절해 주었습니다.
2. 피버타임 기능
단조로운 게임 진행에 있어, 일정 큐브를 처리하고, 처리 버튼을 눌러 보너스 점수를 얻는 부분의 기능을 구현하였으나,
최종적으로는 일정 수의 큐브를 제거한 뒤
버튼의 연타를 통해 큐브를 제거 할 수 있도록 하는 "피버타임"기능을 개발하였습니다.
3. 일시정지, 다시하기 기능
유니티 엔진의 기능들을 이용해서 게임의 기본 기능인 일시정지, 다시하기 등의 UI를 구성하였습니다.
GPGS 요소
1. 로그인
GPGS의 기본적인 기능으로
구성 내용은 아래 블로그에 정리해두었습니다.
2. 랭킹 리더보드
랭킹 리더보드 또한 점수를 기준으로 플레이어의 랭킹을 등록 해주었습니다.
구성 내용은 아래 블로그에!
3. 데이터 저장
데이터 저장의 경우 처음에는 PlayerPrefs와 암호화 방식을 이용해서 사용자의 모바일에 직접 저장하는 방식을 사용하였으나,
GPGS를 사용한뒤 해당 서비스에서 제공하는 데이터 저장방식이 안전하다 판단하고, 변경해 주었습니다.
그 외
1. 환경설정 - 실시간 배경 변화요소
환경 설정에는 기본적으로 배경음악, 터치음, 진동 등을 설정할 수 있는 기능들을 추가해 주었고,
추가적으로 배경에 대해 밤과 낮, 그리고 현재시간에 대한 시간으로 변경할 수 있는 기능에 대해서도 추가 해주었습니다.
2. 티켓 - 시간 요소
티켓의 경우 게임을 플레이할때마다 소모되는 재화로, 코인과 광고를 통해 얻을 수 있습니다.
그리고 티켓 하나당 5분의 시간을 대기하여 자동으로 회복가능하게끔 구성해주었습니다.
플레이어의 마지막 티켓 사용시간과 마지막 접속시간등을 체크하여,
게임을 실행하고있지않을때에도 해당 티켓이 회복되도록 구성해 주었습니다.
3. 광고
구글의 ADmob을 이용하여 리워드 보상 광고를 구성해 보았습니다.
아쉬웠던 부분
처음에는 게임의 스토리까지는 아니더라도 약간의 내용이 있었으면 좋겠다고 생각하여,
산타가 선물을 배달할때, 선물들이 어떻게 배송되는지, 그 선물들의 상하차? 느낌으로 게임을 구상하고,
오브젝트들을 구성해주었습니다.
그래서 게임의 배경은 하늘로 구성해 주었고,
컨베이어 벨트처럼 오브젝트를 배치하여, 상하차 느낌을 주고 싶었습니다.
하지만 오브젝트들의 부족과 내용 전개에 대한 부분이 부족한 만큼 그러한 느낌을 주는데에는 무리가 있었습니다.
이 외에도 계획단계에 있었던 Hold,Tab 기능에 대해서 사용하지 못했던것, 조금 더 재밌는 컨텐츠 요소를 만들지 못한점
무엇보다 더 새로운 게임에 대해서 개발하지 못했던 부분이 아쉬웠습니다.
새로운 컨텐츠에 대해서 개발한다는것이 생각보다 쉽지않았으며,
그러한 컨텐츠가 과연 "재미"가 포함되어있는지 판단하는것도 1인개발자로써 쉽지않았습니다.
그래도 이번기회에 출시까지, 끝까지 달려볼 수 있어 좋은 경험이 되었던것 같습니다.
**프로젝트를 진행하며 구현했던 기능들과 문제점들에 대해서 마저 블로그에 정리를 한후,
해당 게임은 새로운 아이디어, 사용자들의 플레이 피드백을 받아가며 조금씩 업데이트를 해나갈 예정입니다. **
많은 플레이 부탁드립니다!
링크!
영상!
'공부공부 > 개발경험들! (프로젝트...)' 카테고리의 다른 글
유니티(Unity) 대학 생활 관리 & AR 컨텐츠를 포함한 ARCampus 프로젝트 (1) | 2024.03.07 |
---|---|
MMORPG 구현 포트폴리오(2인) (0) | 2023.03.10 |
유니티(Unity) AR 포트폴리오 (5) - 유아 영어 교육용 프로그램 제작 - 완성 (0) | 2022.11.29 |
유니티 VR 프로젝트 (포트폴리오?) (0) | 2022.08.28 |
1차 포트폴리오 마무리 (0) | 2022.06.20 |
댓글