docs: update boss system technical reports and knowledge hub

This commit is contained in:
2026-04-22 19:28:15 +09:00
parent f18790f898
commit 009ec6aa8f
25 changed files with 630 additions and 556 deletions
@@ -0,0 +1,45 @@
# ♾️ Campaign & Dual-Loop Architecture
**Category:** Core System / Economy
**Status:** Implemented (v12.1)
**Related:** [[04_Mechanics_Progression/InGame_Progression_System|In-Game Progression]], [[04_Mechanics_Progression/Meta_Economy_Growth_Loop|Meta-Economy]]
---
## 1. Concept: The Dual-Loop Strategy
Skybound는 두 가지 서로 다른 성격의 플레이 루프를 유기적으로 결합하여 지속적인 동기부여와 성장을 도모한다.
### A. Blitz Loop (Farming)
- **성격**: 무한 경쟁, 자원 획득 중심.
- **목표**: 최대한 많은 [[04_Mechanics_Progression/Meta_Economy_Growth_Loop|Gold]]와 모듈 파편을 획득.
- **연계**: 여기서 벌어들인 골드는 캠페인 모드의 난이도를 낮추는 결정적인 자원이 된다.
### B. Campaign Loop (Standard)
- **성격**: 기승전결이 있는 시나리오 기반 도전.
- **목표**: 8단계의 스테이지를 클리어하여 세계관을 확장하고 고유 보상을 획득.
- **연계**: 클리어 시 더 높은 등급의 크래프팅 도면과 특수 기체(Airframe)를 해금.
---
## 2. Core Components
### 🛰️ StageManager (Orchestrator)
스테이지의 진행 상태와 모드 간의 데이터를 브릿징하는 싱글톤 시스템.
- **Stage Persistence**: 클리어한 스테이지 정보를 브라우저 LocalStorage에 영구 보존.
- **Tactical Support**: Blitz에서 번 500G를 소모하여 다음 스테이지 보스의 방어력을 10% 삭감 (최대 중첩 가능).
### ⏳ Dynamic Timeline Scaling
스테이지 번호에 따라 엔진의 난이도 계수(`Difficulty Multiplier`)를 실시간 조정.
- **Scaling Formula**: `1.0 + (stageIndex * 0.35)`
- **Stage 1**: 1.0x (입문)
- **Stage 8**: 3.45x (극한의 도전)
---
## 3. Technical Implementation
- **Data Source**: `StageManager.ts`
- **UI Interaction**: `HangarOverlay.tsx`, `ResultCard.tsx`
- **Logic Guard**: `useGameEngine.ts` (일시정지 동기화 보강)
---
**Last Updated:** 2026-04-22 🫡
@@ -0,0 +1,41 @@
# 📈 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`
@@ -0,0 +1,43 @@
# 🛠️ Equipment Crafting & Synthesis System
**Category:** Economy / Progression
**Status:** Feature Complete
**Related:** [[04_Mechanics_Progression/Meta_Economy_Growth_Loop|Meta-Economy]], [[04_Mechanics_Progression/Campaign_and_Dual_Loop_System|Campaign System]]
---
## 1. System Overview
Skybound의 장비 시스템은 '획득'보다 '연성'과 '진화'에 초점이 맞춰져 있다. 플레이어는 필드에서 얻은 파편을 모아 강력한 기체 모듈을 직접 제작한다.
## 2. Core Mechanics
### ✨ Cosmic Cast (기본 연성)
- **대상**: 일반(Common) ~ 희귀(Rare) 등급 모듈.
- **방식**: 동일 등급의 모듈 3개를 소모하여 상위 등급 모듈 1개를 무작위 생성.
- **성공률**: 100%.
### ☄️ Astral Forge (고급 합성)
- **대상**: 희귀(Rare) ~ 전설(Legendary) 등급 모듈.
- **방식**: 특정 레시피와 특수 자원(Cosmic Dust)을 소모하여 능력치가 강화된 커스텀 모듈을 제작.
- **특이사항**: 낮은 확률로 'Overclocked' 옵션이 붙은 변종 기체 파츠가 탄생할 수 있음.
---
## 3. Modular Management
### 🔍 Metadata & Tracking
- **isNew System**: 새로 획득한 아이템에 시각적 알림(Red Dot)을 부여하고, 확인 시 제거하는 UX 로직 포함.
- **Category Labels**: (A)ttack, (E)ngine, (W)eapon 등 모호한 약어를 제거하고 직관적인 텍스트 레이블로 전면 개편.
### 💰 Recycling (분해)
- 불필요한 장비를 분해하여 합성 재료 및 골드 환급.
- **Efficiency**: 고등급 장비일수록 재료 회수율이 기하급수적으로 증가.
---
## 4. Technical Integration
- **Store**: `useGameStore.ts` (Inventory & Crafting Actions)
- **UI**: `HangarOverlay.tsx`, `CraftingTab.tsx`
---
**Last Updated:** 2026-04-22 🫡
@@ -0,0 +1,38 @@
# 🔄 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`
@@ -0,0 +1,47 @@
# 💰 Meta-Economy & Growth Loop (메타 경제 및 성장 루프)
> **카테고리**: [[Skybound]], [[Game Design]], [[Economics & Algorithms]]
> **상태**: 🔵 구현 완료 (Implemented)
> **최종 업데이트**: 2026-04-22
---
## 📌 개요 (Overview)
Skybound의 장기 리텐션을 책임지는 메타 게임 시스템이다. 격렬한 인게임 세션이 종료된 후, 플레이어는 획득한 Gold와 자원을 사용하여 격납고(Hangar)에서 영구적인 성장을 도모한다.
## 🛠️ 시스템 구성 (System Components)
### 1. 영구 업그레이드 (Permanent Upgrade)
- **Hangar Shop**: 인게임에서 획득한 Gold를 소모하여 HP, ATK, SPEED, MAGNET, GOLD_GAIN 등 5종의 스탯을 영구 강화.
- **Stat Injection Engine**: 구매한 업그레이드 레벨은 매 세션 시작 시 `calculateEffectiveStats`를 통해 플레이어 기체에 즉시 주입됨.
- **지수적 비용 곡선**: 후반부 성장을 위해 레벨업 비용이 지수적으로 증가(300~8000G)하도록 설계.
### 2. 크래프팅 경제 (Crafting Economy)
아이템의 가치 보존과 인플레이션 방지를 위한 복합 제작 시스템이다.
- **Disassemble (분해)**: 불필요한 장비를 분해하여 제작 재료(`Eternal Core`, `Destruction Core`, `TechMats`)를 확보.
- **Cosmic Cast (코스믹 캐스트)**: 고가치의 재료를 대량 소모하여 자연 드롭으로 획득 불가능한 **SS급 장비**를 확정 제작.
- **Astral Forge (아스트랄 포지)**: SS/LEGEND급 장비에 S급 장비를 제물로 바쳐 `forgeLevel`(+1~5)을 강화.
- **TechPart Merge**: 동일 등급의 테크 파츠를 합성하여 스탯 보너스(`plusLevel`)를 강화.
### 3. 이벤트 패스 (Event Pass)
- **Atomic Trigger**: 보스 처치, 스테이지 클리어 등 인게임 이벤트 발생 시 실시간으로 패스 포인트 적립.
- **Consolation Reward**: 런 실패 시에도 플레이 시간에 비례하여 포인트가 지급되어 "실패해도 진전이 있다"는 심리적 보상 제공.
- **Reward Tiers**: 특정 티어 도달 시 S/SS급 확정 쿠폰 등 고가치 보상 지급.
## 💡 경제 순환 구조 (Economy Pipeline)
```mermaid
graph TD
A[적 처치 / 런 완료] -->|Gold / 재료 드롭| B(Hangar)
B --> C{선택}
C -->|Gold 소모| D[Permanent Upgrade]
C -->|장비 분해| E[Crafting Materials]
E -->|제작| F[SS_CLASS Equipment]
F -->|포지 강화| G[End-game Stats]
A -->|Pass Points| H[Event Pass Tier Up]
H -->|보상| I[S/SS Coupon]
I -->|사용| F
```
---
**승인인**: AI 개발부장 코다리 🫡
**관련 코드**: `useGameStore.ts`, `HangarOverlay.tsx`, `combatUtils.ts`, `LootGenerator.ts`