Skip to content

Sundrago/DynamicGames

Repository files navigation

DYNAMIC GAMES





개요

  • 개발기간: 2023.09 ~
  • 개발 환경 : Unity 2021.3 LTS
  • 플랫폼: iOS
  • 장르: 캐주얼 / 아케이드
  • 개발 인원: 1명 (개인 프로젝트)

성과

  • 누적 다운로드: 10k+ (iOS)
  • D1 리텐션: 35%+ (iOS)

한줄소개

  • 다이나믹 아일랜드를 활용한 미니게임 천국

개발배경

  • 아이폰 15부터 모든 기종에 다이나믹 아일랜드가 적용될 것이란 소식을 듣고 본격적으로 개발�을 시작했습니다. 신규 아이폰 사용자들이 '다이나믹 아일랜드'를 앱스토어에서 검색할 것을 예상하여, 게임의 이름을 ‘다이나믹 게임즈’로 지었고, 오거닉유저 유입을 위해 ASO를 최적화를 위해 상당한 시간을 들였습니다.
  • 현재 캐주얼 게임앱을 기준으로 CVR 상위 25%를 유지하고 있으며, 아이폰15 출시 이후로 다운로드 수가 꾸준히 상승하고 있습니다. 유저의 반응을 보며 꾸준히 업데이트 하고 있습니다.



게임 플레이

메인화면

메인 화면에서 네 가지 미니게임 중 선택하여 플레이할 수 있습니다. 플레이 시간대에 맞춰 배경화면의 하늘이 변화하고, 모든 버튼들이 동적으로 구성되어 있어 사용자가 자유롭게 옮기거나 탑을 쌓을 수 있습니다. 또한 획득한 펫이 버튼 위로 자유롭게 뛰어다니며, 사용자가 펫을 드래그하여 게임 블록 위에 놓으면 해당 펫으로 게임을 플레이할 수 있습니다.


랭킹 시스템

애플 게임센터와 연동하여 플레이어 순위를 불러옵니다. 각 미니게임별로 순위에 따른 티어를 확인할 수 있습니다. 티어는 브론즈, 실버, 골드, 다이아몬드의 4단계로 구분되며, 각 단계마다 3단계씩 총 12단계로 구성되어 있습니다.





미니게임 4종

[미니게임 1 : Shoot the Island]

2D 탑다운 슈팅 장르의 미니게임으로, 화면 상단의 다이나믹한 아일랜드를 공격하여 최고 점수를 달성하는 것이 목표입니다. 전략적인 아이템 활용을 통해 공격력 및 방어력을 강화할 수 있으며, 점점 높아지는 난이도로 인해 공격 패턴이 점차 복잡해지도록 구성되어 있습니다.
AI 디자인에서는 5가지 공격 패턴을 통해 전략적인 플레이를 유도하며, 플레이어의 스코어에 비례하여 난이도가 증가하도록 설계했습니다. 최적화 측면에서는 오브젝트 풀링을 통해 자주 사용되는 오브젝트를 효율적으로 관리하여 성능을 향상시켰고, 수동 움직임 및 충돌 체크를 통해 불필요한 연산을 최소화하여 매끄러운 게임 플레이를 제공합니다.


[미니게임 2 : Jump to the Island]

2.5D 종스크롤 플랫포머 장르의 미니게임으로, 아일랜드 계단을 최대한 높이 올라 최고 점수를 달성하는 것이 목표입니다. 계단이 지속적으로 아래로 스크롤되며, 플레이어는 계단을 올라가야 합니다. 점점 높아지는 난이도로 인해 지형이 복잡해지고 속도가 빨라지도록 설정되어 있습니다.
레벨 디자인에서는 사전 디자인된 패턴을 3가지로 분류하고 배열에 저장하며, 매 플레이마다 랜덤하게 패턴을 불러오되 플레이어 스코어가 올라갈수록 어려운 패턴의 노출 빈도를 높이고 있습니다. 물리 구현에서는 RigidBody와 3D Collider를 사용하여 움직임과 충돌을 처리하고 있습니다.


[미니게임 3 : Land on the Island]

2D 시뮬레이션 장르의 미니게임으로, 목표는 아일랜드에 우주선을 무사히 착륙시켜 스테이지를 클리어하는 것입니다. 사전 제작된 20개의 스테이지로 구성되어 있으며, 가속도를 비롯한 2D 물리 기반의 움직임과 충돌 처리를 포함하고 있습니다. 물리 구현에서는 RigidBody 2D와 Collider 2D를 사용하여 2D 물리 엔진 기반의 사실적인 움직임과 충돌 처리를 구현했으며, 2DFX에서는 Particle Image를 활용하여 2D 이펙트를 제작했습니다.


[미니게임 4 : Build on the Island]

2D 아케이드 장르의 미니게임으로, 다이나믹한 아일랜드 위에 최대한 많은 블록을 쌓아 높은 스코어를 획득하는 것입니다. 플레이어는 반복해서 좌우로 움직이는 블록을 타이밍에 맞춰 아일랜드 위에 쌓게 되며, 5개 이상의 블록을 한 번에 떨어뜨리면 게임 오버가 됩니다. 스코어는 직전까지 가장 많이 쌓았던 기록으로 기록되며, 귀여운 펫이 블록 위를 자유롭게 움직이면서 게임에 재미를 더하도록 했습니다.
물리 구현에서는 RigidBody 2D와 Collider 2D를 사용하여 2D 물리 엔진 기반의 움직임과 충돌 처리를 구현하였으며, 펫 움직임의 경우 AI 경로 설정 및 애니메이션을 통해 블록 위를 자유롭게 움직일 수 있도록 하였습니다.





주요 기능 소개

게임 리워드 - 티켓

게임을 마치면 점수에 따라서 티켓을 리워드로 받습니다. 티켓으로는 가챠를 통해 펫을 뽑거나, 잠겨있는 새로운 게임을 언락할 수 있습니다. 얻게 되는 티켓의 개수는 플레이어 개인 최고 점수에 비례한 상대 점수, 전체 유저에 대한 상대 점수 두 가지 모두를 고려하여 계산됩니다. 추가로 신규 유저의 경우 가산점수를 주도록 설정하여, 게임을 오래 플레이 할 수록 티켓을 더 얻기 어렵도록 설정했습니다.


가챠 시스템

플레이 리워드로 얻은 티켓으로 갓챠(펫 뽑기)에 도전할 수 있습니다. 펫 각각의 고유 스킬(예: 아이템 확률 +5%)이 있고, 특정 펫으로 게임을 플레이할 수 있도록 업데이트를 준비하고 있습니다.


메인화면의 펫

메인 화면에서 펫은 주변 아이콘들의 위치를 실시간으로 인지하며 자유롭게 이동합니다. 게임 플레이를 통해 획득한 간식(과일)을 펫에게 제공함으로써, 펫의 경험치를 쌓고 스킬을 강화할 수 있게 구현했습니다.

실시간 펫 움직임 제어

펫의 실시간 움직임 제어를 위해 전용 스크립트를 작성했습니다. 블록 기반 환경에서 펫의 자유로운 이동, 행동 제어, 충돌 처리 기능을 구현했습니다. 주변 블록 위치 정보를 실시간으로 파악하여 펫의 이동 경로 및 행동 결정에 활용했습니다. 이동 가능한 블록을 실시간으로 탐색하고, 상황에 맞는 걷기, 뛰기, 점프 등의 행동을 선택할 수 있도록 로직을 구현했습니다. 또한 블록과의 충돌을 감지하고 처리하여, 가까운 블록으로 점프하여 이동할 수 있게 하였습니다.


펫 애니메이션

펫은 걷기, 뛰기, 앉기, 쉬기, 그루밍 등 다양한 액션을 취합니다. 어떠한 스프라이트 애니메이션 시트를 넣어도 게임 안에서 사용할 수 있도록 공통 적용 가능한 애니메이션 스크립트를 작성했습니다. 펫의 다양한 애니메이션을 관리하는 이 스크립트는 유연한 애니메이션 적용, 효율적인 액션 관리, 자동화 도구를 통해 효율성을 높였습니다.

펫 애니메이션 관리 시스템

애니메이션 적용의 유연성을 위해 어떤 스프라이트 시트라도 쉽게 적용할 수 있으며, 다양한 펫 행동을 표현할 수 있습니다. 액션 관리의 효율성을 위해 고유 ID로 관리하며, 인스펙터에서 펫 추가 및 펫의 성향 조절이 가능합니다.


보상형 전면 광고 및 ironSource 미디에이션

광고 노출의 유연성을 위해 다양한 상황에 맞춰 광고를 노출할 수 있도록 설계했습니다. 광고 시청 보상 처리 부분에서는 델리게이트를 통해 보상 수령 및 취소를 간편하게 제어할 수 있도록 하였으며, 보상 지급 및 관리 효율화를 구현했습니다. 네트워크 미디에이션에서는 Google Admob, Meta Audience Network, ironSource 등의 네트워크를 지원하여 광고 수익 증대와 광고 매칭률 최적화를 이루었습니다.


구글 시트 연동, 펫 대사 시스템

상황별 펫 대화 관리를 위해 구글 시트와의 연동을 구현하였습니다. Google Apps Script를 이용하여 시트 데이터를 JSON 형식으로 변환하고, 해당 데이터를 유니티 에디터에서 역직렬화(Deserialize) 가능한 형식으로 변환하였습니다. 이를 통해 유니티 에디터에서 편리한 데이터 편집 및 관리가 가능해졌으며, 상황에 맞는 펫 대사를 표시하는 펫 대사 시스템을 구현하여 다양한 대사 조합으로 자연스러운 펫 상호작용을 구현하였습니다.


GPT4.0 을 활용한 11개 국어 로컬라이징 자동화

게임 개발 과정에서 11개 국어 로컬라이징 작업을 자동화하는 도구를 개발했습니다. 구글 시트 Apps Script와 GPT-4.0 API를 활용하여 문자열을 11개 국어로 번역하고 구글 시트에 자동 입력하도록 구현했습니다. 지원 언어로는 한국어, 영어, 일본어, 중국어, 프랑스어, 독일어, 스페인어, 포르투갈어, 이탈리아어, 러시아어, 아랍어 등 11개 국어를 포함하고 있습니다. 번역 결과를 구글 시트에 자동으로 입력할 수 있도록 하여, 로컬라이징 작업의 효율성을 크게 높였습니다.


태그 기반 음악/효과음 관리

게임에 사용되는 효과음과 배경음악을 태그 기반 시스템으로 쉽게 관리하고 호출할 수 있는 오디오 매니저 스크립트를 작성했습니다. 태그 기반 오디오 관리 기능을 통해 각 효과음과 배경음악에 고유한 ID와 태그를 지정하여, 어디서든 쉽게 오디오를 호출할 수 있도록 하였습니다. 또한 Unity3D 인스펙터에서 효과음 리스트와 설정을 편집하고 볼륨을 조절할 수 있도록 하였으며, 유저별 효과음 및 배경음악 볼륨 설정을 저장하고 적용할 수 있게 하였습니다.


Firebase Analytics 연동

Firebase Analytics를 활용하여 각 미니게임의 다양한 데이터를 수집하고 분석하고 있습니다. 스코어, 플레이 시간, 광고 시청 유형, 튜토리얼 진행도 등의 데이터를 수집하여 사용자 행동 및 게임 플레이 패턴을 분석할 수 있습니다. 수집된 데이터를 분석하여 게임 난이도 조절, 사용자 참여도 향상 방안 도출 등 데이터 기반 의사 결정을 통해 게임 개선의 효율성을 높일 것으로 기대합니다. 이를 통해 게임 플레이 경험 향상과 지속적인 게임 개선에 활용하고 있습니다.


Google Ads 광고 집행

게임의 주요 타겟 층인 영어권 유저 중 다이나믹 아일랜드 기능이 있는 아이폰 14/15 사용자들을 대상으로 Google Ads 디스플레이 광고를 진행하고 있습니다. 이를 통해 광고 노출 효율성과 타겟 도달률을 극대화하고 있습니다. 광고 소재 최적화를 위해 사용자의 관심을 끌 수 있는 소재 (고양이 노출) 를 제작하여 높은 클릭률 (CTR 10%)과 낮은 CPC (약 5원)을 기록하고 있습니다. 이를 통해 게임 유저 확보와 광고 수익 증대에 기여하고 있습니다.


CVR 상승 추이

게임 기획 단계부터 가장 기대했던 것은 자연스러운 오거닉 유저의 유입이었습니다. 실제로 아이폰 15 출시 이후 게임의 다운로드 수가 꾸준히 증가하고 있으며, CVR (Conversion Rate)도 크게 상승하여 10월 23일 기준 8.47%를 달성하였습니다. 특히 App Referrer 비중이 전체 Acquisition의 5%나 차지한다는 것은 유저 간 바이럴이 이루어지고 있다는 긍정적인 지표로 볼 수 있습니다. 별도의 광고 캠페인 없이도 오거닉 유저의 지속적인 유입이 이뤄질 것으로 기대하고 있습니다.


KPI 분석 및 향후 업데이트 계획

전반적으로 게임의 KPI 성과가 만족스러운 것으로 나타나고 있습니다. CVR이 상위 25%를 지속하고, D1 리텐션 역시 기대 이상의 결과를 보여줍니다. 다만 D7 리텐션이 D1 대비 다소 낮은데, 이는 미니게임 장르의 특성상 어느 정도 예상된 것입니다. 이를 개선하기 위해 새 미니게임 추가와 펫 활용 콘텐츠로 반복 플레이 피로를 해소할 업데이트를 준비 중입니다. 전반적인 KPI 분석을 토대로, 지속적 업데이트와 개선을 통해 사용자 경험을 향상시키고 장기 성장을 이루어낼 것으로 기대합니다.


About

Mini games on dynamic island! A mobile game designed in Unity3D

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published