diff --git a/00_Raw/Boss_Battle_Design_System.md b/00_Raw/Boss_Battle_Design_System.md deleted file mode 100644 index d10395c5..00000000 --- a/00_Raw/Boss_Battle_Design_System.md +++ /dev/null @@ -1,113 +0,0 @@ -# ๐Ÿ›ก๏ธ Skybound: Boss Battle System & Damage Architecture - -์ด ๋ฌธ์„œ๋Š” Skybound ํ”„๋กœ์ ํŠธ์˜ ๋ณด์Šค์ „ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๋ฐ๋ฏธ์ง€ ๊ณ„์‚ฐ ์ฒด๊ณ„๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํ–ฅ ํ›„ ์ƒˆ๋กœ์šด ๋ณด์Šค๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ, ์ด ๋ฌธ์„œ์˜ **[Data Schema]**๋ฅผ ์ฐธ์กฐํ•˜์—ฌ `BossDefinition` ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค. - ---- - -## 1. [Core] Damage & Shield System (๋ฐ๋ฏธ์ง€ ์ฒด๊ณ„) - -ํ”Œ๋ ˆ์ด์–ด ๊ธฐ์ฒด์˜ ์ƒ์กด์€ '์žฅ๊ฐ‘(Shield)' ๊ฒŒ์ด์ง€์— ์˜์กดํ•˜๋ฉฐ, ํ”ผํƒ„ ์œ ํ˜•์— ๋”ฐ๋ผ ๊ฐ์‡„์œจ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. - -### ๐Ÿ“Š ๊ธฐ์ฒด๋ณ„ ํ”ผํƒ„ ๊ฐ์‡„์œจ (Damage Multiplier) -| ํ”Œ๋ ˆ์ด์–ด ๊ธฐ์ฒด๋ช… | ํƒ„ํ™˜ ํ”ผํƒ„ ์‹œ (Projectile) | ์ถฉ๋Œ ์‹œ (Collision/Crash) | -| :--- | :---: | :---: | -| **์•„์ฆˆ๋งˆ (Azuma)** | 17% ๊ฐ์†Œ | 34% ๊ฐ์†Œ (2x) | -| **์Šคํ”ผ๋ฆฟ ์˜ค๋ธŒ ๋“œ๋ž˜๊ณค** | 13% ๊ฐ์†Œ | 26% ๊ฐ์†Œ (2x) | -| **๋ฌผ๋ž‘ ๋ฃจ์ฆˆ (Mulang Rouge)** | 20% ๊ฐ์†Œ | 40% ๊ฐ์†Œ (2x) | - -> **Rule**: ๋ชจ๋“  ์ถฉ๋Œ(Collision) ๋ฐ๋ฏธ์ง€๋Š” ํƒ„ํ™˜ ํ”ผํƒ„ ๋ฐ๋ฏธ์ง€์˜ ์ •ํ™•ํžˆ **2๋ฐฐ**๋ฅผ ์ ์šฉํ•œ๋‹ค. - ---- - -## 2. [Architecture] Boss Implementation Schema (๋ณด์Šค ๊ตฌํ˜„ ๊ตฌ์กฐ) - -์ƒˆ๋กœ์šด ๋ณด์Šค๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ์•„๋ž˜์˜ `BossDefinition` ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค. ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด **Phase(ํ˜•ํƒœ)**๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. - -### ๐Ÿงฌ Boss Definition Interface -```typescript -interface BossDefinition { - id: string; // ์˜ˆ: 'STAGE_01_PLATON' - name: string; // ๋ณด์Šค ๋ช…์นญ - totalPhases: number; // ์ด ํ˜•ํƒœ ์ˆ˜ (2 or ๐Ÿ“‹) - - phases: Array<{ - phaseIndex: number; // 1, 2, 3... - description: string; // ํ•ด๋‹น ํŽ˜์ด์ฆˆ์˜ ํŠน์ง• - attackPatterns: Pattern[]; // ์ด ํŽ˜์ด์ฆˆ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒจํ„ด ๋ฆฌ์ŠคํŠธ - transformationTrigger: string | null; // ๋‹ค์Œ ํŽ˜์ด์ฆˆ๋กœ ๋„˜์–ด๊ฐ€๋Š” ์กฐ๊ฑด - }>; - - warningSequence: { - audioSfx: string; // ๊ฒฝ๊ณ ์Œ ID - cameraEffect: 'ZOOM_IN' | 'SHAKE'; // ์นด๋ฉ”๋ผ ์—ฐ์ถœ - }; -} - -interface Pattern { - type: 'DIRECT_FIRE' | 'SPREAD' | 'WINDER' | 'DRIFT' | 'AOE'; - projectileType: 'NORMAL' | 'DESTRUCTIBLE' | 'GREEN_HAZARD'; - complexity: number; // ํƒ„์ฐฝ์˜ ๋ฐ€๋„ ๋ฐ ๋‚œ์ด๋„ -} -``` - ---- - -## 3. [Database] Boss Patterns Registry (๋ณด์Šค๋ณ„ ๋ฐ์ดํ„ฐ) - -### โš”๏ธ Stage 1: ํ”Œ๋ผํ†ค (Platon) [2 Phases] -* **Phase 1**: ๊ธฐ์ƒ ์ „ํˆฌ๊ธฐ 2๋Œ€ ์†Œํ™˜ $\rightarrow$ ํ”Œ๋ ˆ์ด์–ด ์กฐ์ค€ 4์ ์‚ฌ ๋ฐ ์ €๊ฒฉํƒ„ ๋ฐœ์‚ฌ. -* **Phase 2**: ๋ณธ์ฒด ๋“ฑ์žฅ $\rightarrow$ ๋‚ ๊ฐœ ์ถฉ์ „์‹ ํฌ(2), ์ง์„  ๊ธฐ์ด(6), ํŒŒ๊ดด ๊ฐ€๋Šฅ ํƒ„(4)์„ ํ†ตํ•œ ์ •๋ฐ€ ์‚ฌ๊ฒฉ. - -### โš”๏ธ Stage 2: ๊ทธ๋ ˆ์ดํŠธ ํ˜ผ (Great Horn) [2 Phases] -* **Phase 1**: ์กฐ์ค€ํƒ„ $\rightarrow$ ํšŒ์˜ค๋ฆฌํƒ„ $\rightarrow$ ๋“œ๋ฆด(ํŒŒ์ผ๋ฒ™์ปค) ๋ฐ ๋Œ๋ฉ์ด ํˆฌ์ฒ™. -* **Phase 2**: ์ „๋ฐฉ ํŒฝ์ด ํฌํƒ‘ ๋ฐฐ์น˜ $\rightarrow$ ์ผ๋ ฌํƒ„ ๋‚œ์‚ฌ ๋ฐ ์ „๋ฐฉ ๋Œ์ง„ $\rightarrow$ ์ขŒ์šฐ ์‚ฐํƒ„/์กฐ์ค€ํƒ„ ๋ณตํ•ฉ ํŒจํ„ด. - -### ๐Ÿฆ‘ Stage 3: ํฌ๋ผ์ผ„ (Kraken) [3 Phases] -* **Phase 1 (Ship Form)**: ์ง์„  ํ•จํฌ, ๊ณ ์† ์กฐ์ค€ํƒ„, ๊ธฐ๋ขฐ ํˆฌ์ฒ™, ํƒ„๋ญ‰ํ……์ด ์ƒ์„ฑ. -* **Phase 2 (Transformed)**: ํ•จ์ฒด ๋’ค์ง‘ํž˜ $\rightarrow$ ์ดˆ๊ณ ์† ๋ฐฉ์‚ฌ(5/7์ ์‚ฌ), ์ž ์ˆ˜ ํ›„ ๋ฏธ์‚ฌ์ผ, 5-way ์ด์ค‘ ์กฐ์ค€ํƒ„. -* **Phase 3 (Land/Flight Form)**: 4์กฑ ๋ณดํ–‰ ๋น„ํ–‰ํ˜• $\rightarrow$ ํŒŒ๊ดด ๊ฐ€๋Šฅ ํƒ„๋Ÿ‰์‚ฌ, ์ฃผํฌ 3์ ์‚ฌ, ์ค‘์•™ ๋Œ์ง„ ํŒจํ„ด. - -### ๐Ÿฆ‹ Stage 4: ์ŠคํŒŒ์ด์Šค ๋ฒ„๋“œ (Spice Birds) [2 Phases] -* **Phase 1**: ๊ด‘์—ญ ์กฐ์ค€ํƒ„ $\rightarrow$ ํ™”๋ฉด ์ด๋™ ํ›„ ์‚ฐํƒ„(4ํšŒ) $\rightarrow$ ๋Œ€๊ฐ์„  ์—ฐ์‚ฌ ๋ฐ ๋นˆ ๊ณต๊ฐ„ ํƒ„ ํ˜•์„ฑ. -* **Phase 2 (Split)**: ๋ณธ์ฒด ๋ถ„๋ฆฌ(ํ˜ธ๋ฒ„ ํƒฑํฌ 2๋Œ€) $\rightarrow$ ์ „์ฒด ํ™”๋ฉด ํšŒ์˜ค๋ฆฌํƒ„ $\rightarrow$ 3-way ๋ฐ ์‚ฐํƒ„ ๋‚œ์‚ฌ. - -### ๐Ÿ Stage 5: ๋ธ”๋กœ์šฐ ์˜ค๋ธŒ ํ˜ธ๋ฅธ (Blow of Hornet) [3 Phases] -* **Phase 1**: ํšŒ์˜ค๋ฆฌํƒ„(3~5๋ฐœ) ์ด์ค‘ ๋‚œ์‚ฌ, ๊ณ ์† ๊ด‘์—ญ ์กฐ์ค€ํƒ„, 2์—ฐ์† ๋ก์˜จ ๋ ˆ์ด์ €. -* **Phase 2**: ์—ฐ์‚ฌํƒ„ ์ขŒ์šฐ ๋ฐœ์‚ฌ $\rightarrow$ ๊ณ ์† ๊ด‘์—ญํƒ„ $\rightarrow$ ๋…ธ๋ž€์ƒ‰ ๊ฒฝ๊ณ  ํ‘œ์‹œ ๊ด‘์—ญ ๋ ˆ์ด์ € ํˆฌํ•˜. -* **Phase 3**: ์ค‘์•™ ์ฝ”์–ด ๊ฑฐ๋Œ€ ๋ ˆ์ด์ €(์ด๋™ ์ œํ•œ) $\rightarrow$ ์–‘์˜† ํฌ์˜ ์กฐ์ค€ํƒ„ ๋ฐ ์ดˆ๊ณ ์† ํ™•์‚ฐํƒ„. - -### ๐Ÿš‚ Stage 6: ์‰ฌํ”„ํŠธ ๋ฉ”์‹œ์•„ (S.H.I.F.T Messiah) [3 Phases] -* **Phase 1**: ์—ด์ฐจ 1๋Œ€ $\rightarrow$ ์™€์ธ๋”(์นจํƒ„์ค„)๋กœ ํ”Œ๋ ˆ์ด์–ด ๊ฐ€๋‘  $\rightarrow$ ๊ณ ์† ์กฐ์ค€ํƒ„ ๋ฐ ์ด˜์ด˜ํ•œ ํƒ„๋ง‰. -* **Phase 2 (Armor Up)**: CIWS ๊ฐœํ‹€๋ง, 3ํฌ์‹  ํฌํƒ‘ ๊ณ ์†ํƒ„, ๋žœ๋คํƒ„, ํ™”์—ผ๋ฐฉ์‚ฌ ํŒจํ„ด ์ถ”๊ฐ€. -* **Phase 3 (Triple Threat)**: ์—ด์ฐจ 3๋Œ€ ๋™์‹œ ๋“ฑ์žฅ $\rightarrow$ ๊ด‘์—ญ ๊ณต๊ฒฉ, ์ค‘ํ˜• ๋ฏธ์‚ฌ์ผ, ๋žœ๋คํƒ„ ๋ฐ ํ™”์—ผ๋ฐฉ์‚ฌ ํ•ฉ๋™ ๊ณต๊ฒฉ. - -### ๐Ÿ‘ผ Stage 7: ์ฝœ๋กœ๋‹ˆ ์—”์ ค (Colony Angel) [3 Phases] -* **Phase 1**: ๋‹ค๋ฆฌ(6๊ฐœ) ํŒŒ๊ดด ๋‹จ๊ณ„ $\rightarrow$ ๊ฐ ๋‹ค๋ฆฌ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ œ๊ฑฐ. -* **Phase 2**: ๊ณ ์† ์›ํ˜• ํ™•์‚ฐํƒ„ ๋ฐ ์กฐ์ค€ํƒ„ ๋Œ€๋Ÿ‰ ํˆฌํ•˜. - -* **Phase 3 (Final Form)**: ์ƒ๋ถ€ ํšŒ์ „ $\rightarrow$ ์ดˆ๊ณ ์† ์™€์ธ๋” ํƒ„์ค„ + ๊ณ ์† ์กฐ์ค€ํƒ„ $\rightarrow$ ์ด์ค‘ ํšŒ์ „ ํƒ„์ค„ ๋ฐœ์•… ํŒจํ„ด. - -### ๐Ÿ‘‘ Stage 8: ์ตœ์ข… ๋ณด์Šค (Ultimate Boss) [3 Phases] -* **Boss A: ํ—˜ํ”„ํ‹ฐ ๋คํ”„ํ‹ฐ (Humpty Dumpty)**: 3๋‹จ๊ณ„ ์ง„ํ–‰ $\rightarrow$ ์ตœ์ข… ๋‹จ๊ณ„์—์„œ ์ดˆ๊ณ ์† ํ™•์‚ฐํƒ„ ๋ฐ ๊ณ ์† ์กฐ์ค€ํƒ„ ์—ฐ์‚ฌ. -* **Boss B: ๋””๋ฐ”์ธ ๋žจํŒŒํŠธ (Divine Rampart)** *(์กฐ๊ฑด: ๋ชจ๋“  ๋ฌด๊ธฐ Lv.10)* - * **Phase 1**: ์ดˆ๊ณ ์† ํšŒ์˜ค๋ฆฌํƒ„ + 6-way ์™€์ธ๋” ํƒ„์ค„. - * **Phase 2**: ์ „ํ•จ 3๋Œ€ ์‚ฌ์ถœ $\rightarrow$ ์ „ํ•จ๋“ค์˜ ์กฐ์ค€ํƒ„/ํšŒ์ „ํƒ„/ํ™•์‚ฐํƒ„ ํ•ฉ๋™ ๊ณต๊ฒฉ. - * **Final Phase**: ๋ณธ์ฒด ํšŒ์ „ ๋ฐ ๋ฌด์ˆ˜ํ•œ ํƒ„๋Ÿ‰์‚ฌ $\rightarrow$ ์ˆœ๊ฐ„ ์ด๋™ ํ›„ ๊ด‘ํญํ™” ํŒจํ„ด ๋ฐ˜๋ณต. - - -## 4. [Level Design] ๋ณด์Šค์ „ ๋‚œ์ด๋„ ์กฐ์ ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (Difficulty Scaling) - -๋ณด์Šค์ „์˜ ์žฌ๋ฏธ๋Š” '์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์œ„ํ˜‘'๊ณผ '๊ทน๋ณตํ•˜๊ธฐ ํž˜๋“  ์••๋ฐ•' ์‚ฌ์ด์˜ ๊ท ํ˜•์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์š”์†Œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์Šคํ…Œ์ด์ง€๋ณ„ ๋‚œ์ด๋„๋ฅผ ์„ค๊ณ„ํ•˜์‹ญ์‹œ์˜ค. - -### ๐Ÿ“ˆ ๋‚œ์ด๋„ ๊ณก์„  ์ œ์–ด ์š”์†Œ -* ํƒ„ํ™˜ ๋ฐ€๋„ (Bullet Density): Pattern.complexity ๊ฐ’์„ ์กฐ์ ˆํ•˜์—ฌ ํƒ„์ฐฝ์˜ ๋นˆํ‹ˆ์„ ์ค„์ž…๋‹ˆ๋‹ค. ์ดˆ๋ฐ˜๋ถ€์—๋Š” ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ํ”ผํ•  ๊ณต๊ฐ„(Safe Zone)์„ ํ™•๋ณดํ•ด์ฃผ๊ณ , ํ›„๋ฐ˜๋ถ€๋กœ ๊ฐˆ์ˆ˜๋ก ํƒ„์ฐฝ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. -* ๊ณต๊ฒฉ ํŒจํ„ด์˜ ๋ณตํ•ฉ์„ฑ (Pattern Layering): - * Phase 1: ๋‹จ์ผ ๋ฐฉํ–ฅ์„ฑ ๊ณต๊ฒฉ (์˜ˆ: ์ง์„  ๊ธฐ์ด). - * Phase 2: ๋‹ค๋ฐฉํ–ฅ์„ฑ + ๋ฌผ๋ฆฌ์  ๋ฐฉํ•ด (์˜ˆ: ํšŒ์˜ค๋ฆฌํƒ„ + ๋Œ๋ฉ์ด ํˆฌ์ฒ™). - * Phase 3: ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋™์„ ์ œํ•œํ•˜๋Š” 'ํ™˜๊ฒฝ ์ œ์•ฝ'ํ˜• ํŒจํ„ด (์˜ˆ: ๊ฑฐ๋Œ€ ๋ ˆ์ด์ €๋กœ ์ธํ•œ ๊ตฌ์—ญ ์ œํ•œ). -* ๊ณต๊ฒฉ ์ฃผ๊ธฐ (Attack Frequency): Cooldown ๊ฐ’์„ ์ค„์—ฌ ๊ณต๊ฒฉ ์‚ฌ์ด์˜ ๊ณต๋ฐฑ์„ ์—†์•ฐ์œผ๋กœ์จ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ฐ˜๊ฒฉํ•  ํƒ€์ด๋ฐ์„ ๊ทน๋„๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. - -### โš ๏ธ ์œ„ํ—˜ ์š”์†Œ ๊ด€๋ฆฌ (Hazard Integration) -๋ณด์Šค์ „์€ ๋‹จ์ˆœํžˆ ๋ณด์Šค๋งŒ ๋“ฑ์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ฃผ๋ณ€ ํ™˜๊ฒฝ(Stage Environment)๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. -* ํ™˜๊ฒฝ ์žฅ์• ๋ฌผ: ๋ณด์Šค๊ฐ€ ํŒŒ๊ดด ๊ฐ€๋Šฅํ•œ ๋ถ€์†๋ฌผ(์˜ˆ: Stage 1์˜ ๋‚ ๊ฐœ ๋ ํฌ, Stage 3์˜ ๊ธฐ๋ขฐ)์„ ์ƒ์„ฑํ•˜์—ฌ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋™ ๊ฒฝ๋กœ๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ฐจ๋‹จํ•˜๊ฒŒ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค. -* ๋ฐ๋ฏธ์ง€ ๋ˆ„์  ์••๋ฐ•: Spike ์ด๋ฒคํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ์‹œ๊ฐ„๋Œ€์— ํƒ„ํ™˜ ๋ฐ€๋„๋ฅผ ํญ๋ฐœ์ ์œผ๋กœ ์ฆ๊ฐ€์‹œ์ผœ, ํ”Œ๋ ˆ์ด์–ด๊ฐ€ '์ƒ์กด'์—๋งŒ ์ง‘์ค‘ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ตฌ๊ฐ„์„ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/10_Wiki/2nd/.obsidian/app.json b/10_Wiki/2nd/.obsidian/app.json deleted file mode 100644 index 9e26dfee..00000000 --- a/10_Wiki/2nd/.obsidian/app.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/10_Wiki/2nd/.obsidian/appearance.json b/10_Wiki/2nd/.obsidian/appearance.json deleted file mode 100644 index 9e26dfee..00000000 --- a/10_Wiki/2nd/.obsidian/appearance.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/10_Wiki/2nd/.obsidian/core-plugins.json b/10_Wiki/2nd/.obsidian/core-plugins.json deleted file mode 100644 index 639b90da..00000000 --- a/10_Wiki/2nd/.obsidian/core-plugins.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "file-explorer": true, - "global-search": true, - "switcher": true, - "graph": true, - "backlink": true, - "canvas": true, - "outgoing-link": true, - "tag-pane": true, - "footnotes": false, - "properties": true, - "page-preview": true, - "daily-notes": true, - "templates": true, - "note-composer": true, - "command-palette": true, - "slash-command": false, - "editor-status": true, - "bookmarks": true, - "markdown-importer": false, - "zk-prefixer": false, - "random-note": false, - "outline": true, - "word-count": true, - "slides": false, - "audio-recorder": false, - "workspaces": false, - "file-recovery": true, - "publish": false, - "sync": true, - "bases": true, - "webviewer": false -} \ No newline at end of file diff --git a/10_Wiki/2nd/.obsidian/graph.json b/10_Wiki/2nd/.obsidian/graph.json deleted file mode 100644 index 42a46eca..00000000 --- a/10_Wiki/2nd/.obsidian/graph.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "collapse-filter": true, - "search": "", - "showTags": false, - "showAttachments": false, - "hideUnresolved": false, - "showOrphans": true, - "collapse-color-groups": true, - "colorGroups": [], - "collapse-display": true, - "showArrow": false, - "textFadeMultiplier": 0, - "nodeSizeMultiplier": 1, - "lineSizeMultiplier": 1, - "collapse-forces": true, - "centerStrength": 0.518713248970312, - "repelStrength": 10, - "linkStrength": 1, - "linkDistance": 250, - "scale": 1, - "close": true -} \ No newline at end of file diff --git a/10_Wiki/2nd/.obsidian/workspace.json b/10_Wiki/2nd/.obsidian/workspace.json deleted file mode 100644 index 858db23c..00000000 --- a/10_Wiki/2nd/.obsidian/workspace.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "main": { - "id": "3c95657998eaa039", - "type": "split", - "children": [ - { - "id": "73164a8ecc5a1d5a", - "type": "tabs", - "children": [ - { - "id": "9a855efb1f6d17e9", - "type": "leaf", - "state": { - "type": "graph", - "state": {}, - "icon": "lucide-git-fork", - "title": "๊ทธ๋ž˜ํ”„ ๋ทฐ" - } - } - ] - } - ], - "direction": "vertical" - }, - "left": { - "id": "9cce54dc0fde5638", - "type": "split", - "children": [ - { - "id": "fec6c0fbe7c5feb3", - "type": "tabs", - "children": [ - { - "id": "36812539ece60a55", - "type": "leaf", - "state": { - "type": "file-explorer", - "state": { - "sortOrder": "alphabetical", - "autoReveal": false - }, - "icon": "lucide-folder-closed", - "title": "ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ" - } - }, - { - "id": "971a2cfe9eb674b1", - "type": "leaf", - "state": { - "type": "search", - "state": { - "query": "", - "matchingCase": false, - "explainSearch": false, - "collapseAll": false, - "extraContext": false, - "sortOrder": "alphabetical" - }, - "icon": "lucide-search", - "title": "๊ฒ€์ƒ‰" - } - }, - { - "id": "fbc0a933a1706f06", - "type": "leaf", - "state": { - "type": "bookmarks", - "state": {}, - "icon": "lucide-bookmark", - "title": "๋ถ๋งˆํฌ" - } - } - ] - } - ], - "direction": "horizontal", - "width": 300 - }, - "right": { - "id": "7e73822cfe264a3a", - "type": "split", - "children": [ - { - "id": "c83e42d2020be474", - "type": "tabs", - "children": [ - { - "id": "34c26b158c0020ec", - "type": "leaf", - "state": { - "type": "backlink", - "state": { - "collapseAll": false, - "extraContext": false, - "sortOrder": "alphabetical", - "showSearch": false, - "searchQuery": "", - "backlinkCollapsed": false, - "unlinkedCollapsed": true - }, - "icon": "links-coming-in", - "title": "๋ฐฑ๋งํฌ" - } - }, - { - "id": "4294fd4f01010856", - "type": "leaf", - "state": { - "type": "outgoing-link", - "state": { - "linksCollapsed": false, - "unlinkedCollapsed": true - }, - "icon": "links-going-out", - "title": "๋‚˜๊ฐ€๋Š” ๋งํฌ" - } - }, - { - "id": "287a52ec231392f1", - "type": "leaf", - "state": { - "type": "tag", - "state": { - "sortOrder": "frequency", - "useHierarchy": true, - "showSearch": false, - "searchQuery": "" - }, - "icon": "lucide-tags", - "title": "ํƒœ๊ทธ" - } - }, - { - "id": "6da8e5393086f3aa", - "type": "leaf", - "state": { - "type": "all-properties", - "state": { - "sortOrder": "frequency", - "showSearch": false, - "searchQuery": "" - }, - "icon": "lucide-archive", - "title": "๋ชจ๋“  ์†์„ฑ" - } - }, - { - "id": "f5ca63138f5629e8", - "type": "leaf", - "state": { - "type": "outline", - "state": { - "followCursor": false, - "showSearch": false, - "searchQuery": "" - }, - "icon": "lucide-list", - "title": "๊ฐœ์š”" - } - } - ] - } - ], - "direction": "horizontal", - "width": 300, - "collapsed": true - }, - "left-ribbon": { - "hiddenItems": { - "switcher:๋น ๋ฅธ ์ „ํ™˜๊ธฐ ์—ด๊ธฐ": false, - "graph:๊ทธ๋ž˜ํ”„ ๋ทฐ ์—ด๊ธฐ": false, - "canvas:์ƒˆ ์บ”๋ฒ„์Šค ๋งŒ๋“ค๊ธฐ": false, - "daily-notes:์˜ค๋Š˜์˜ ์ผ์ผ ๋…ธํŠธ ์—ด๊ธฐ": false, - "templates:ํ…œํ”Œ๋ฆฟ ์‚ฝ์ž…": false, - "command-palette:๋ช…๋ น์–ด ํŒ”๋ ˆํŠธ ์—ด๊ธฐ": false, - "bases:์ƒˆ ๋ฒ ์ด์Šค ์ƒ์„ฑํ•˜๊ธฐ": false - } - }, - "active": "9a855efb1f6d17e9", - "lastOpenFiles": [ - "2026-04-20.md", - "๋ฌด์ œ.canvas", - "๋ฌด์ œ.base", - "ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!.md" - ] -} \ No newline at end of file diff --git a/10_Wiki/2nd/2026-04-20.md b/10_Wiki/2nd/2026-04-20.md deleted file mode 100644 index e69de29b..00000000 diff --git a/10_Wiki/2nd/๋ฌด์ œ.base b/10_Wiki/2nd/๋ฌด์ œ.base deleted file mode 100644 index d75ccc18..00000000 --- a/10_Wiki/2nd/๋ฌด์ œ.base +++ /dev/null @@ -1,3 +0,0 @@ -views: - - type: table - name: ํ‘œ diff --git a/10_Wiki/2nd/๋ฌด์ œ.canvas b/10_Wiki/2nd/๋ฌด์ œ.canvas deleted file mode 100644 index 9e26dfee..00000000 --- a/10_Wiki/2nd/๋ฌด์ œ.canvas +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/10_Wiki/2nd/ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!.md b/10_Wiki/2nd/ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!.md deleted file mode 100644 index d80d118d..00000000 --- a/10_Wiki/2nd/ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!.md +++ /dev/null @@ -1,5 +0,0 @@ -์ƒˆ๋กœ์šด *๋ณด๊ด€ํ•จ*์ž…๋‹ˆ๋‹ค. - -๋‚ด์šฉ์„ ํ•œ๋ฒˆ ์ ์–ด๋ณด์„ธ์š”, [[create a link]], ํ˜น์€ [์ž„ํฌํ„ฐ](https://help.obsidian.md/Plugins/Importer)๋ฅผ ์‚ฌ์šฉํ•ด๋ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค! - -์ค€๋น„๊ฐ€ ๋๋‹ค๋ฉด ์ด ๋…ธํŠธ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋งž์ถคํ˜• ๋ณด๊ด€ํ•จ์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”. \ No newline at end of file diff --git a/10_Wiki/Topics/Skybound/01_Core_Engine/Combat_System_Reference_Error_Resolution.md b/10_Wiki/Topics/Skybound/01_Core_Engine/Combat_System_Reference_Error_Resolution.md new file mode 100644 index 00000000..8de0c49e --- /dev/null +++ b/10_Wiki/Topics/Skybound/01_Core_Engine/Combat_System_Reference_Error_Resolution.md @@ -0,0 +1,28 @@ +# ๐Ÿ› ๏ธ Combat System: ReferenceError Resolution Guide + +## 1. Context (๋ฐฐ๊ฒฝ) +์ „ํˆฌ ์‹œ์Šคํ…œ(`CombatSystem.ts`) ๋ฆฌํŒฉํ† ๋ง ์ค‘, ๋Ÿฐํƒ€์ž„์—์„œ ์—”์ง„์ด ์ค‘๋‹จ๋˜๋Š” ์น˜๋ช…์ ์ธ ์ฐธ์กฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ณธ ๋ฌธ์„œ๋Š” ํ•ด๋‹น ์˜ค๋ฅ˜์˜ ์›์ธ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ํ–ฅํ›„ ์œ ์‚ฌ ์‚ฌ๋ก€ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. + +## 2. Issue Breakdown (์˜ค๋ฅ˜ ๋ถ„์„) +- **Error Type**: `ReferenceError: damage is not defined` +- **Location**: `CombatSystem.ts` (Collision Detection Loop) +- **Root Cause**: ๋ธ”๋ก ์Šค์ฝ”ํ”„(`if/else`) ๋‚ด๋ถ€์—์„œ `damage` ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— `let` ํ˜น์€ `const`๋ฅผ ํ†ตํ•œ ๋ช…์‹œ์  ์„ ์–ธ์ด ๋ˆ„๋ฝ๋จ. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„์—„๊ฒฉ ๋ชจ๋“œ ํ˜น์€ ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์—์„œ์˜ ์„ ์–ธ๋ถ€ ์œ ์‹ค์ด ์›์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. + +## 3. Resolution (ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•) +ํƒ„ํ™˜์˜ ๊ณต๊ฒฉ๋ ฅ์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์ „, ๋ช…์‹œ์ ์œผ๋กœ ์Šค์ฝ”ํ”„ ๋‚ด์— ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋„๋ก ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค. +```typescript +// Fix logic +let damage = bullet.dmg; // ๋ช…์‹œ์  ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™” +if (isCritical) { + damage *= criticalMultiplier; +} +``` + +## 4. Prevention Policy (์žฌ๋ฐœ ๋ฐฉ์ง€ ๋Œ€์ฑ…) +- **Strict Declaration**: ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ `const` ๋˜๋Š” `let`์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•˜๋ฉฐ, ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜์˜ ์•”๋ฌต์  ์ „์—ญํ™”(Implicit Global)๋ฅผ ์ฒ ์ €ํžˆ ๊ธˆ์ง€ํ•œ๋‹ค. +- **Linter Integration**: `no-undef` ๊ทœ์น™์„ ๊ฐ•ํ™”ํ•˜์—ฌ ๋นŒ๋“œ ํƒ€์ž„์—์„œ ๋ฏธ์„ ์–ธ ๋ณ€์ˆ˜ ์ฐธ์กฐ๋ฅผ ์‚ฌ์ „์— ์ฐจ๋‹จํ•œ๋‹ค. +- **Unit Test**: ์ถฉ๋Œ ํŒ์ • ๋กœ์ง์— ๋Œ€ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐ๋ฏธ์ง€ ๊ณ„์‚ฐ ๋ฃจํ”„์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์ฆํ•œ๋‹ค. + +--- +**Related Cluster**: [[01_Core_Engine/Game-Engine-Loop-and-System-Orchestration|Runtime Pipeline]] +**Last Updated**: 2026-04-23 diff --git a/10_Wiki/Topics/Skybound/01_Core_Engine/Skybound_Implementation_Report_V10_5.md b/10_Wiki/Topics/Skybound/01_Core_Engine/Skybound_Implementation_Report_V10_5.md new file mode 100644 index 00000000..2c0971d6 --- /dev/null +++ b/10_Wiki/Topics/Skybound/01_Core_Engine/Skybound_Implementation_Report_V10_5.md @@ -0,0 +1,37 @@ +# ๐Ÿš€ Skybound Protocol: Implementation Report (V10.5) + +## 1. Strategic Objective (์ „๋žต ๋ชฉํ‘œ) +๋‹จ์ˆœ ์ŠˆํŒ… ๊ฒŒ์ž„์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด, **'๊ณ ์œ ์˜ ์„ฑ์žฅ ๊ณก์„ '**๊ณผ **'๋„ํŒŒ๋ฏผ ํ”ผ๋“œ๋ฐฑ ๋ฆฌ๋“ฌ'**์„ ๊ฐ–์ถ˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ-์บ์ฃผ์–ผ ๋กœ๊ทธ๋ผ์ดํฌ๋กœ์˜ ์•„ํ‚คํ…์ฒ˜ ์žฌ์ •๋ฆฝ. + +## 2. Core System Blueprints (ํ•ต์‹ฌ ์‹œ์Šคํ…œ ์„ค๊ณ„๋„) + +### ๐Ÿ“Š Master Timeline (`StageDirectorSystem`) +๊ธด์žฅ๊ฐ์ด ๊ณ ์กฐ๋˜๋Š” 4๋‹จ๊ณ„ ํŽ˜์ด์ฆˆ ์‹œ์Šคํ…œ ๊ตฌ์ถ•: +1. **INTRO**: ๊ธฐ๋ณธ ์กฐ์ž‘ ์ ์‘ ๋ฐ ์ž์› ํŒŒ๋ฐ. +2. **ELITE_PRESS**: ์ •์˜ˆ ๊ธฐ์ฒด ์ค‘์‹ฌ์˜ ์••๋ฐ• ์‹œํ€€์Šค. +3. **SWARM**: ๋Œ€๊ทœ๋ชจ ์  ๋ฌผ๋Ÿ‰ ์Šต๊ฒฉ (Survivor-like UX). +4. **FINAL_BOSS**: ๊ฑฐ๋Œ€ ๊ธฐ์ฒด์™€์˜ ์ตœ์ข… ๊ฒฐ์ „. + +### ๐Ÿงฌ Data-Driven EVO Engine (`ProgressionSystem`) +๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ํ™•์žฅ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•œ ์ง„ํ™” ์‹œ์Šคํ…œ: +- **Registry Pattern**: ๋ชจ๋“  ์Šคํ‚ฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์ค‘์•™ ์ง‘์ค‘ ๊ด€๋ฆฌ. +- **Graph-based Evolution**: [์ฃผ๋ฌด๊ธฐ + ๋ณด์กฐ์Šคํ‚ฌ] ์กฐํ•ฉ์„ ํ†ตํ•œ ์ƒ์œ„ ๋ฌด๊ธฐ ์—ฐ์„ฑ ๋กœ์ง. + +### ๐Ÿ’ฅ High-Dopamine Feedback Engine +์œ ์ €์˜ ๊ฐ๊ฐ์„ ์ž๊ทนํ•˜๋Š” ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ๊ตฌํ˜„: +- **Red Critical**: ์‹œ๊ฐ์  ์ „๋Šฅ๊ฐ ๋ถ€์—ฌ. +- **Screen Shake**: ๋ฌผ๋ฆฌ์  ํƒ€๊ฒฉ๊ฐ ์ „๋‹ฌ. +- **Glitch Effect**: ์ง„ํ™” ์„ฑ๊ณต ์‹œ์˜ ์‹œ์Šคํ…œ ๋ชฐ์ž…๊ฐ ๊ทน๋Œ€ํ™”. + +### ๐Ÿ’Ž Meta-Game Economy (Hangar & Crafting) +์ง€์† ๊ฐ€๋Šฅํ•œ ๋ฆฌํ…์…˜์„ ์œ„ํ•œ ์™ธ๋ถ€ ๋ฃจํ”„ ๊ตฌ์ถ•: +- **7-Tier Grade**: NORMAL ~ ETERNAL ์œ„๊ณ„ ํ™•๋ฆฝ. +- **Triple-Merge**: ๋™์ผ ๋“ฑ๊ธ‰ 3๊ฐœ ํ•ฉ์„ฑ์„ ํ†ตํ•œ ์ƒ์œ„ ๋“ฑ๊ธ‰ ์—ฐ์„ฑ ์—”์ง„. + +## 3. Strategic Roadmap (๋กœ๋“œ๋งต) +- **Phase 3**: ๋“œ๋ก  ๋ณ‘ํ•ฉ(Merge) ๊ธฐ๋ฏน ๋ฐ ๋‹ค์ค‘ ์ž…๋ ฅ ์—”์ง„ ๊ตฌํ˜„. +- **SS-Grade Expansion**: ๋ฉ”ํƒ€ ์žฌํ™”์™€ ์—ฐ๋™๋˜๋Š” ํŠน์ˆ˜ ์ œ์ž‘ ํŠธ๋ฆฌ ์„ค๊ณ„. + +--- +**Related Cluster**: [[Skybound-Knowledge-Hub|Strategic Knowledge Mesh]] +**Author**: PD Kodari ๐Ÿ˜Ž๐ŸŸ diff --git a/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss_Battle_Design_System.md b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss_Battle_Design_System.md new file mode 100644 index 00000000..a472f72a --- /dev/null +++ b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss_Battle_Design_System.md @@ -0,0 +1,66 @@ +# ๐Ÿ›ก๏ธ Skybound: Boss Battle System & Damage Architecture + +## 1. Design Philosophy (์„ค๊ณ„ ์ฒ ํ•™) +Skybound์˜ ๋ณด์Šค์ „์€ **'์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์œ„ํ˜‘'**๊ณผ **'๊ทน๋ณตํ•˜๊ธฐ ํž˜๋“  ์••๋ฐ•'** ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค. ์œ ์ €์—๊ฒŒ ๋‹จ์ˆœํ•œ ์ŠˆํŒ…์„ ๋„˜์–ด, ํŒจํ„ด์„ ํŒŒ์•…ํ•˜๊ณ  ์ตœ์ ์˜ ํšŒํ”ผ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” '์ „์ˆ ์  ์žฌ๋ฏธ'๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. + +## 2. Core Damage & Shield System (๋ฐ๋ฏธ์ง€ ์ฒด๊ณ„) + +### ๐Ÿ“Š ๊ธฐ์ฒด๋ณ„ ํ”ผํƒ„ ๊ฐ์‡„์œจ (Damage Multiplier) +ํ”Œ๋ ˆ์ด์–ด ๊ธฐ์ฒด์˜ ์žฅ๊ฐ‘(Shield) ํŠน์„ฑ์— ๋”ฐ๋ฅธ ๋ฐ๋ฏธ์ง€ ์ ์šฉ ๊ณ„์ˆ˜์ž…๋‹ˆ๋‹ค. +| ํ”Œ๋ ˆ์ด์–ด ๊ธฐ์ฒด๋ช… | ํƒ„ํ™˜ ํ”ผํƒ„ ์‹œ (Projectile) | ์ถฉ๋Œ ์‹œ (Collision/Crash) | +| :--- | :---: | :---: | +| **์•„์ฆˆ๋งˆ (Azuma)** | 17% ๊ฐ์†Œ | 34% ๊ฐ์†Œ (2x) | +| **์Šคํ”ผ๋ฆฟ ์˜ค๋ธŒ ๋“œ๋ž˜๊ณค** | 13% ๊ฐ์†Œ | 26% ๊ฐ์†Œ (2x) | +| **๋ฌผ๋ž‘ ๋ฃจ์ฆˆ (Mulang Rouge)** | 20% ๊ฐ์†Œ | 40% ๊ฐ์†Œ (2x) | + +> [!IMPORTANT] +> ๋ชจ๋“  **์ถฉ๋Œ(Collision)** ๋ฐ๋ฏธ์ง€๋Š” ํƒ„ํ™˜ ํ”ผํƒ„ ๋ฐ๋ฏธ์ง€์˜ ์ •ํ™•ํžˆ **2๋ฐฐ**๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์›์น™์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. + +## 3. Architecture: Boss Implementation Schema + +์ƒˆ๋กœ์šด ๋ณด์Šค ์ถ”๊ฐ€ ์‹œ `BossDefinition` ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ฐ˜๋“œ์‹œ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +### ๐Ÿงฌ Boss Definition Interface +```typescript +interface BossDefinition { + id: string; // ์˜ˆ: 'STAGE_01_PLATON' + name: string; // ๋ณด์Šค ๋ช…์นญ + totalPhases: number; // ์ด ํ˜•ํƒœ ์ˆ˜ + + phases: Array<{ + phaseIndex: number; // 1, 2, 3... + description: string; // ํŽ˜์ด์ฆˆ ํŠน์ง• + attackPatterns: Pattern[]; + transformationTrigger: string | null; + }>; + + warningSequence: { + audioSfx: string; // ๊ฒฝ๊ณ ์Œ ID + cameraEffect: 'ZOOM_IN' | 'SHAKE'; + }; +} +``` + +## 4. Stage-specific Boss Registry (์Šคํ…Œ์ด์ง€๋ณ„ ๋ณด์Šค ๋ช…์„ธ) + +| ์Šคํ…Œ์ด์ง€ | ๋ณด์Šค๋ช… | ํŽ˜์ด์ฆˆ | ์ฃผ์š” ํŒจํ„ด ์š”์•ฝ | +| :--- | :--- | :---: | :--- | +| **Stage 1** | ํ”Œ๋ผํ†ค (Platon) | 2 | ๊ธฐ์ƒ๊ธฐ ์†Œํ™˜, ๋ณธ์ฒด ์ •๋ฐ€ ์‚ฌ๊ฒฉ | +| **Stage 2** | ๊ทธ๋ ˆ์ดํŠธ ํ˜ผ | 2 | ๋“œ๋ฆด/๋Œ๋ฉ์ด ํˆฌ์ฒ™, ์ „๋ฐฉ ๋Œ์ง„ | +| **Stage 3** | ํฌ๋ผ์ผ„ (Kraken) | 3 | ํ•จ์„  ๋ณ€ํ˜•, ๊ณ ์† ๋ฐฉ์‚ฌ, ์ž ์ˆ˜ ๋ฏธ์‚ฌ์ผ | +| **Stage 4** | ์ŠคํŒŒ์ด์Šค ๋ฒ„๋“œ | 2 | ๊ด‘์—ญ ์กฐ์ค€ํƒ„, ๋ณธ์ฒด ๋ถ„๋ฆฌ(ํ˜ธ๋ฒ„ ํƒฑํฌ) | +| **Stage 5** | ๋ธ”๋กœ์šฐ ์˜ค๋ธŒ ํ˜ธ๋ฅธ | 3 | ๋ก์˜จ ๋ ˆ์ด์ €, ์ค‘์•™ ์ฝ”์–ด ๊ฑฐ๋Œ€ ๋ ˆ์ด์ € | +| **Stage 6** | ์‰ฌํ”„ํŠธ ๋ฉ”์‹œ์•„ | 3 | ์—ด์ฐจ ์™€์ธ๋” ํƒ„์ค„, CIWS ๊ฐœํ‹€๋ง, ํ•ฉ๋™ ๊ณต๊ฒฉ | +| **Stage 7** | ์ฝœ๋กœ๋‹ˆ ์—”์ ค | 3 | ๋‹ค๋ฆฌ ํŒŒ๊ดด ์‹œํ€€์Šค, ์ดˆ๊ณ ์† ์ด์ค‘ ํšŒ์ „ ํƒ„์ค„ | +| **Stage 8** | ์ตœ์ข… ๋ณด์Šค | 3 | ํ—˜ํ”„ํ‹ฐ ๋คํ”„ํ‹ฐ / ๋””๋ฐ”์ธ ๋žจํŒŒํŠธ (๋ฌด๊ธฐ Lv.10 ์กฐ๊ฑด) | + +## 5. Difficulty Scaling Mechanism (๋‚œ์ด๋„ ์กฐ์ ˆ) + +### ๐Ÿ“ˆ ์ œ์–ด ์š”์†Œ +- **Bullet Density**: `Pattern.complexity` ๊ฐ’์„ ํ†ตํ•ด ํšŒํ”ผ ๊ณต๊ฐ„(Safe Zone) ์กฐ์ ˆ. +- **Pattern Layering**: ํŽ˜์ด์ฆˆ๊ฐ€ ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ [๋‹จ์ผ ๋ฐฉํ–ฅ] -> [๋‹ค๋ฐฉํ–ฅ/๋ฌผ๋ฆฌ๋ฐฉํ•ด] -> [ํ™˜๊ฒฝ์ œ์•ฝ]์œผ๋กœ ๊ณ ๋„ํ™”. +- **Attack Frequency**: `Cooldown` ๋‹จ์ถ•์„ ํ†ตํ•œ ์••๋ฐ• ํƒ€์ด๋ฐ ์ œ์–ด. + +--- +**Related Cluster**: [[03_Boss_Systems/Boss_Encounter_and_Timeline_Design|Boss Encounter & Timeline Design]] +**Last Audit**: 2026-04-23 diff --git a/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss_Combat_Stability_Fix_Log.md b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss_Combat_Stability_Fix_Log.md new file mode 100644 index 00000000..8dd88bbc --- /dev/null +++ b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss_Combat_Stability_Fix_Log.md @@ -0,0 +1,33 @@ +# ๐Ÿ•ต๏ธ Skybound: Boss Combat Stability Fix Log (2026-04-23) + +## 1. Issue Overview (์ด์Šˆ ๊ฐœ์š”) +- **Problem**: ๋ณด์Šค ๊ธฐ์ฒด์˜ ์ฒด๋ ฅ์ด 0์ด ๋˜์—ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํŒŒ๊ดด๋˜์ง€ ์•Š๊ณ  ๊ฒŒ์ž„์ด ์ •์ง€๋˜๊ฑฐ๋‚˜, `STAGE_CLEAR` ํŽ˜์ด์ฆˆ๋กœ ์ „ํ™˜๋˜์ง€ ์•Š๋Š” ๊ฒฐํ•จ ๋ฐœ์ƒ. +- **Occurrence**: ํŠน์ • ํŽ˜์ด์ฆˆ(BOSS_INTRO) ๋˜๋Š” ํŠน์ • ๋ฌด๊ธฐ ์กฐํ•ฉ์—์„œ ๋ณด์Šค ์ฒ˜์น˜ ์‹œ ๊ฐ„ํ—์  ๋ฐœ์ƒ. + +## 2. Root Cause Analysis (์›์ธ ๋ถ„์„) + +### ๐Ÿ” Logical Flaws +1. **Scope Restriction**: ๊ธฐ์กด ์‚ฌ๋ง ํŒ์ • ๋กœ์ง์ด `BOSS` ํŽ˜์ด์ฆˆ ๋‚ด๋ถ€์—๋งŒ ์กด์žฌํ•˜์—ฌ, `BOSS_INTRO` ์—ฐ์ถœ ๋„์ค‘ ๋ณด์Šค๊ฐ€ ํŒŒ๊ดด๋  ๊ฒฝ์šฐ ์ด๋ฅผ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•จ. +2. **Entity Lifecycle**: ๋ณด์Šค ์—”ํ‹ฐํ‹ฐ ํŒŒ๊ดด ํ›„์—๋„ `state.boss` ์ฐธ์กฐ๊ฐ€ ๋‚จ์•„์žˆ์–ด, ๋ Œ๋”๋Ÿฌ์™€ AI ์‹œ์Šคํ…œ์ด ์œ ๋ น ๊ฐ์ฒด๋ฅผ ๊ณ„์† ์—…๋ฐ์ดํŠธํ•˜๋ ค๊ณ  ์‹œ๋„ํ•จ. +3. **HUD Desync**: ๋ณด์Šค์˜ ์‹ค์ œ HP์™€ HUD์˜ ๊ฒŒ์ด์ง€ ๋ฐ” ์—…๋ฐ์ดํŠธ ์ฃผ๊ธฐ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„ ์œ ์ €์—๊ฒŒ ํ˜ผ๋™์„ ์คŒ. + +## 3. Implemented Fixes (์ˆ˜์ • ์‚ฌํ•ญ) + +### ๐Ÿ› ๏ธ Core Engine Modification +- **Unified Death Check**: `StageDirectorSystem.checkBossDefeat()` ๋ฉ”์„œ๋“œ๋กœ ๋กœ์ง์„ ํ†ตํ•ฉํ•˜์—ฌ ๋ชจ๋“  ๋ณด์Šค ๊ด€๋ จ ํŽ˜์ด์ฆˆ์—์„œ ์‚ฌ๋ง์„ ์‹ค์‹œ๊ฐ„ ๊ฐ์ง€ํ•˜๋„๋ก ์ˆ˜์ •. +- **Explicit Nullification**: ๋ณด์Šค ํŒŒ๊ดด ์ฆ‰์‹œ `state.boss = null`์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ๋ถˆํ•„์š”ํ•œ ์ฐธ์กฐ๋ฅผ ์›์ฒœ ์ฐจ๋‹จ. +- **Feedback Reinforcement**: + - ๋ณด์Šค ์‚ฌ๋ง ์‹œ 8๊ฐœ์˜ ์ˆœ์ฐจ์  ํญ๋ฐœ(`Explosion`) ์ƒ์„ฑ. + - ํ™”๋ฉด ํ”๋“ค๋ฆผ(`SHAKE`) ๊ฐ•๋„ ์ฆ๊ฐ€ ๋ฐ ์ง€์† ์‹œ๊ฐ„ ์กฐ์ •. + +### ๐Ÿ“Š HUD Synchronization +- `useGameEngine.ts` ๋ฃจํ”„ ๋‚ด์— HP ํผ์„ผํŠธ(`hp / maxHp`) ๋™๊ธฐํ™” ๋กœ์ง ์ถ”๊ฐ€. + +## 4. Verification (๊ฒ€์ฆ ๊ฒฐ๊ณผ) +- **Test Case 1**: ๋ณด์Šค ๋“ฑ์žฅ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋„์ค‘ ์ฒ˜์น˜ ์‹œ ์ •์ƒ์ ์œผ๋กœ ์Šคํ…Œ์ด์ง€ ํด๋ฆฌ์–ด ์ „ํ™˜ ํ™•์ธ. (Pass) +- **Test Case 2**: ๋ณด์Šค ์‚ฌ๋ง ํ›„ ๋ Œ๋”๋Ÿฌ์˜ Null ์ฐธ์กฐ ์—๋Ÿฌ ๋ฐœ์ƒ ์—ฌ๋ถ€ ํ™•์ธ. (Pass) +- **Test Case 3**: HUD HP ๋ฐ” ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” ํ™•์ธ. (Pass) + +--- +**Related Cluster**: [[05_Project_Issues/2026-04-21_Stability_and_Optimization_Report|Stability & Optimization]] +**Status**: Resolved & Wikified ๐Ÿซก diff --git a/10_Wiki/Topics/Skybound/04_Mechanics_Progression/UX_Gameplay_Protocol_V10_0.md b/10_Wiki/Topics/Skybound/04_Mechanics_Progression/UX_Gameplay_Protocol_V10_0.md new file mode 100644 index 00000000..2201a7cb --- /dev/null +++ b/10_Wiki/Topics/Skybound/04_Mechanics_Progression/UX_Gameplay_Protocol_V10_0.md @@ -0,0 +1,35 @@ +# ๐ŸŽฎ UX & Gameplay Protocol: V10.0 Upgrade + +## 1. Design Philosophy (์„ค๊ณ„ ์ฒ ํ•™) +๊ธฐ๋Šฅ์  ํ”„๋กœํ† ํƒ€์ž…์„ ๋„˜์–ด, ๊ณ ๋„์˜ ๋„ํŒŒ๋ฏผ ์ž๊ทน๊ณผ ์„ธ๋ จ๋œ ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” **'Skybound Protocol V10.0'**์˜ ๋ช…์„ธ์ž…๋‹ˆ๋‹ค. + +## 2. Key Implementations (์ฃผ์š” ๊ตฌํ˜„ ์‚ฌํ•ญ) + +### ๐Ÿ›ฉ๏ธ Airframe Streamlining (FALCON Focus) +- **Policy**: 'FALCON' ๊ธฐ์ฒด๋ฅผ ๋‹จ์ผ ์˜์›… ๊ธฐ์ฒด๋กœ ์„ค์ •ํ•˜์—ฌ ๋ฐธ๋Ÿฐ์‹ฑ ์ง‘์ค‘๋„ ํ–ฅ์ƒ. +- **Impact**: ์œ ์ €์—๊ฒŒ ์ผ๊ด€๋œ ์กฐ์ž‘๊ฐ๊ณผ ์„ฑ์žฅ ๊ฒฝํ—˜์„ ์ œ๊ณต. + +### ๐ŸŽฏ Jackpot Critical System (ํ™•๋ฅ  ๊ธฐ๋ฐ˜ ํฌ๋ฆฌํ‹ฐ์ปฌ) +- **Mechanism**: 15% ๊ธฐ๋ณธ ํ™•๋ฅ , 1.5x ~ 5.0x์˜ ๋ฐ๋ฏธ์ง€ ํŽธ์ฐจ ์ ์šฉ. +- **Dynamic**: `Math.pow(Math.random(), 3)`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ดˆ๊ณ ๋ฐ๋ฏธ์ง€(Jackpot)์˜ ํฌ์†Œ์„ฑ์„ ํ™•๋ณด, ๋ณด์ƒ ๊ทน๋Œ€ํ™”. + +### ๐Ÿ”ข Floating Text Feedback Engine +- **Visual Distinction**: + - ์ผ๋ฐ˜ ํƒ€๊ฒฉ: ์†Œํ˜• ํ™”์ดํŠธ ํ…์ŠคํŠธ. + - ํฌ๋ฆฌํ‹ฐ์ปฌ: ๋Œ€ํ˜• ๊ณจ๋“œ/์˜ค๋ Œ์ง€ ๊ธ€๋กœ์šฐ ํšจ๊ณผ ๋ฐ "CRITICAL!" ํ…์ŠคํŠธ ๊ฐ•์กฐ. +- **Motion**: ์ƒ๋‹จ ๋ถ€์œ  ๋ฐ ์•ŒํŒŒ ์ฑ„๋„ ํŽ˜์ด๋“œ์•„์›ƒ์„ ํ†ตํ•œ ๊ฐ€๋…์„ฑ ํ™•๋ณด. + +### ๐Ÿ“ˆ Temporal Difficulty Scaling (์‹œ๊ฐ„ ๊ฐ€๋ณ€ ๋‚œ์ด๋„) +- **Algorithm**: `difficultyMult = 1.0 + (frame / 3600) * 0.1`. +- **Scaling Impact**: + - ์  ์Šคํฐ ์ฟจ๋‹ค์šด ๋‹จ์ถ•. + - ์  HP ๋ฐ ํƒ„ํ™˜ ์†๋„ ๋น„๋ก€ ์ƒ์Šน. + - ์žฅ์• ๋ฌผ(Asteroid) ์ถœํ˜„ ๋นˆ๋„ ์ฆ๊ฐ€. + +## 3. Strategic Debt Resolved (ํ•ด๊ฒฐ๋œ ๊ธฐ์ˆ  ๋ถ€์ฑ„) +- `WorldModel`๊ณผ `spawnText` ๋ธŒ๋ฆฌ์ง€ ๋™๊ธฐํ™”. +- `createDefaultState` ๋‚ด `difficultyMult` ์ดˆ๊ธฐํ™”๋ฅผ ํ†ตํ•œ SSOT(Single Source of Truth) ํ™•๋ณด. + +--- +**Related Cluster**: [[04_Mechanics_Progression/Combat_Timeline_Difficulty_Scaling|World Tension Scaling]] +**Lead**: PD Kodari ๐Ÿซก๐ŸŸ diff --git a/10_Wiki/Topics/Skybound/05_Project_Issues/2026-04-21_Stability_and_Optimization_Report.md b/10_Wiki/Topics/Skybound/05_Project_Issues/2026-04-21_Stability_and_Optimization_Report.md new file mode 100644 index 00000000..4f270ce6 --- /dev/null +++ b/10_Wiki/Topics/Skybound/05_Project_Issues/2026-04-21_Stability_and_Optimization_Report.md @@ -0,0 +1,32 @@ +# โšก Skybound: Stability & Optimization Report (2026-04-21) + +## 1. Executive Summary (์š”์•ฝ) +๋Œ€๊ทœ๋ชจ ๊ต์ „ ๋ฐ ์•„์ดํ…œ ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์„ฑ๋Šฅ ์ €ํ•˜์™€ ๋Ÿฐํƒ€์ž„ ํฌ๋ž˜์‹œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์—”์ง„ ์•ˆ์ •์„ฑ ๋ณด๊ฐ• ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. + +## 2. Key Optimization Areas (์ฃผ์š” ์ตœ์ ํ™” ์˜์—ญ) + +### ๐Ÿ’ฅ Particle Effect Management (์ดํŽ™ํŠธ ์ œ์–ด) +- **Problem**: ํญํƒ„ ์‚ฌ์šฉ ์‹œ ์ˆ˜์ฒœ ๊ฐœ์˜ ํŒŒํŽธ(Shard) ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์–ด FPS ๊ธ‰๋ฝ. +- **Solution**: + - **Hard Cap**: ์ตœ๋Œ€ ํŒŒํ‹ฐํด ๊ฐœ์ˆ˜๋ฅผ 500๊ฐœ๋กœ ์ œํ•œ. + - **TTL (Time To Live) Acceleration**: ํŒŒํ‹ฐํด ์†Œ๋ฉธ ์†๋„๋ฅผ 6๋ฐฐ ์ƒํ–ฅ(0.1 -> 0.6)ํ•˜์—ฌ ์ž์› ํšŒ์ˆ˜ ์ฃผ๊ธฐ๋ฅผ ๋‹จ์ถ•. + +### ๐Ÿ›ก๏ธ Runtime Robustness (๋Ÿฐํƒ€์ž„ ๊ฐ•๊ฑด์„ฑ) +- **Problem**: ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์—”ํ‹ฐํ‹ฐ ๋ฐฐ์—ด ์ ‘๊ทผ์œผ๋กœ ์ธํ•œ `TypeError`. +- **Solution**: + - `GameRenderer` ๋‚ด ๋ชจ๋“  ์ˆœํšŒ ๋กœ์ง์— ์˜ต์…”๋„ ์ฒด์ด๋‹(`?.`) ๋ฐ ๊ธฐ๋ณธ๊ฐ’(`|| []`) ์ฒ˜๋ฆฌ ์˜๋ฌดํ™”. + - ์ธํ„ฐํŽ˜์ด์Šค(`types.ts`)์™€ ์‹ค์ œ ์ƒํƒœ ๊ฐ์ฒด ๊ฐ„์˜ ๋™๊ธฐํ™” ์ •๋ฐ€ ๊ฒ€์ˆ˜. + +### ๐Ÿ”„ Entity Pool Intelligence (์—”ํ‹ฐํ‹ฐ ํ’€ ๊ณ ๋„ํ™”) +- **Problem**: ID(String)์™€ ๊ฐ์ฒด ์ฐธ์กฐ ๊ฐ„์˜ ํ˜ผ์„ ์œผ๋กœ ์ธํ•œ ํ•ด์ œ ์‹คํŒจ. +- **Solution**: + - `EntityManager`์— `releaseById` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€. + - ๊ฐ์ฒด ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ˜๋‚ฉํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”์ƒํ™” ๋ ˆ์ด์–ด ๊ตฌ์ถ•. + +## 3. Post-Mortem (์‚ฌํ›„ ๋ถ„์„) +- **Silo Effect**: ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ € ๋„์ž…๊ณผ ๊ฐ™์€ ๋Œ€๊ทœ๋ชจ ์ธํ”„๋ผ ๋ณ€๊ฒฝ ์‹œ, ๊ด€๋ จ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋™์‹œ์— ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์•„ ๋ฐœ์ƒํ•œ '๋А์Šจํ•œ ๊ณ„์•ฝ(Loose Contract)' ๋ฌธ์ œ๊ฐ€ ๊ทผ๋ณธ ์›์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. +- **Guideline**: ์‹œ์Šคํ…œ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๋ฐฉ์‹(ID ๊ธฐ๋ฐ˜ vs ์ฐธ์กฐ ๊ธฐ๋ฐ˜)์„ ํ”„๋กœ์ ํŠธ ํ‘œ์ค€์œผ๋กœ ํ™•์ •ํ•˜๊ณ  ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +--- +**Related Cluster**: [[05_Project_Issues/2026-04-21-Engine-Stability-and-Optimization|Performance Tuning]] +**Status**: Verified by QA ๐Ÿซก diff --git a/10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md b/10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md index 14564a47..c3923679 100644 --- a/10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md +++ b/10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md @@ -9,6 +9,8 @@ Skybound ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์‹œ์Šคํ…œ์€ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต - **Master Plan**: [[01_Core_Engine/Skybound-Modular-Game-Architecture|Modular Architecture]] - **Data Flow**: [[01_Core_Engine/Stat-Injection-and-Visual-Renderer-Pipeline|Stat Injection & Renderer Pipeline]] - **Engine Loop**: [[01_Core_Engine/Game-Engine-Loop-and-System-Orchestration|Runtime Pipeline]] +- **Implementation**: [[01_Core_Engine/Skybound_Implementation_Report_V10_5|V10.5 Implementation Report]] +- **Fix Log**: [[01_Core_Engine/Combat_System_Reference_Error_Resolution|Combat System ReferenceError Resolution]] - **Campaign**: [[04_Mechanics_Progression/Campaign_and_Dual_Loop_System|Campaign & Dual-Loop Architecture]] - **Governance**: [[01_Core_Engine/Git_Synchronization_Protocol|Git & Knowledge Sync Protocol]] - **Visual Pattern**: [[01_Core_Engine/Visual_Feedback_Signal_Pattern|Visual Feedback Signal Pattern]] @@ -20,6 +22,7 @@ Skybound ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์‹œ์Šคํ…œ์€ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต ## ๐Ÿท๏ธ Keyword Cluster: #Battle_Tactics (์ „ํˆฌ ๋ฐ AI) ๊ต์ „ ๊ทœ์น™๊ณผ ์  ๊ธฐ์ฒด์˜ ์ง€๋Šฅ์  ํ–‰๋™ ์–‘์‹์ž…๋‹ˆ๋‹ค. - **Physics**: [[02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline|Bullet Collision Pipeline]] +- **Design**: [[03_Boss_Systems/Boss_Battle_Design_System|Boss Battle Design System]] - **Timeline**: [[03_Boss_Systems/Boss_Encounter_and_Timeline_Design|Boss Encounter & Timeline Design]] - **Rhythm**: [[02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset|Staggered Firing & Offset]] - **Implementation**: [[10_Wiki/Technical_Reports/2026-04-22_Boss_Battle_System_Implementation|V13.0 Boss Battle System Implementation]] @@ -27,6 +30,7 @@ Skybound ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์‹œ์Šคํ…œ์€ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต ## ๐Ÿท๏ธ Keyword Cluster: #Dopamine_UX (ํ”ผ๋“œ๋ฐฑ ๋ฐ ํ…์…˜) ์œ ์ €๊ฐ€ ๋А๋ผ๋Š” '์žฌ๋ฏธ'์˜ ์ˆ˜์น˜ํ™” ๋ฐ ์—ฐ์ถœ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. - **Feedback**: [[05_Project_Issues/2026-04-21-UX-Dopamine-Feedback-Upgrade|Dopamine Feedback Engine]] +- **Upgrade**: [[04_Mechanics_Progression/UX_Gameplay_Protocol_V10_0|V10.0 UX & Gameplay Upgrade]] - **Visuals**: [[01_Core_Engine/Visual_Feedback_Signal_Pattern|Dynamic Color & Renderer Signal]] - **Tension**: [[04_Mechanics_Progression/Combat_Timeline_Difficulty_Scaling|World Tension Scaling]] @@ -41,6 +45,8 @@ Skybound ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์‹œ์Šคํ…œ์€ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต ์‹œ์Šคํ…œ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. - **Audit**: [[05_Project_Issues/2026-04-22_Engine_Stability_Audit|V12.1 Engine Integrity Audit]] - **Optimization**: [[05_Project_Issues/2026-04-22_Engine_Logic_Optimization_Report|Engine Logic & Physics Optimization]] +- **Boss Fix**: [[03_Boss_Systems/Boss_Combat_Stability_Fix_Log|Boss Combat Stability Fix]] +- **Report**: [[05_Project_Issues/2026-04-21_Stability_and_Optimization_Report|2026-04-21 Stability & Optimization]] - **Performance**: [[05_Project_Issues/2026-04-21-Engine-Stability-and-Optimization|Performance Tuning]] ---