rollback claude.md

This commit is contained in:
2025-08-23 11:47:10 +09:00
parent 6a928c9b64
commit c4134c439f

307
moon/CLAUDE.md Normal file
View File

@@ -0,0 +1,307 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
# 프로젝트 개요
- **게임 제목**: Little Fairy (작은 선녀)
- **장르**: 생명 시뮬레이션 RPG
- **타겟 플랫폼**: Windows
- **개발 엔진**: Godot 4.4.1
- **주 언어**: C#
- **핵심 경험**: "살아있음의 기쁨"과 "생명의 연속성" 체험
# 현재 개발 상태
- **버전**: v0.0.1
- **마지막 업데이트**: 2025-08-15
- **현재 작업 중인 기능**: 디자인 문서 완성 (업데이트 완료)
- **다음 마일스톤**: Phase 1 - 기반 시스템 구축 시작
# 핵심 게임 컨셉
## 혁신적 매듭 시스템
**노리개 연결 구조**: 매듭들이 하나의 연속된 실로 연결되어 노리개 형태 구성. **연결 순서에 따라 완전히 다른 스킬과 능력 조합 발현**이 핵심 혁신점.
예시:
- "국화매듭 → 물결매듭 → 웃음매듭" = "치유하는 웃음" 스킬
- "웃음매듭 → 물결매듭 → 국화매듭" = "기쁨의 가르침" 스킬
## 생명의 동반자 시스템
4단계에서 가장 깊은 인연과의 결합 선택. 6가지 동반자 유형 + 독립적 완성 경로:
1. 연인/배우자 2. 영혼의 벗 3. 스승/제자 4. 수호 관계 5. 창조적 파트너 6. 혼자서 완성
## 주요 시스템
- [x] 게임 디자인 문서 완성 (프로토타입 기반 개정)
- [x] 시스템 설계 명세서 완성 (매듭 연결 순서 시스템 포함)
- [x] 개발 로드맵 수립 (24개월 상세 계획)
- [ ] 생애주기 시스템 (LifeCycleManager)
- [ ] 선녀의 별자리 유전 시스템 (DNAPoolManager → StellarDNA)
- [ ] 매듭 시스템 (KnotSystem) - 연결 순서 기반 스킬 생성
- [ ] 생명의 동반자 시스템 (CompanionSystem)
- [ ] 노드 기반 맵 시스템 (MapManager)
- [ ] 위험 요소 및 사망 시스템 (RiskManager)
# 빌드 및 실행
## Godot 프로젝트 실행
```bash
# Godot 4.4.1 에디터에서 프로젝트 열기
godot -e project.godot
# 게임 실행 (F5 또는)
godot project.godot
# 씬 실행
godot -s res://scenes/MainGame.tscn
```
## C# 빌드
```bash
# MSBuild를 통한 빌드
dotnet build little-fairy.sln
# Visual Studio에서 빌드
msbuild little-fairy.sln /p:Configuration=Debug
```
## 디버깅
```bash
# Godot 디버그 모드 실행
godot --debug project.godot
# C# 원격 디버깅 (Godot 에디터 내에서 설정)
```
# 아키텍처 및 코드 구조
## 네임스페이스 구조
- `LittleFairy`: 메인 게임 클래스들
- `LittleFairy.Managers`: 시스템 매니저 클래스들
- `LittleFairy.Data`: 데이터 모델 및 구조체
## 현재 구현된 시스템
### MapManager 시스템 (scripts/managers/MapManager.cs)
**노드 기반 맵 이동 시스템**
- JSON 기반 맵 데이터 로딩
- 4개의 시나리오 맵 (꽃마루, 물소리 벌판, 단풍골, 백설봉)
- 방향키 및 클릭 기반 노드 이동
- 잠금/해제 시스템을 통한 점진적 영역 확장
- 시그널 기반 이벤트 시스템
#### 키 메서드
- `LoadMap(string mapId)`: 맵 로드 및 활성화
- `MoveToNode(string nodeId)`: 노드 이동
- `IsNodeUnlocked(string nodeId)`: 노드 잠금 상태 확인
- `GetAvailableConnections()`: 현재 노드에서 이동 가능한 연결 반환
### 데이터 모델 (scripts/data/MapData.cs)
- `MapData`: 전체 맵 정보 (이름, 설명, 노드 배열)
- `MapNodeData`: 개별 노드 정보 (위치, 타입, 연결 정보)
- `NodeType`: 노드 분류 (거주지, 자연명소, 작업장, 성지 등)
### 메인 게임 (scripts/MainGame.cs)
게임의 중앙 관리자
- MapManager 통합 및 UI 관리
- 이벤트 처리 및 상태 업데이트
- 테스트용 UI 컨트롤 (맵 전환, 비밀길 해제)
## JSON 맵 데이터 구조
```json
{
"id": "map_a_flower_village",
"name": "Spring Mountain Village",
"korean_name": "꽃마루",
"description": "어린 선녀가 처음 깨어나는 아름다운 산골 마을",
"starting_node_id": "fairy_nest",
"nodes": [
{
"id": "fairy_nest",
"name": "Fairy's Nest",
"korean_name": "선녀의 둥지",
"position": [400, 300],
"type": "SacredPlace",
"connected_nodes": ["village_square", "sacred_spring"],
"available_characters": [],
"is_unlocked": true
}
]
}
```
# 시나리오 1: "치유의 노래" 상세 콘텐츠
## 등장인물 (14명)
### Map A: 꽃마루 (4명)
1. **할머니 달빛** (75세) - 스승/제자 관계
2. **소년 해찬** (12세) - 영혼의 벗 관계
3. **나무꾼 석주** (45세) - 연인/수호자 관계
4. **꽃신 정령 꽃님** (나이불명) - 창조적 파트너 관계
### Map B: 물소리 벌판 (4명)
5. **농부 철수** (38세) - 실용적 조력자
6. **용왕 미르** (1000세) - 연인/창조적 파트너 관계
7. **의원 혜련** (52세) - 스승/창조적 파트너 관계
8. **청년 준호** (28세) - 연인/창조적 파트너 관계
### Map C: 단풍골 (5명)
9. **한옥 보존가 영숙** (68세) - 스승/제자 관계
10. **환경운동가 민수** (35세) - 영혼의 벗/창조적 파트너
11. **예술가 소희** (29세) - 창조적 파트너 관계
12. **기업인 태영** (42세) - 인생 동반자 관계
13. **도시 수호신 한울** (500세) - 신령 동맹 관계
### Map D: 백설봉 (1명 + 최종 동반자 선택)
14. **산신령 설봉** (나이불명) - 최종 깨달음 제공자
## 매듭 시스템 (24종)
### 시나리오 1 특화 매듭 (16종)
- **Map A**: 꽃매듭, 웃음매듭, 뿌리매듭, 달빛매듭
- **Map B**: 물결매듭, 자비매듭, 희망매듭, 땀방울매듭
- **Map C**: 전통매듭, 갈등매듭, 예술매듭, 성찰매듭
- **Map D**: 전승매듭, 완성매듭, 평화매듭, 순환매듭
### 공통 기본 매듭 (8종)
생명매듭, 시간매듭, 기억매듭, 선택매듭, 성장매듭, 연결매듭, 순환매듭, 감사매듭
# 기술적 아키텍처
## 코어 시스템 설계
- **GameManager**: 게임 전반 관리 및 씬 전환
- **LifeCycleManager**: 4단계 생애주기 관리 (어린선녀→성장→성숙→지혜)
- **DNAPoolManager**: 선녀의 별자리 시스템 (StellarDNA 구조)
- **RelationshipManager**: 인연 형성 및 발전 관리
- **KnotSystem**: 매듭 연결 순서 기반 스킬 생성
- **CompanionSystem**: 생명의 동반자 시스템
- **MapManager**: 4개 맵의 노드 기반 이동
- **RiskManager**: 생애주기별 위험 요소 관리
- **EventManager**: 이벤트 기반 통신
## 핵심 데이터 구조
```csharp
public class StellarDNA // 선녀의 별자리
{
public Dictionary<string, float> Attributes { get; set; }
public List<Knot> Knots { get; set; }
public List<KnotConnection> KnotConnections { get; set; } // 연결 순서 중요!
public CompanionBond CompanionBond { get; set; }
public int Generation { get; set; }
public float QualityRating { get; set; }
}
public class KnotConnection
{
public string FromKnotId { get; set; }
public string ToKnotId { get; set; }
public int Order { get; set; } // 연결 순서가 스킬 결정
public float Strength { get; set; }
}
```
## 코딩 컨벤션
- 클래스명: PascalCase
- 메서드명: PascalCase
- 변수명: camelCase
- 상수: UPPER_SNAKE_CASE
- 프라이빗 필드: _camelCase
# 맵 및 콘텐츠 구조
## 4개 주요 맵 (시나리오 1)
- **Map A (봄)**: 꽃마루 - 어린 선녀 시기 (7개 노드)
- **Map B (여름)**: 물소리 벌판 - 성장기 선녀 (12개 노드)
- **Map C (가을)**: 단풍골 - 성숙기 선녀 (16개 노드)
- **Map D (겨울)**: 백설봉 - 지혜의 시기 (20개 노드)
## 노드 기반 이동 시스템
클릭 기반 즉시 이동으로 복잡한 이동 메커니즘 배제. 스토리와 관계에 집중.
# 개발 로드맵 (24개월)
## Phase 1: 핵심 시스템 구축 (3개월)
- Month 1: 기본 아키텍처 및 생애주기 시스템
- Month 2: 노드 기반 맵 시스템
- Month 3: 기본 매듭 시스템
## Phase 2: 시나리오 1 기본 콘텐츠 (6개월)
- Month 4: Map A 완전 구현
- Month 5: Map B 구현
- Month 6: Map C 구현
- Month 7-8: 생명의 동반자 시스템
- Month 9: 선녀의 별자리 시스템
## Phase 3: 완성도 향상 (3개월)
- Month 10: 위험 시스템 및 사망 처리
- Month 11: UI/UX 완성
- Month 12: 밸런싱 및 최적화
## Phase 4: 확장 시나리오 (9개월)
- Month 13-15: 시나리오 2 "모험의 날개"
- Month 16-18: 시나리오 3 "지혜의 탑"
- Month 19-21: 혼합 시나리오 시스템
## Phase 5: 출시 준비 (3개월)
- Month 22: 최종 완성 및 마스터링
- Month 23: 정식 출시 및 초기 대응
- Month 24: 사후 지원 및 확장 계획
# 확장 시나리오 계획
- **시나리오 2**: "모험의 날개" (14명 추가, 16종 모험 매듭)
- **시나리오 3**: "지혜의 탑" (14명 추가, 16종 지혜 매듭)
- **혼합 시나리오**: 생애주기 4단계에서 시나리오 조합
# Claude 협업 가이드라인
## 요청할 때 포함해야 할 정보
1. **현재 작업 컨텍스트**: 어떤 기능을 구현 중인지
2. **관련 파일**: 수정이 필요한 파일들
3. **요구사항**: 구체적인 기능 명세
4. **제약사항**: 성능, 메모리, 호환성 등
## 중요한 설계 원칙
1. **매듭 연결 순서가 스킬을 결정**: 같은 매듭도 순서에 따라 다른 능력
2. **생명의 동반자는 선택사항**: 혼자서도 완전한 생애 가능
3. **1시간 압축 생애**: 집중도 높은 완성된 경험 제공
4. **한국적 정서**: 전통 문화의 현대적 재해석
## 프로토타입 참고 문서
- **prototype/scenarioA1/**: Map A-D 상세 설계
- **prototype/매듭_시스템_설계_v2.md**: 노리개 연결 시스템
- **prototype/생명의_동반자_시스템_설계.md**: 동반자 시스템
- **prototype/위험요소_사망시스템_설계.md**: 사망 처리
## 코드 리뷰 요청 시
- 전체 코드보다는 특정 기능 단위로 요청
- 의도한 동작과 실제 문제점 명시
- 관련 테스트 케이스 함께 제공
## 디버깅 요청 시
- 에러 메시지 전문 포함
- 재현 단계 상세히 기술
- 예상 동작 vs 실제 동작 비교
# 개발 우선순위
1. **최우선**: 매듭 연결 순서 시스템 (핵심 혁신)
2. **높음**: 생애주기 및 인연 시스템
3. **중간**: UI/UX 개선
4. **낮음**: 부가 기능, 최적화
# 성공 지표
## 경험 목표 달성도
- 플레이어가 "살아있음의 기쁨"을 느끼는가?
- 매듭 시스템이 의미있고 아름답게 작동하는가?
- 동반자 시스템이 감동을 주는가?
- 세대 연결에서 연속성을 체험하는가?
## 기술적 목표
- 1시간 플레이 세션의 완성도
- 매듭 연결 순서 시스템 안정성
- 선녀의 별자리 세대 전승 정확성
- 직관적이고 아름다운 UI
# 테스트 전략
- **Unit Test**: 매듭 연결 로직, 스킬 생성 시스템
- **Integration Test**: 시스템 간 연동 (인연→매듭→스킬)
- **Play Test**: 1시간 완주 경험, 감정적 몰입도
- **Cultural Test**: 한국 문화 요소의 정확성과 자연스러움
---
**업데이트 기록**:
- 2025-08-15: 프로토타입 기반 문서 대폭 개정
- 매듭 연결 순서 시스템 상세 추가
- 생명의 동반자 시스템 통합
- 시나리오 1 상세 콘텐츠 반영
- 24개월 개발 로드맵 수립