Files
asciinevrdie/doc/task-ext-settings-infra.md
JiWoong Sul b110b2dc53 docs: 게임 시스템 개편 계획 문서 분리
- 121KB 단일 문서를 22개 태스크 문서로 분리
- 메인 인덱스 문서 (game-system-overhaul-index.md) 생성
- Phase 1-10 태스크 문서 10개 분리
- 추가 시스템 태스크 문서 10개 분리
- 재미 요소 설계 문서 1개 분리
- 기존 문서는 archive/ 폴더로 이동
2025-12-16 19:33:57 +09:00

5.7 KiB

설정/튜토리얼/성능/테스트

메인 문서: game-system-overhaul-index.md


1. 설정 화면

설정 항목 옵션
게임 속도 0.5x, 1x, 2x, 5x
자동 저장 간격 1분, 5분, 10분
SFX 볼륨 0-100%
BGM 볼륨 0-100%
진동 켜기/끄기 (모바일)
알림 표시 켜기/끄기
전투 로그 간략/상세/끄기
언어 한국어/English

1.1 데이터 관리 설정

설정 항목 설명 경고
튜토리얼 초기화 튜토리얼 다시 보기 -
도움말 초기화 모든 도움말 팁 다시 표시 -
캐시 삭제 임시 파일 삭제 -
설정 초기화 모든 설정을 기본값으로 확인 필요
현재 캐릭터 삭제 현재 슬롯 데이터 삭제 2중 확인 필요
모든 데이터 삭제 전체 초기화 3중 확인 + 입력 확인

1.2 데이터 삭제 확인 UI

┌─────────────────────────────────────┐
│                                     │
│   ⚠️ 모든 데이터 삭제                │
│                                     │
│   이 작업은 되돌릴 수 없습니다!     │
│                                     │
│   삭제될 항목:                      │
│   • 모든 캐릭터 (5개 슬롯)          │
│   • 명예의 전당 기록                │
│   • 업적                            │
│   • 통계                            │
│   • 설정                            │
│                                     │
│   확인하려면 "삭제합니다"를 입력:   │
│   ┌───────────────────────────┐     │
│   │                           │     │
│   └───────────────────────────┘     │
│                                     │
│        [ 취소 ] [ 삭제 ]            │
│                                     │
└─────────────────────────────────────┘

2. 성능 최적화

항목 현재 개선 방안
상태 업데이트 매 틱마다 전체 rebuild 변경된 부분만 업데이트
애니메이션 Timer 기반 AnimationController 사용
저장 자동 저장 빈번 변경 감지 후 디바운스

3. 테스트 전략

테스트 유형 대상 도구
유닛 테스트 전투 계산, 스탯 계산 flutter_test
위젯 테스트 UI 컴포넌트 flutter_test
통합 테스트 전체 게임 플로우 integration_test
밸런스 테스트 시뮬레이션 커스텀 도구

4. 튜토리얼 시스템

4.1 튜토리얼 흐름

첫 실행 감지 → 튜토리얼 시작 → 단계별 가이드 → 완료 보상 → 본 게임 시작

4.2 튜토리얼 단계

단계 내용 하이라이트 UI 완료 조건
1 게임 소개 전체 화면 탭하여 계속
2 캐릭터 스탯 설명 스탯 패널 스탯 패널 탭
3 전투 시스템 설명 전투 영역 첫 몬스터 처치
4 장비 시스템 설명 장비 패널 첫 장비 장착
5 스킬 사용 설명 스킬 바 첫 스킬 사용
6 경험치/레벨업 설명 경험치 바 레벨 2 달성
7 퀘스트 설명 퀘스트 패널 첫 퀘스트 확인
8 사망/부활 설명 안내 팝업 탭하여 계속
9 설정 및 기타 설정 버튼 설정 화면 열기
10 튜토리얼 완료 보상 팝업 보상 수령

4.3 튜토리얼 UI

┌─────────────────────────────────────┐
│  ┌─────────────────────────────┐    │
│  │    하이라이트된 영역        │◄───│ 이 부분을 탭해보세요!
│  └─────────────────────────────┘    │
│                                     │
│  ══════════════════════════════     │
│  스탯은 전투력에 직접 영향을        │
│  미칩니다. STR은 공격력,            │
│  CON은 HP에 영향을 줍니다.          │
│  ══════════════════════════════     │
│                                     │
│         [ 다음 ] [ 건너뛰기 ]       │
└─────────────────────────────────────┘

4.4 튜토리얼 완료 보상

보상 수량
골드 500
초보자 무기 1
초보자 방어구 1
경험치 물약 1

4.5 구현 방안

class TutorialService {
  int currentStep = 0;
  bool isCompleted = false;

  void startTutorial();
  void nextStep();
  void skipTutorial();
  void completeStep(int step);
  Widget? getHighlightWidget();
  String getCurrentMessage();
}

class TutorialOverlay extends StatelessWidget {
  final int step;
  final VoidCallback onNext;
  final VoidCallback onSkip;
}

4.6 튜토리얼 관련 파일

파일 역할
core/service/tutorial_service.dart 신규 - 튜토리얼 로직
features/game/widgets/tutorial_overlay.dart 신규 - 튜토리얼 UI
data/tutorial_data.dart 신규 - 튜토리얼 텍스트