← 포트폴리오로 돌아가기
게임
토닥
걸음수·날씨·시간과 함께 자라는 한국 신화 신수 육성 게임. 아무도 죽지 않는 힐링 펫.
연도 2026
플랫폼 Android (모바일)
Flutter Dart Cloudflare Workers D1
오늘의 내 하루가, 신수의 하루가 됩니다. 도깨비·구미호·이무기 같은 한국 신화 속 존재를 현대적으로 재해석한 신수를, 걸음수·날씨·시간대와 함께 키우는 힐링 모바일 게임.

왜 만들었나
시작은 단순한 질문이었다 — “내 진짜 하루가 게임 속 생명에게 그대로 담긴다면?” 그리고 지키고 싶은 원칙이 하나 있었다: 아무도 죽지 않는다. 방치하면 펫이 죽는 스트레스 대신, 정성껏 돌본 만큼 어떤 신수로 자라날지가 달라지는 구조를 택했다. 다그치는 게임이 아니라 곁에 두는 게임을 만들고 싶었다.
핵심 시스템
- 현실 연동 — 오늘 걸은 만큼 신수가 자라고, 동네 날씨를 신수도 함께 느끼고, 시간대에 따라 방의 빛과 신수의 기분이 바뀐다
- 2축 진화 — 스탯 품질이 종(도깨비·구미호·이무기)을, 활동/온순 성향이 기운(불·물·복)을 정한다. 연속 돌봄·계절·날씨 같은 숨은 조건으로 특수종(해태·장승·사신 등)까지 발현되어 총 11종
- 첫 부화 게이트 — 알을 세 번 돌보면 그 자리에서 부화. 원래는 첫 변신까지 12시간이 걸려 첫 세션에 페이오프가 없었는데, 케어 3회로 바꿔서 첫 판에 “알 → 도깨비불” 변신을 보게 했다
- 스트릭 기반 습관 루프 — 무사망 원칙 때문에 “펫 죽음”이라는 고전적 리텐션 레버를 포기한 대신, 손실회피를 펫이 아니라 연속 돌봄 기록(스트릭)에 걸었다

| 시작 | 펫방 | 도감 | 진화 트리 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
기술 결정
| 영역 | 선택 | 이유 |
|---|---|---|
| 클라이언트 | Flutter + Riverpod | 단일 코드베이스, 상태를 화면 트리와 분리 |
| 서버 | Cloudflare Workers + D1 | 스탯·진화·코인·소유권을 전부 서버가 결정하는 서버 권위 구조 — 클라는 표시·낙관적 캐시만, 치트 무력화 |
| 오프라인 | Hive 로컬 큐 (write-through) | 상호작용을 즉시 로컬에 적재하고 재연결 시 서버가 정산·검증 |
| 정합성 | 조건부 단일 UPDATE + 보상 롤백 | D1엔 인터랙티브 트랜잭션이 없어서, 원자성을 이 방식으로 직접 보장 |
최근 개발일지
“초반이 비어있다” — 첫 세션의 재미를 만들다. 새 유저가 처음 만나는 게 아무것도 안 하는
알이고 첫 변신이 12시간 뒤라는 걸 깨닫고, 케어 3회 게이트로 바꿨다. 작업하다 잠복 버그도
하나 잡았다 — sync 응답에 인벤토리 필드가 빠져 백그라운드 복귀 때마다 아이템 목록이
텅 비어 보이던 문제. 깊게 파보지 않았으면 프로덕션에서 터졌을 거다.
리텐션 리서치 → 습관 루프. 무사망 원칙을 지키면서도 리텐션 레버가 필요해서, 손실회피를 펫이 아니라 스트릭에 걸었다. 힐링 철학은 지키면서 습관 루프는 얻은 셈.

설계 원칙 (동결 결정)
| 원칙 | 내용 |
|---|---|
| 정체성 | 한국 전통 신화 기반 가상 생물. 현실 동물 디자인 금지, 독자적 실루엣 |
| 힐링 | 사망·과도한 스트레스 없음. 성실히 돌보면 신수는 안전 |
| 수익 | 리워드 광고만 (무료 경제). 인앱결제 폐지 |
| 서버 권위 | 스탯·소유권·보상은 서버가 결정 |
| 센서 | 걸음수 · 시간 · 날씨 · 터치만 |
지금 상태
서버는 Cloudflare Workers + D1으로 프로덕션 라이브, 클라이언트는 v1.2.9+24 빌드 완료,
서버 단위/통합 테스트 217개 통과. Google Play 내부 테스트 단계에서 실사용자 피드백을
기다리는 중이다.




