4.3 KiB
4.3 KiB
00. 프로젝트 컨텍스트 및 복구 (Project Context & Restore Point)
이 파일은 다른 개발 환경이나 새로운 AI 세션에서 프로젝트의 현재 상태를 빠르게 파악하고 작업을 이어가기 위해 작성되었습니다.
1. 프로젝트 개요
- 프로젝트명: Colosseum's Choice
- 플랫폼: Flutter (Android/iOS/Web/Desktop)
- 장르: 텍스트 기반의 턴제 RPG + GUI (로그라이크 요소 포함)
- 상태: 프로토타입 단계 (핵심 전투, 아이템, 적 시스템 데이터화 완료)
2. 현재 구현된 핵심 기능 (Feature Status)
A. 게임 흐름 (Game Flow)
- 메인 메뉴 (
MainMenuScreen): 게임 시작 버튼. - 캐릭터 선택 (
CharacterSelectionScreen): 현재 'Warrior' 직업만 구현됨. 선택 시 게임 초기화. - 메인 게임 (
MainWrapper): 하단 탭 네비게이션 (Battle / Inventory).
B. 전투 시스템 (BattleProvider)
- 턴제 전투: 플레이어 턴 -> 적 턴.
- 행동 선택: 공격(Attack) / 방어(Defend).
- 리스크 시스템 (Risk System):
- 플레이어와 적 모두 Safe / Normal / Risky 중 하나를 선택하여 행동.
- Safe: 100% 성공, 50% 효율.
- Normal: 80% 성공, 100% 효율.
- Risky: 40% 성공, 200% 효율.
- 적 인공지능 (Enemy AI & Intent):
- 적은 턴 시작 시 행동(공격/방어)과 리스크 레벨을 무작위로 결정.
- Intent UI: 플레이어는 적의 다음 행동(아이콘, 설명)을 미리 볼 수 있음.
- 규칙: 적의
baseDefense가 0이면 방어 행동을 하지 않음.
- 상태이상 (Status Effects):
Stun,Bleed,Vulnerable,DefenseForbidden구현됨.
C. 데이터 주도 설계 (Data-Driven Design)
- JSON 데이터 관리:
assets/data/폴더 내 JSON 파일로 게임 데이터 관리.items.json: 아이템 정의 (이름, 스탯, 효과, 가격, 이미지 경로).enemies.json: 적 정의 (Normal/Elite, 스탯, 이미지 경로).
- 데이터 로더:
ItemTable:items.json로드 및ItemTemplate관리.EnemyTable:enemies.json로드 및EnemyTemplate관리.
D. 아이템 및 경제 (Item, Inventory)
- 장비: 무기, 방어구, 방패, 장신구 슬롯.
- 가격 정책:
items.json에 정의된 고정price사용.- 판매(Sell): 상점 등에서 판매 시 원가의 60% (소수점 버림,
GameMath.floor) 획득.
- 이미지 필드: 향후 UI 사용을 위해
Item및Enemy모델에image필드 추가됨.
E. 스테이지 시스템 (StageModel, StageType)
- 진행:
currentStage객체로 관리. - 타입: Battle, Shop (5단위), Rest (8단위), Elite (10단위).
- 적 생성:
EnemyTable에서 현재 스테이지 타입(Normal/Elite)에 맞는 적을 무작위로 스폰하며, 스테이지에 따라 스탯 스케일링 적용.
3. 핵심 파일 및 아키텍처
lib/providers/battle_provider.dart: 게임의 Core Logic. 상태 관리, 전투 루프, 적 AI(Intent) 생성, 스테이지 전환 담당.lib/game/data/:item_table.dart: 아이템 JSON 로더.enemy_table.dart: 적 JSON 로더.
lib/game/model/:entity.dart:Character클래스 (Player/Enemy 공용).image필드 포함.item.dart:Item클래스.price,image필드 포함.
assets/data/:items.json,enemies.json.
4. 작업 컨벤션 (Working Conventions)
- Prompt Driven Development:
prompt/XX_description.md형식을 유지하며 작업. - State Management:
Provider사용. - Data: JSON 파일 기반의 데이터 관리.
5. 다음 단계 작업 (Next Steps)
- 상점 구매 기능:
Shop스테이지에서 아이템 목록을 보여주고 구매하는 UI 구현. - 이미지 리소스 적용: JSON에 정의된 경로에 실제 이미지 파일(
assets/images/...)을 추가하고 UI(BattleScreen,InventoryScreen)에 표시. - UI 개선: 텍스트 로그 외에 시각적 피드백(데미지 플로팅, 효과 이펙트) 추가.
- 밸런싱 및 콘텐츠 확장: 더 많은 아이템과 적 데이터 추가.
이 프롬프트를 읽은 AI 에이전트는 위 내용을 바탕으로 즉시 개발을 이어가십시오.