game/prompt/00_project_context_restore.md

3.6 KiB

00. 프로젝트 컨텍스트 및 복구 (Project Context & Restore Point)

이 파일은 다른 개발 환경이나 새로운 AI 세션에서 프로젝트의 현재 상태를 빠르게 파악하고 작업을 이어가기 위해 작성되었습니다.

1. 프로젝트 개요

  • 프로젝트명: Colosseum's Choice
  • 플랫폼: Flutter (Android/iOS/Web/Desktop)
  • 장르: 텍스트 기반의 턴제 RPG + GUI (로그라이크 요소 포함)
  • 상태: 프로토타입 단계 (전투 시각화, 데이터 주도 시스템 구현 완료)

2. 현재 구현된 핵심 기능 (Feature Status)

A. 게임 흐름 (Game Flow)

  1. 메인 메뉴 (MainMenuScreen): 게임 시작 버튼.
  2. 캐릭터 선택 (CharacterSelectionScreen): 'Warrior' 직업 구현.
  3. 메인 게임 (MainWrapper): 하단 탭 네비게이션 (Battle / Inventory).

B. 전투 시스템 (BattleProvider)

  • 턴제 전투: 플레이어 턴 -> 적 턴.
  • 행동 선택: 공격(Attack) / 방어(Defend).
  • 리스크 시스템 (Risk System): Safe(100%/50%), Normal(80%/100%), Risky(40%/200%) 선택.
  • 적 인공지능 (Enemy AI & Intent):
    • Intent UI: 적의 다음 행동(공격/방어, 리스크)을 미리 표시.
    • 선제 방어 (Pre-emptive Defense): 적이 방어를 선택하면 턴 시작 전에 즉시 방어도가 적용됨.
  • 시각 효과 (Visual Effects):
    • Floating Text: 데미지 발생 시 캐릭터 위에 데미지 수치가 떠오름 (일반: 빨강, 출혈: 보라, 취약: 주황).
    • Effect Icons: 공격/방어 및 리스크 레벨에 따른 아이콘 애니메이션 출력.
  • 상태이상: Stun, Bleed, Vulnerable, DefenseForbidden.

C. 데이터 주도 설계 (Data-Driven Design)

  • JSON 데이터: assets/data/items.json, assets/data/enemies.json.
  • 데이터 로더: ItemTable, EnemyTable.

D. 아이템 및 경제 (Item, Inventory)

  • 장비: 무기, 방어구, 방패, 장신구.
  • 가격: JSON 고정 가격 사용. 판매 시 60% (GameMath.floor) 획득.
  • 이미지: items.json, enemies.json에 이미지 경로 필드 포함.

E. 스테이지 시스템 (StageModel)

  • 타입: Battle, Shop, Rest, Elite.
  • 적 생성: 스테이지 레벨에 따른 스탯 스케일링 적용.

3. 핵심 파일 및 아키텍처

  • lib/providers/battle_provider.dart:
    • Core Logic: 상태 관리, 전투 루프.
    • Streams: damageStream, effectStream을 통해 UI(BattleScreen)에 비동기 이벤트 전달.
  • lib/game/enums.dart: 프로젝트 전반의 Enum 통합 관리 (ActionType, RiskLevel, StageType 등).
  • lib/game/model/:
    • damage_event.dart, effect_event.dart: 이벤트 모델.
    • entity.dart: Character (Player/Enemy).
    • item.dart: Item.
  • lib/screens/battle_screen.dart:
    • StreamSubscription을 통해 이펙트 이벤트 수신 및 Overlay 애니메이션 렌더링.

4. 작업 컨벤션 (Working Conventions)

  • Prompt Driven Development: prompt/XX_description.md 유지.
  • State Management: Provider + Stream (이벤트성 데이터).
  • Data: JSON 기반.

5. 다음 단계 작업 (Next Steps)

  1. 상점 구매 기능: Shop 스테이지 구매 UI 구현.
  2. 이미지 리소스 적용: JSON 경로에 맞는 실제 이미지 파일 추가 및 UI 표시.
  3. 밸런싱 및 콘텐츠 확장: 아이템/적 데이터 추가 및 밸런스 조정.

이 프롬프트를 읽은 AI 에이전트는 위 내용을 바탕으로 즉시 개발을 이어가십시오.