프로젝트

Prism Defense (프리즘 디펜스)

뽑고 합쳐서 판을 뒤집는 랜덤 머지 타워 디펜스 게임입니다. Flutter 코드베이스 하나로 App Store, Google Play, 토스 앱인토스 미니앱에 출시해 운영하고 있습니다.

한눈에 보기

항목 내용
기간 2026.07 – 현재 · 1인 개발
출시 채널 App Store (iOS, 2026년 8월 출시) · Google Play (Android, 비공개 테스트를 거쳐 프로덕션 출시) · 토스 앱인토스 게임 미니앱 (2026-09-22 출시)
Google Play 최근 28일 (8/30 ~ 9/26, 휴대기기): 기기 노출 3.1천 · 기기 획득 22 · 월간 활성 기기 25 · 등록정보 전환율 23.15%
App Store 분석 개요 (9월 26일까지): 노출 822 · 제품 페이지 조회 77 · 최초 다운로드 13 · 재다운로드 5
링크 App Store · Google Play
기술 스택 Flutter / Dart, 게임 엔진과 비트맵 에셋 없이 CustomPaint 하나로 렌더링 · 앱인토스용 Flutter 웹 빌드와 TypeScript 브리지 · Firebase Analytics·Crashlytics · RevenueCat · 한국어/영어
구조 게임 규칙 전체를 Flutter에 의존하지 않는 결정적(deterministic) 시뮬레이션으로 분리했습니다. 같은 시드면 같은 결과가 나오므로 모든 플레이어가 같은 판을 받는 데일리 챌린지가 성립하고, 위젯 없이 로직 대부분을 테스트할 수 있습니다.
품질 관리 테스트 커버리지 95% (CI 하한 90%) · 스크립트 봇 7종이 각각 시드 100개를 자동 플레이하는 밸런스 하네스 · 커밋 750개, 머지된 PR 113개 (2026-09-28 기준)
수익 모델 보상형 광고(부활, 보상 2배)와 빈도 제한 전면 광고 · 평생 이용권 Premium (RevenueCat) · 능력치를 파는 pay-to-win은 배제

앱인토스 출시 후 첫 6일

2026-09-22 ~ 27, 앱인토스 콘솔 대시보드 기준입니다.

지표 값
신규 사용자 78명
일간 활성 사용자 6 ~ 20명
신규 유입 중 토스 '전체' 탭 비율 약 88% (71/81)
다음 날 재방문 (D1) 4 / 61명

프로젝트 이야기

프로젝트를 어떻게 시작하게 되었나요?

랜덤 다이스 계열의 랜덤 머지 디펜스 장르는 국내 시장에서 수요와 장기 리텐션이 이미 검증되어 있고, 서버나 지속적인 콘텐츠 업데이트 없이도 반복 플레이가 성립한다는 점에 주목해 시작했습니다.

2026년 7월 18일에 첫 커밋을 만들었고, 당시 Claude Fable이 처음 선보였을 때라, 5시간 동안 자율 작업을 맡겨 첫 플레이 가능 버전을 만들게 한 뒤, 설계 검토·밸런스 검증·실기기 테스트는 제가 직접 맡는 방식으로 진행했습니다. 별도의 에셋 없이 Flutter의 CustomPaint 하나로 화면을 그리는 구조를 택해, iOS·Android·웹을 코드베이스 하나로 운영하고 있습니다.

첫 버전 이후에는 스토어 출시, 비공개 테스트 피드백 반영, 광고와 인앱결제, 토스 앱인토스 이식까지 실제 사용자에게 닿는 작업을 차례로 이어 왔습니다.

진행하며 만난 가장 큰 문제는 무엇이었으며, 어떻게 해결했나요?

가장 큰 문제는 Flutter 웹 빌드를 토스 앱인토스 미니앱으로 이식했을 때 실기기의 토스 앱 안에서 소리가 전혀 나지 않은 것이었습니다. WebView 설정을 추측으로 바꿔 보는 대신, 토스 WebView 안에서 실행되는 진단 페이지 두 개를 만들어 동작을 측정했습니다.

측정해 보니 재생 API는 성공했다고 응답하는데도, 첫 재생이 사용자 터치 안에서 시작되기 전까지는 아무 소리도 나지 않았습니다. 그래서 첫 터치 때 짧은 효과음을 한 번 재생해 오디오 출력을 깨우도록 고쳤습니다. 그러자 배경음은 나왔지만 효과음은 여전히 들리지 않았습니다.

원인은 효과음 플레이어 28개가 각각 별도의 오디오 요소와 AudioContext를 쓰는 구조였습니다. 효과음을 미리 디코딩한 버퍼로 바꾸고 AudioContext 하나를 공유해 재생하도록 다시 구현해서, 29개였던 컨텍스트를 1개로 줄였습니다. 이후 실기기에서 배경음과 효과음이 모두 나고, 체감되던 버벅임도 줄어든 것을 확인했습니다. 플랫폼을 늘리기 위해 시작한 작업이 웹 빌드의 버벅임까지 함께 줄인 사례였습니다.

초기 사용자는 어떻게 모았나요?

친구들의 도움이 컸습니다. 이전에 다른 앱을 내놓을 때와 다르게, 친구들이 초기 프로토타입 때부터 재미있다며 서로 플레이해 보려고 했고, 나름 인플루언서인 친구들이 자신의 SNS에 홍보도 해줬습니다.

그리고 토스의 앱인토스 출시가 꽤 유입에 도움이 됐습니다. 출시 후 6일간 아무 홍보 없이 신규 사용자 78명이 들어왔습니다.

그래도 아직 한참 부족하다 생각해서, 사용자가 더 모이면 재방문율을 높일 수 있는 리더보드를 붙이고, 앱 광고도 한번 올려볼까 생각 중입니다.