Pilgrim Quest — 로그라이트 액션 RPG 상세 설계서
상태: CURATED · DEMO (스토어 미출시) 기술 스택: React 19, Vite 6, TypeScript, Custom ECS, Zustand, Firebase(Auth·Firestore), Socket.IO, Vitest 카테고리: Browser Game
1. 문제와 대상 사용자
로그라이트는 한 판이 짧아야 다시 시작하게 되는데, 범용 게임 엔진을 얹으면 초기 로딩과 번들이 커져 그 리듬이 무너집니다. Pilgrim Quest는 필요한 시스템만 담은 자체 ECS로 게임 루프를 직접 구성해, 가볍게 켜고 짧게 끝나는 탐험을 목표로 합니다. 대상은 짧은 세션으로 반복 플레이하는 사용자입니다.
2. 핵심 기능
| 기능 | 설명 |
|---|---|
| 커스텀 ECS 엔진 | Entity / Component / System 게임 루프 |
| 로그라이트 진행 | 5스테이지 분기 보스전(4스테이지는 무보스), 레벨업 카드·유물·인런 상점 |
| 메타 성장 | 신앙 포인트 영구 업그레이드 + 클래스 해금 |
| 협동 멀티플레이 | Socket.IO 룸 매칭, 입력 예측·보정 |
| 서사 | Fallback 대사 시스템, 도덕 딜레마 분기 |
| 클라우드 동기화 | Firebase 익명 로그인 + Firestore 진행도·리더보드 |
3. 기술 선택 이유
- 자체 ECS: 필요한 시스템만 구현해 번들과 프레임 예산을 직접 통제합니다.
- Zustand: 게임 루프 밖의 UI 상태를 단순하게 유지합니다.
- Vitest: 전투·이동 같은 규칙을 엔진 단위 테스트로 고정합니다.
4. 현재 범위
- ECS 엔진 위에 전투·적 AI(FSM)·5스테이지 분기 보스·레벨업 카드·유물·클래스 액티브 스킬·인런 상점·서사(Fallback 대사, 도덕 딜레마)·협동 멀티플레이·리더보드·접근성 설정까지 한 바퀴 도는 플레이 루프가 구현돼 있습니다.
- Vite 프로덕션 빌드와 서명된 Android TWA 번들(AAB/APK)이 산출된 상태이며, 엔진 단위 테스트 40건이 통과합니다.
- 다만 스토어 출시 전이고 클라우드 규칙 배포가 남아 있어, 이 카드는 당분간 제작 기록만 제공합니다.
5. 알려진 한계
- 클라우드 진행도 동기화는 코드가 있으나 firestore.rules가 아직 배포되지 않아 실제로는 permission-denied 상태입니다.
- 확장 클래스 3종(참회자·목자·순교자)은 해금 추적과 '준비 중' 표시만 있고 선택·플레이가 불가합니다.
- 도덕 딜레마 인카운터가 1종뿐이고, NPC 관계 시스템은 상태 슬라이스만 있을 뿐 게임플레이에 연결되지 않았습니다.
- 협동 멀티플레이는 별도 Socket.IO 서버가 필요하며 기본 접속 주소가 localhost입니다.
- 던전 콘텐츠 분량과 밸런스는 검증되지 않았습니다.
6. 다음 검증
- firestore.rules 배포 후 익명 로그인·진행도 동기화·리더보드 실동작 확인
- Socket.IO 서버 상시 호스팅 후 2~4인 협동 매칭 재확인(현재 기본값 localhost)
- 서명된 AAB로 Google Play 비공개 테스트 업로드 및 IARC 자체등급분류 진행
- 모바일 실기기에서 터치 조이스틱·안전영역·자유 회전 동작 확인 후 플레이 화면 공개 판단
