# πŸ”„ In-Game Progression & Evolution (μΈκ²Œμž„ μ„±μž₯ 및 μ§„ν™” μ‹œμŠ€ν…œ) > **μΉ΄ν…Œκ³ λ¦¬**: Skybound, Game Design, Software Architecture > **μƒνƒœ**: πŸ”΅ κ΅¬ν˜„ μ™„λ£Œ (Implemented) > **μ΅œμ’… μ—…λ°μ΄νŠΈ**: 2026-04-22 --- ## πŸ“Œ κ°œμš” (Overview) Skybound의 μΈκ²Œμž„ μ„±μž₯은 EXP μˆ˜μ§‘μ„ ν†΅ν•œ λ ˆλ²¨μ—…, 3μ§€μ„ λ‹€ μŠ€ν‚¬ 선택, 그리고 νŠΉμ • 쑰건 만쑱 μ‹œ λ°œμƒν•˜λŠ” 'μ§„ν™”(Evolution)'둜 κ΅¬μ„±λœλ‹€. 이 μ‹œμŠ€ν…œμ€ κ²Œμž„ μ—”μ§„μ˜ μƒνƒœ 기계(State Machine)와 React UI κ°„μ˜ 단방ν–₯ 데이터 흐름을 기반으둜 λ™μž‘ν•œλ‹€. ## πŸ› οΈ 핡심 λ©”μ»€λ‹ˆμ¦˜ (Core Mechanisms) ### 1. λ ˆλ²¨μ—… ν”„λ‘œμ„ΈμŠ€ (Level-Up Pipeline) - **EXP μˆ˜μ§‘**: 적 처치 μ‹œ λ“œλ‘­λ˜λŠ” 젬을 μˆ˜μ§‘ν•˜μ—¬ `exp` κ²Œμ΄μ§€κ°€ 차였λ₯΄λ©΄ 트리거됨. - **Pause Gate Pattern**: λ ˆλ²¨μ—… λ°œμƒ μ‹œ 엔진은 μ¦‰μ‹œ `setPaused(true)`λ₯Ό ν˜ΈμΆœν•˜μ—¬ μΈκ²Œμž„μ„ λ©ˆμΆ”κ³ , `LEVEL_UP` 이벀트λ₯Ό UI둜 λ°œμ†‘ν•œλ‹€. - **결정둠적 μΉ΄λ“œ 생성**: μΉ΄λ“œ 풀은 UIκ°€ μ•„λ‹Œ `ProgressionSystem` μ—”μ§„ 둜직 λ‚΄μ—μ„œ μƒμ„±λ˜μ–΄ μ „λ‹¬λ˜λ―€λ‘œ, μ—”μ§„μ˜ μƒνƒœμ™€ UIκ°€ 항상 λ™κΈ°ν™”λœλ‹€. - **Resume**: ν”Œλ ˆμ΄μ–΄κ°€ μΉ΄λ“œλ₯Ό μ„ νƒν•˜λ©΄ `applySkillSelection`을 톡해 μ—”μ§„ stateκ°€ μ—…λ°μ΄νŠΈλ˜κ³  λ‹€μ‹œ `setPaused(false)`둜 μž¬κ°œλœλ‹€. ### 2. μ§„ν™” μ‹œμŠ€ν…œ (Evolution / EVO) - **λ°œλ™ 쑰건**: μ£Ό 무기(Primary Skill)κ°€ μ΅œλŒ€ λ ˆλ²¨μ— λ„λ‹¬ν•˜κ³ , νŠΉμ • 보쑰 무기(Support Skill)λ₯Ό λ³΄μœ ν•˜κ³  μžˆμ„ λ•Œ λ‹€μŒ λ ˆλ²¨μ—… μ‹œ λ°œμƒ. - **NOVA_GUARDIAN**: `aoe_nova` (Lv.3 MAX) + `energy_shield` (Lv.1+) μ‘°ν•©μ˜ μ§„ν™”ν˜•. - **EVO 효과**: λ‹¨μˆœνžˆ 데미지가 μ¦κ°€ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, μΏ¨λ‹€μš΄ λŒ€ν­ κ°μ†Œ, 반경 ν™•μž₯, μ‹œκ°μ  κ°•ν™”(ν™©κΈˆμƒ‰), 그리고 λ°œλ™ μ‹œ 짧은 무적(Shield Burst) λ“±μ˜ μœ ν‹Έλ¦¬ν‹° μ„±λŠ₯이 μΆ”κ°€λœλ‹€. ### 3. νŒ¨μ‹œλΈŒ 동기화 (Passive Sync) - νŒ¨μ‹œλΈŒ μŠ€ν‚¬(Fire Rate, Speed, Magnet)은 `syncPassives()`λ₯Ό 톡해 λ§€ ν”„λ ˆμž„ ν”Œλ ˆμ΄μ–΄μ˜ `EffectiveStats`에 μ£Όμž…λ˜μ–΄ 즉각적인 μ„±λŠ₯ λ³€ν™”λ₯Ό μ²΄κ°ν•˜κ²Œ ν•œλ‹€. ## πŸ’‘ μ£Όμš” 섀계 νŒ¨ν„΄ (Design Patterns) ### 1. TDZ (Temporal Dead Zone) νšŒν”Ό νŒ¨ν„΄ - `useGameEngine` λ‚΄μ—μ„œ `ctx` μ„ μ–Έ μ „ ν΄λ‘œμ € μ°Έμ‘° 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ `let ctx` μ„ μ–Έ ν›„ λ‚˜μ€‘μ— ν• λ‹Ήν•˜λŠ” νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ μ΄ˆκΈ°ν™” μ•ˆμ •μ„±μ„ 확보함. ### 2. 단방ν–₯ 데이터 흐름 (Unidirectional Data Flow) - UIλŠ” μ—”μ§„μ˜ μƒνƒœλ₯Ό 직접 μˆ˜μ •ν•˜μ§€ μ•Šκ³ , `applySkill` μ½œλ°±μ„ ν†΅ν•΄μ„œλ§Œ μ˜μ‚¬κ²°μ •μ„ 엔진에 μ£Όμž…ν•œλ‹€. --- **승인인**: AI κ°œλ°œλΆ€μž₯ 코닀리 🫑 **κ΄€λ ¨ μ½”λ“œ**: `ProgressionSystem.ts`, `evolutions.ts`, `GameSceneRenderer.tsx`, `useGameEngine.ts`