게임 설계서 v1: 경제·건물 로드맵·체력/행복도·상점·마을 확장·기술 설계

확정 사항: 낮/밤 없음(항상 낮, 체력·행복도로 페이스 조절), 장기 구조는
마을 확장만(은퇴 없음), DB 세이브 동기화(Phase D), 프레스티지 폐기.
구현 로드맵 Phase A~E 정의.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
이 커밋은 다음에 포함됨:
kjs
2026-08-13 14:15:04 +09:00
co-authored by Claude Fable 5
부모 6334e578d3
커밋 b2f5199bc8
+219
파일 보기
@@ -0,0 +1,219 @@
# 고양이 마을 — 게임 설계서 v1
> 초안(방치형 경영 게임 설계)을 현재 구현 상태에 맞춰 구체화한 문서.
> 원칙: **개체 애착 / 슬롯 압박 / 병목은 항상 하나 / 자동화는 보상 / 초기화 없음**
---
## 0. 현재 구현 상태 (2026-08-13)
| 영역 | 상태 |
|---|---|
| 자원 | 생선·목재 ✅ / 돌·약초·털뭉치 ⬜ |
| 건물 | 부두·벌목장·부엌·회관(Lv2) ✅ / 채석장·약초밭·창고 등 ⬜ |
| 고양이 | 8품종 스프라이트(6포즈)·적성·근면/체력/식욕·경험치/레벨 ✅ |
| 식사 | 물고기 구이, 포만도, 자동 식사, 배고픔 페널티 ✅ |
| 패시브 | 속도·식사량 계열 실효과 ✅ / 체력·행복도 계열 ⬜ (효과 대기) |
| 입양 | 후보 3마리 모달 (무료) ✅ / 비용·재추첨 ⬜ |
| 시간 | 낮/밤 ⬜ / 행복도 ⬜ / 냥코인·상점 ⬜ |
| 저장 | localStorage(version 1) ✅ / 오프라인 보상·서버 저장 ⬜ |
---
## 1. 핵심 루프
```
[초반 5분] 고양이 배치 → 자원 회수 → 부엌 건설 → 식사 안정화
[초중반] 회관 증축 ← 자원+고양이 레벨 게이트 → 슬롯·건물 해금
[중반] 특산품 생산 → 판매(냥코인) → 입양·편의시설 → "먹일까 팔까" 선택
[중후반] 야간 라인 구성, 행복도 관리, 좋은 개체 뽑기(입양 비용↑)
[장기] 마을 확장 / 원로 시스템 (초기화 없는 목표, §8)
```
체크인 리듬(방치형): **3~5분마다 회수 → 운반 수레(회관 Lv5) 해금 시 자동화**.
---
## 2. 재화·경제
### 2.1 자원 흐름 (병목 설계)
```
생선 ──┬─→ 부엌: 구이(2)/훈제(3) → 식사 (개체 수에 비례해 소모 증가)
└─→ [상점] 판매 → 냥코인 ← "먹일까 팔까"
목재 ──┬─→ 건물 건설·증축
└─→ 목공소: 목재4 → 목판1 → 상위 건물 ← 중반 병목
돌 ───→ 회관 Lv3+·중급 건물 ← 채석장 (다음 구현)
약초 ───→ 회복·행복도 아이템, 요리 재료 ← 약초밭
털뭉치 ─→ 방직소: 2 → 실타래1 → 가구·판매 ← 후반 병목
```
- 병목 이동 계획: 초반 **생선(식사)** → 중반 **목재/목판(건설)** → 중후반 **냥코인(입양·편의)** → 후반 **실타래·행복도**
- 판매가(기준): 생선 1 = 1냥코인, 구이 = 4, 훈제 = 10, 실타래 = 25 (특산품일수록 마진↑ → 가공 유도)
### 2.2 특수 재화
| 재화 | 획득 | 용도 |
|---|---|---|
| 냥코인 | 특산품 판매, 복덩이 패시브 | 입양 비용, 재추첨, 상점 아이템, 패시브 교체 |
| 인연 증표 | 업적·특별 이벤트 | 특별 고양이, 마을 확장(§8), 슬롯 확장 |
- 골골 포인트(프레스티지)는 **폐기** — 초기화 없음 원칙에 따라 §8의 장기 구조로 대체.
---
## 3. 건물 로드맵
### 3.1 확정 수치 (구현 완료)
| 건물 | 슬롯 | 기능 | 비용 |
|---|---|---|---|
| 부두 | 3 | 생선 (낚시 적성) | 시작 제공 |
| 벌목장 | 3 | 목재 (벌목) | 시작 제공 |
| 부엌 | 2 | 요리 (요리) · 선반 10 | 목재 60 |
### 3.2 다음 구현 (Phase A~C 순)
| 건물 | 슬롯 | 기능 | 건설 비용(안) | 해금 |
|---|---|---|---|---|
| 채석장 | 3 | 돌 (채굴) | 목재 120 | 회관 Lv2 |
| 약초밭 | 2 | 약초 (채집) | 목재 80, 돌 40 | 회관 Lv3 |
| 고양이 집 | - | 행복도 하락 방지 (수용 4/채) | 목재 100, 돌 20 | 회관 Lv3 |
| 상점 | 1 | 특산품 판매 → 냥코인 (자동 판매 큐) | 목재 150, 돌 80 | 회관 Lv3 |
| 목공소 | 2 | 목재4→목판1 (제작) | 목재 200, 돌 100 | 회관 Lv4 |
| 햇볕 데크 | - | 행복도 자연 회복 +50% | 목재 120, 약초 30 | 회관 Lv4 |
| 빗질터 | 2 | 털뭉치 (손질) | 목재 150, 목판 10 | 회관 Lv4 |
| 방직소 | 2 | 털뭉치2→실타래1 (제작) | 목판 30, 돌 150 | 회관 Lv5 |
| 훈련소 | 2 | 경험치 획득 2배 (배치만으로 성장) | 목판 20, 돌 100 | 회관 Lv4 |
| 온천 | - | 행복도 즉시 회복(쿨타임), 야간 페널티 완화 | 목판 40, 실타래 20 | 회관 Lv5 |
| 운반 수레 | - | **자원 자동 회수** (클릭 제거 — 자동화 보상) | 목판 60, 실타래 30 | 회관 Lv5 |
| 창고 | - | 자원 보관 상한 (미구현 상한 도입 시) | 보류 | 보류 |
- 부엌 증축: Lv2 = 목재 150, 돌 60 → **훈제 생선 해금**(회관 Lv3 필요), 선반 15.
- 건물 레벨업(부두 등): Lv2 = 슬롯 +1, 산출 +25% (비용: 기본 건설비 × 2).
---
## 4. 고양이
### 4.1 능력치 (확정)
- **근면 50~150**: 작업 속도 배율 (구현됨)
- **체력 50~150**: 연속 작업 게이지. 소진 → 강제 휴식(고양이 집으로 이동, 5분). 튼튼함 패시브 연결 (Phase B)
- **식욕 1~5**: 포만도 감소 속도 (구현됨)
- 적성 비선형 테이블 [1, 2.2, 4.8, 10, 21, 45] × BASE_RATE 0.2 (구현됨)
### 4.2 성장 (확정 + 조정)
- 배치 중 경험치 1/초, 필요치 = 레벨 × 60 → **레벨 × 90으로 상향** (Phase A에서 조정, 훈련소 가치 확보)
- 레벨업: 근면 +1~3 (구현됨) + **3레벨마다 적성 포인트 1 지급, 플레이어가 원하는 적성에 투자** (상한: 품종 캡)
- 이름: 랜덤 부여 + **언제든 변경 가능** (카드에서 연필 아이콘)
### 4.3 패시브 로드맵
| 단계 | 패시브 | 효과 연결 |
|---|---|---|
| 구현됨 | 부지런함/게으름뱅이/일중독/소식가/대식가 | 속도·식사량 |
| Phase B | 튼튼함, 낮잠꾸러기 | 체력 게이지 |
| Phase B | 낙천적, 까다로움, 인기쟁이 | 행복도 |
| 폐기 | ~~야행성, 겁쟁이~~ | 낮/밤 없음으로 제외. 스핑크스 특성은 "잠이 없음(휴식 50% 단축)" |
| Phase C | 복덩이, 손끝 야무짐, 장인 기질, 미식가, 외골수 | 냥코인·가공·식사 |
| Phase C | 패시브 교체권 (상점, 냥코인 500) | 후반 개체 커스텀 |
---
## 5. 마을 회관 게이트 (조정판)
| Lv | 수용 | 자원 | 건물 조건 | 고양이 조건 | 기타 |
|---|---|---|---|---|---|
| 1 | 3 | — | — | — | ✅ |
| 2 | 5 | 목재100 생선80 | — | Lv3↑ 1마리 | ✅ |
| 3 | 8 | 목재250 돌150 | 채석장, 부엌Lv2 | Lv5↑ 2마리 | 평균 행복도 60↑* |
| 4 | 12 | 돌400 목판40 | 목공소, 고양이집 | Lv8↑ 3마리 | 평균 행복도 70↑ |
| 5 | 16 | 목판120 실타래60 | 방직소, 상점 | Lv12↑ 4마리 | 품종 4종↑ |
| 6 | 20 | 실타래300 냥코인5000 | 훈련소, 온천 | Lv15↑ 5마리 | 평균 행복도 80↑ |
\* 행복도 조건은 행복도 시스템(Phase B) 이후부터 적용.
---
## 6. 시간·체력·행복도 (Phase B)
### 6.1 시간 — 낮/밤 없음 (확정)
- **날짜·밤 개념 없이 항상 낮.** 시간 압박 대신 체력·행복도가 페이스를 만든다.
- 잠자는 포즈는 **체력 소진 휴식**에 사용.
- 야행성·겁쟁이 패시브는 폐기. 스핑크스 고정 특성은 "**잠이 없음** — 휴식 시간 50% 단축"으로 교체.
- 오프라인 진행: `Date.now()` 차이로 최대 8시간 정산 (생산·소모·휴식 동일 로직).
### 6.2 체력 게이지
- 배치 중 분당 -2 (튼튼함 -30%, 일중독 +40%). 0이 되면 **강제 휴식**: 배치 해제 후
고양이 집(없으면 아무 데서나)에서 sleep 포즈로 회복, 분당 +20 (고양이 집 +30, 온천 즉시 완충).
- 낮잠꾸러기 패시브: 체력과 무관하게 3분마다 30초 낮잠.
### 6.3 행복도
| 요인 | 변화량(분당) |
|---|---|
| 포만도 80↑ 유지 | +1 |
| 굶음(포만도 0) | -4 |
| 고양이 집 부족(수용 초과분) | -2 |
| 휴식 중 | +3 |
| 햇볕 데크 | 자연 회복 ×1.5 |
| 온천 사용 | 즉시 +30 (쿨타임 20분) |
구간 효과: 80↑ 속도+10% / 50~79 정상 / 20~49 -30% / 0~19 **파업**(배치 해제 후 배회).
---
## 7. 냥코인·상점 (Phase C)
- 상점 건물: 판매 큐에 자원 올리면 자동 판매 (분당 5개, 상점 레벨로 증가).
- **입양 비용 도입**: 1회 100냥코인 (마릿수마다 +50). 재추첨 30냥코인.
- 상점 판매 아이템: 패시브 교체권, 이름표(고급 이름 변경 연출), 장식품(마을 데코, 행복도 소폭↑), 고급 사료(포만도 최대치 임시 +20).
- 복덩이 패시브: 자원 획득 시 1% 확률 냥코인 +1 (이때부터 실효과).
---
## 8. 장기 구조 — 마을 확장 (확정)
- **강 건너 새 부지**: 인연 증표로 다리 건설 → 두 번째 마을 구역 해금.
- 새 구역: 추가 건물 부지 + 수용 인원 +α + 신규 장식. 기존 마을은 그대로 유지 (순수 추가, 초기화 없음).
- 고양이 은퇴·세대교체는 **없음** — 한 번 입양한 고양이는 끝까지 마을 구성원.
- 슬롯 압박은 회관 증축·마을 확장으로만 해소 → "누구를 어디에"의 고민은 유지하되 이별은 없음.
---
## 9. 기술 설계
- 엔진: 모듈 싱글턴 + rAF 델타 타임, UI 300ms 동기화 (구현됨, 유지)
- 저장: localStorage `version` 필드 → 스키마 변경 시 마이그레이션 함수 체인 (v1→v2→…)
- **서버 저장(확정, Phase D)**: PostgreSQL(pg-jskim) + Next.js API route로 세이브 동기화.
브라우저 UUID 기준(계정 없음), 테이블 `saves(uuid PK, data JSONB, updated_at)`. 충돌 시 updated_at 최신 우선
- 수치 밸런스는 `data.ts`에 전부 상수화 (이미 준수) — 밸런스 패치는 데이터만 수정
---
## 10. 구현 로드맵
| Phase | 내용 | 규모 |
|---|---|---|
| **A** | 채석장+돌, 회관 Lv3, 부엌 Lv2+훈제 생선, 건물 건설 공통화, 적성 포인트 투자, 경험치 조정 | 중 |
| **B** | 체력 게이지·강제 휴식(수면 포즈)·행복도·고양이 집·햇볕 데크·관련 패시브, 오프라인 정산 | 대 |
| **C** | 냥코인·상점·판매·입양 비용/재추첨·약초밭·목공소·회관 Lv4 | 대 |
| **D** | 빗질터·방직소·훈련소·온천·운반 수레(자동화)·회관 Lv5~6, 서버 세이브 동기화 | 대 |
| **E** | 마을 확장(강 건너 부지)·인연 증표·업적, 폴리싱 | 중 |
각 Phase 완료 시 배포 가능한 상태 유지 (독립 배포 단위).
---
## 11. 확정된 결정 사항 (2026-08-13)
1. **장기 구조**: 마을 확장만. 고양이 은퇴·세대교체 없음
2. **서버 연동**: DB 세이브 동기화 (Phase D). 친구 방문은 보류
3. **시간**: 날짜·낮/밤 없음, 항상 낮. 페이스는 체력·행복도로 조절
4. 이름: 랜덤+변경 가능 / 외형: 일러스트 확정 / 수용 초과: 입양 제한 유지