--- id: wiki-2026-0508-combat-timeline-difficulty-scali title: Combat Timeline Difficulty Scaling category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # πŸ“ˆ Combat Timeline & Difficulty Scaling (μ „νˆ¬ νƒ€μž„λΌμΈ 및 λ‚œμ΄λ„ 쑰절 μ‹œμŠ€ν…œ) > **μΉ΄ν…Œκ³ λ¦¬**: Skybound, Game Design, Software Architecture > **μƒνƒœ**: πŸ”΅ κ΅¬ν˜„ μ™„λ£Œ (Implemented) > **μ΅œμ’… μ—…λ°μ΄νŠΈ**: 2026-04-22 --- ## πŸ“Œ κ°œμš” (Overview) Skybound의 μ „νˆ¬ μ‹œμŠ€ν…œμ€ λ‹¨μˆœνžˆ λ¬΄μž‘μœ„λ‘œ 적을 μƒμ„±ν•˜λŠ” 것을 λ„˜μ–΄, μ‹œκ°„ 흐름에 λ”°λ₯Έ κΈ΄μž₯감의 μ™„κΈ‰ 쑰절(Difficulty Curve)κ³Ό μ„±λŠ₯ μ΅œμ ν™”(Staggered Spawn)λ₯Ό λ™μ‹œμ— λ‹¬μ„±ν•˜λŠ” 슀크립트 기반 νƒ€μž„λΌμΈ μ‹œμŠ€ν…œμ„ μ±„νƒν•œλ‹€. ## πŸ› οΈ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ (Architecture) ### 1. 데이터 λ ˆμ΄μ–΄: `CombatTimeline.ts` - **StageMode**: `STANDARD`(15λΆ„) 및 `BLITZ`(8λΆ„) λͺ¨λ“œ 지원. - **DifficultyPhase**: νŽ˜μ΄μ¦ˆλ³„ λ‚œμ΄λ„ 배율(`diffMult`), 슀폰 간격 배율(`spawnIntervalMult`), μ΅œλŒ€ 개체수(`maxEnemyCount`) μ •μ˜. - **WaveTrigger**: νŠΉμ • μ‹œκ°„(초)에 λ°œμƒν•˜λŠ” 슀크립트 기반 μ›¨μ΄λΈŒ. 적 μœ ν˜•, 밀도, 슀파이크 μ—¬λΆ€, ν™”λ©΄ 흔듀림 효과 등을 포함. ### 2. μ œμ–΄ λ ˆμ΄μ–΄: `StageDirectorSystem.ts` (v2.0) - **Time-Based Tick**: λ§€ ν”„λ ˆμž„ νƒ€μž„λΌμΈμ„ μ²΄ν¬ν•˜μ—¬ ν˜„μž¬ νŽ˜μ΄μ¦ˆμ™€ ν™œμ„±ν™”λ  트리거λ₯Ό μˆ˜μ§‘. - **Intent Dispatching**: 페이즈 μ „ν™˜(`STAGE_TRANSITION`), 슀크립트 슀폰(`SCRIPTED_SPAWN`), 보상 λ°œν–‰(`PERMANENT_REWARD`) λ“±μ˜ μΈν…νŠΈλ₯Ό 엔진에 전달. - **Death Trap Avoidance**: 슀파이크(Spike) ꡬ간 μ§„μž… 30초 μ „, ν”Œλ ˆμ΄μ–΄μ˜ λ ˆλ²¨μ—…μ„ 돕기 μœ„ν•΄ EXP μ ¬ 밀도λ₯Ό μΌμ‹œμ μœΌλ‘œ 2λ°° κ°•ν™”(`EXP_DENSITY_BOOST`). ### 3. μ‹€ν–‰ λ ˆμ΄μ–΄: `SpawnerSystem.ts` (v2.0) - **Staggered Spawn Pattern**: λŒ€λŸ‰μ˜ 적 슀폰 μ‹œ ν”„λ ˆμž„ λ“œλžμ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄ `MAX_SWARM_BATCH`(6μœ λ‹›)λ₯Ό `SWARM_SPAWN_GAP`(3ν”„λ ˆμž„) κ°„κ²©μœΌλ‘œ λΆ„μ‚° 생성. - **Hard Cap Protection**: ν•„λ“œ λ‚΄ 총 적 개체수λ₯Ό `MAX_ENEMIES_HARD_CAP`(30)으둜 μ œν•œν•˜μ—¬ μ‹œμŠ€ν…œ λΆ€ν•˜ λ°©μ§€. ## πŸ’‘ μ£Όμš” 섀계 원칙 (Design Principles) ### 1. κΈ΄μž₯감 곑선 (Tension Curve) - λ¬΄μž‘μœ„ μŠ€ν°μ€ ν”Œλ ˆμ΄μ–΄μ—κ²Œ 지루함을 쀄 수 μžˆμœΌλ―€λ‘œ, λͺ…ν™•ν•œ 'Spike' ꡬ간과 'Recovery' ꡬ간을 λ°°μΉ˜ν•˜μ—¬ λ„νŒŒλ―Ό λΆ„λΉ„λ₯Ό μ΅œμ ν™”ν•¨. ### 2. μ„±λŠ₯ 쀑심 섀계 (Performance-First) - Object Poolingκ³Ό Staggered Spawn을 κ²°ν•©ν•˜μ—¬ λͺ¨λ°”일/μ›Ή ν™˜κ²½μ—μ„œλ„ λΆ€λ“œλŸ¬μš΄ μ „νˆ¬ ν™˜κ²½ 제곡. ### 3. UX 연속성 (UX Continuity) - 보슀 처치 ν›„ λ‹¨μˆœνžˆ κ²Œμž„μ΄ λλ‚˜λŠ” 것이 μ•„λ‹ˆλΌ, 영ꡬ μ„±μž₯ μ‹œμŠ€ν…œ(`PERMANENT_REWARD`)κ³Ό μ—°κ³„ν•˜μ—¬ λ‹€μŒ ν”Œλ ˆμ΄λ‘œμ˜ 동기λ₯Ό 뢀여함. --- **승인인**: AI κ°œλ°œλΆ€μž₯ 코닀리 🫑 **κ΄€λ ¨ μ½”λ“œ**: `StageDirectorSystem.ts`, `SpawnerSystem.ts`, `CombatTimeline.ts` ## πŸ”— 지식 μ—°κ²° (Graph) ### Related Concepts (Auto-Linked) * [[Architecture]] * [[Principles]] * [[Software_Architecture]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > *(TODO: ν•œ λ¬Έμž₯으둜 핡심 톡찰을 μž‘μ„±. "XλŠ” Y μ‘°κ±΄μ—μ„œ Z 효과λ₯Ό λ‚Έλ‹€" ꡬ쑰 ꢌμž₯.)* ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) **μΆ”μΆœλœ νŒ¨ν„΄:** > *(TODO)* **μ„ΈλΆ€ λ‚΄μš©:** - *(TODO)* ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μ—†μŒ - **μ •μ±… λ³€ν™”:** μ—†μŒ ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*