본문으로 건너뛰기
← 포트폴리오로 돌아가기
게임

토닥

걸음수·날씨·시간과 함께 자라는 한국 신화 신수 육성 게임. 아무도 죽지 않는 힐링 펫.

연도 2026
플랫폼 Android (모바일)
Flutter Dart Cloudflare Workers D1

오늘의 내 하루가, 신수의 하루가 됩니다. 도깨비·구미호·이무기 같은 한국 신화 속 존재를 현대적으로 재해석한 신수를, 걸음수·날씨·시간대와 함께 키우는 힐링 모바일 게임.

토닥

왜 만들었나

시작은 단순한 질문이었다 — “내 진짜 하루가 게임 속 생명에게 그대로 담긴다면?” 그리고 지키고 싶은 원칙이 하나 있었다: 아무도 죽지 않는다. 방치하면 펫이 죽는 스트레스 대신, 정성껏 돌본 만큼 어떤 신수로 자라날지가 달라지는 구조를 택했다. 다그치는 게임이 아니라 곁에 두는 게임을 만들고 싶었다.

핵심 시스템

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

진화 라인: 알 → 도깨비불 → 아기신수 → 성체 신수 11종

시작펫방도감진화 트리
시작펫방도감진화

기술 결정

영역선택이유
클라이언트Flutter + Riverpod단일 코드베이스, 상태를 화면 트리와 분리
서버Cloudflare Workers + D1스탯·진화·코인·소유권을 전부 서버가 결정하는 서버 권위 구조 — 클라는 표시·낙관적 캐시만, 치트 무력화
오프라인Hive 로컬 큐 (write-through)상호작용을 즉시 로컬에 적재하고 재연결 시 서버가 정산·검증
정합성조건부 단일 UPDATE + 보상 롤백D1엔 인터랙티브 트랜잭션이 없어서, 원자성을 이 방식으로 직접 보장

최근 개발일지

“초반이 비어있다” — 첫 세션의 재미를 만들다. 새 유저가 처음 만나는 게 아무것도 안 하는 알이고 첫 변신이 12시간 뒤라는 걸 깨닫고, 케어 3회 게이트로 바꿨다. 작업하다 잠복 버그도 하나 잡았다 — sync 응답에 인벤토리 필드가 빠져 백그라운드 복귀 때마다 아이템 목록이 텅 비어 보이던 문제. 깊게 파보지 않았으면 프로덕션에서 터졌을 거다.

리텐션 리서치 → 습관 루프. 무사망 원칙을 지키면서도 리텐션 레버가 필요해서, 손실회피를 펫이 아니라 스트릭에 걸었다. 힐링 철학은 지키면서 습관 루프는 얻은 셈.

성장

설계 원칙 (동결 결정)

원칙내용
정체성한국 전통 신화 기반 가상 생물. 현실 동물 디자인 금지, 독자적 실루엣
힐링사망·과도한 스트레스 없음. 성실히 돌보면 신수는 안전
수익리워드 광고만 (무료 경제). 인앱결제 폐지
서버 권위스탯·소유권·보상은 서버가 결정
센서걸음수 · 시간 · 날씨 · 터치만

지금 상태

서버는 Cloudflare Workers + D1으로 프로덕션 라이브, 클라이언트는 v1.2.9+24 빌드 완료, 서버 단위/통합 테스트 217개 통과. Google Play 내부 테스트 단계에서 실사용자 피드백을 기다리는 중이다.

진화