# Phase 6: 밸런싱 > 메인 문서: [game-system-overhaul-index.md](game-system-overhaul-index.md) --- ## 1. 목표 레벨 1-100 구간에서 적절한 난이도 곡선을 설계한다. ## 2. 레벨 구간 설계 | 구간 | 레벨 | 특징 | 예상 플레이 시간 | |------|------|------|-----------------| | 초반 | 1-20 | 튜토리얼, 기본 시스템 학습 | 1-2시간 | | 중반 | 21-50 | 본격적인 성장, 다양한 스킬 | 3-5시간 | | 후반 | 51-80 | 고급 장비, 어려운 몬스터 | 5-8시간 | | 엔드게임 | 81-100 | 최종 보스, 명예의 전당 | 3-5시간 | ## 3. 경험치 곡선 ``` 레벨업 필요 경험치 = 기본값 * (1.15 ^ 레벨) 기본값 = 100 레벨 10: 405 exp 레벨 50: 108,366 exp 레벨 100: 11,739,085 exp ``` ## 4. 몬스터 스탯 스케일링 ```dart MonsterStats generateMonster(int level, MonsterType type) { final baseStats = MonsterStats( hp: 50 + level * 20 + (level * level / 5).round(), atk: 5 + level * 3, def: 2 + level * 2, exp: 10 + level * 5, gold: 5 + level * 3, ); return _applyTypeModifier(baseStats, type); } ``` ### 4.1 몬스터 타입별 배율 | 타입 | HP | ATK | DEF | EXP | GOLD | |------|-----|-----|-----|-----|------| | 일반 | 1.0x | 1.0x | 1.0x | 1.0x | 1.0x | | 정예 | 2.0x | 1.3x | 1.2x | 2.0x | 2.0x | | 미니보스 | 5.0x | 1.5x | 1.5x | 5.0x | 5.0x | | 보스 | 10.0x | 2.0x | 2.0x | 15.0x | 10.0x | | 최종보스 | 20.0x | 2.5x | 2.5x | 50.0x | 30.0x | ### 4.2 보스 몬스터 특수 스탯 ```dart class BossStats extends MonsterStats { final List phases; final double enrageThreshold; // 분노 HP % final double enrageMultiplier; // 분노 시 스탯 배율 final bool hasShield; // 보호막 여부 final int shieldAmount; // 보호막 수치 } ``` | 보스 | 특수 능력 | |------|----------| | Syntax Error Dragon | 페이즈 3에서 연속 공격 | | Memory Leak Hydra | HP 30% 이하 시 회복 | | Buffer Overflow Titan | 보호막 (일정 데미지 흡수) | | Kernel Panic Archon | 분노 시 스턴 공격 | | Glitch God | 5페이즈, 각 페이즈별 완전히 다른 패턴 | ## 5. 사망 확률 목표 | 레벨 구간 | 목표 사망 확률 (전투당) | |----------|----------------------| | 1-20 | 1-3% | | 21-50 | 3-5% | | 51-80 | 5-10% | | 81-100 | 10-20% | ## 6. 밸런스 테스트 도구 ```dart /// 시뮬레이션으로 밸런스 검증 class BalanceSimulator { /// 특정 레벨 구간을 N회 시뮬레이션 SimulationResult simulate({ required int startLevel, required int endLevel, required int iterations, }); } class SimulationResult { final double averageDeaths; final double averageTimeMinutes; final double survivalRate; final List deathCauses; } ``` ## 7. 수정 대상 파일 | 파일 | 변경 내용 | |------|----------| | `core/util/balance_constants.dart` | **신규** - 밸런스 상수 | | `core/util/pq_logic.dart` | 경험치/몬스터 스케일링 | | `data/pq_config_data.dart` | 몬스터 레벨 재조정 | | `test/balance_test.dart` | **신규** - 밸런스 테스트 | ## 8. 예상 작업량 - 예상 파일 수: 4-5개 - 신규 코드: ~300 LOC - 수정 코드: ~400 LOC - 테스트 및 조정: 반복 작업 필요