From e17155b555ee9e627e1605616ce3ef70fe801077 Mon Sep 17 00:00:00 2001 From: yesung Date: Tue, 21 Apr 2026 10:25:01 +0900 Subject: [PATCH] feat: structure knowledge base with P-Reinforce categories and include Skybound wiki Batch 11.01-B --- 10_Wiki/Topics/.obsidian/graph.json | 4 +- .../React_Clean_Code_Best_Practices.md | 0 .../React_Hooks_Deep_Dive.md | 0 .../React_Mental_Model.md | 0 .../React_Performance_Optimization.md | 0 .../React_State_Management_Strategy.md | 0 .../React_Testing_Strategy.md | 0 .../TypeScript 컴파일러의 정적 타입 시스템.md | 0 .../TypeScript_Type_Safety.md | 0 .../WebWorker_Performance.md | 0 .../API_Communication_Patterns.md | 0 .../Component_Design_Patterns.md | 0 .../Separation_of_Concerns.md | 0 .../Single_Source_of_Truth.md | 0 .../Systemic_Simulation_Principles.md | 0 .../Deployment_Final_Gate.md | 0 .../DevOps_Environment_Setup.md | 0 .../Developer Productivity Tracking.md | 0 .../Modern_Environment_Ecosystem.md | 0 .../Tetris_Project_Retrospective.md | 0 .../Accessibility_Inclusivity.md | 0 .../Collaboration_Governance.md | 0 .../Reliability_Safety_First.md | 0 .../Styling_Governance.md | 0 .../System_Debugging_Protocol.md | 0 .../System_Protocol_Standard.md | 0 ...me-Engine-Loop-and-System-Orchestration.md | 33 +++++++++++++++++ .../Skybound-Modular-Game-Architecture.md | 36 ++++++++++++++++++ ...ate-Machine-and-Phase-Transition-Events.md | 36 ++++++++++++++++++ ...-System-and-Bullet-Interaction-Pipeline.md | 35 ++++++++++++++++++ ...tage-Director-and-World-Tension-Scaling.md | 33 +++++++++++++++++ ...Staggered-Firing-Logic-and-Phase-Offset.md | 33 +++++++++++++++++ .../Boss-AI-Contextual-Decision-Engine.md | 37 +++++++++++++++++++ ...ss-Orchestration-and-Gimmick-Management.md | 30 +++++++++++++++ ...odular-Weapon-Evolution-and-Skill-Trees.md | 34 +++++++++++++++++ .../Tactical-Air-Drop-and-Supply-Logistics.md | 32 ++++++++++++++++ .../Topics/Skybound/Skybound-Knowledge-Hub.md | 29 +++++++++++++++ 37 files changed, 370 insertions(+), 2 deletions(-) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/React_Clean_Code_Best_Practices.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/React_Hooks_Deep_Dive.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/React_Mental_Model.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/React_Performance_Optimization.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/React_State_Management_Strategy.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/React_Testing_Strategy.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/TypeScript 컴파일러의 정적 타입 시스템.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/TypeScript_Type_Safety.md (100%) rename 10_Wiki/Topics/{ => 01_Frontend_Mastery}/WebWorker_Performance.md (100%) rename 10_Wiki/Topics/{ => 02_Architecture_Principles}/API_Communication_Patterns.md (100%) rename 10_Wiki/Topics/{ => 02_Architecture_Principles}/Component_Design_Patterns.md (100%) rename 10_Wiki/Topics/{ => 02_Architecture_Principles}/Separation_of_Concerns.md (100%) rename 10_Wiki/Topics/{ => 02_Architecture_Principles}/Single_Source_of_Truth.md (100%) rename 10_Wiki/Topics/{ => 02_Architecture_Principles}/Systemic_Simulation_Principles.md (100%) rename 10_Wiki/Topics/{ => 03_DevOps_Environment}/Deployment_Final_Gate.md (100%) rename 10_Wiki/Topics/{ => 03_DevOps_Environment}/DevOps_Environment_Setup.md (100%) rename 10_Wiki/Topics/{ => 03_DevOps_Environment}/Developer Productivity Tracking.md (100%) rename 10_Wiki/Topics/{ => 03_DevOps_Environment}/Modern_Environment_Ecosystem.md (100%) rename 10_Wiki/Topics/{ => 03_DevOps_Environment}/Tetris_Project_Retrospective.md (100%) rename 10_Wiki/Topics/{ => 04_Governance_Reliability}/Accessibility_Inclusivity.md (100%) rename 10_Wiki/Topics/{ => 04_Governance_Reliability}/Collaboration_Governance.md (100%) rename 10_Wiki/Topics/{ => 04_Governance_Reliability}/Reliability_Safety_First.md (100%) rename 10_Wiki/Topics/{ => 04_Governance_Reliability}/Styling_Governance.md (100%) rename 10_Wiki/Topics/{ => 04_Governance_Reliability}/System_Debugging_Protocol.md (100%) rename 10_Wiki/Topics/{ => 04_Governance_Reliability}/System_Protocol_Standard.md (100%) create mode 100644 10_Wiki/Topics/Skybound/01_Core_Engine/Game-Engine-Loop-and-System-Orchestration.md create mode 100644 10_Wiki/Topics/Skybound/01_Core_Engine/Skybound-Modular-Game-Architecture.md create mode 100644 10_Wiki/Topics/Skybound/01_Core_Engine/State-Machine-and-Phase-Transition-Events.md create mode 100644 10_Wiki/Topics/Skybound/02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline.md create mode 100644 10_Wiki/Topics/Skybound/02_Combat_AI/Stage-Director-and-World-Tension-Scaling.md create mode 100644 10_Wiki/Topics/Skybound/02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset.md create mode 100644 10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-AI-Contextual-Decision-Engine.md create mode 100644 10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-Orchestration-and-Gimmick-Management.md create mode 100644 10_Wiki/Topics/Skybound/04_Mechanics_Progression/Modular-Weapon-Evolution-and-Skill-Trees.md create mode 100644 10_Wiki/Topics/Skybound/04_Mechanics_Progression/Tactical-Air-Drop-and-Supply-Logistics.md create mode 100644 10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md diff --git a/10_Wiki/Topics/.obsidian/graph.json b/10_Wiki/Topics/.obsidian/graph.json index e333fe25..85408cfd 100644 --- a/10_Wiki/Topics/.obsidian/graph.json +++ b/10_Wiki/Topics/.obsidian/graph.json @@ -17,6 +17,6 @@ "repelStrength": 10, "linkStrength": 1, "linkDistance": 250, - "scale": 0.08317427835927486, - "close": false + "scale": 0.05932617187499934, + "close": true } \ No newline at end of file diff --git a/10_Wiki/Topics/React_Clean_Code_Best_Practices.md b/10_Wiki/Topics/01_Frontend_Mastery/React_Clean_Code_Best_Practices.md similarity index 100% rename from 10_Wiki/Topics/React_Clean_Code_Best_Practices.md rename to 10_Wiki/Topics/01_Frontend_Mastery/React_Clean_Code_Best_Practices.md diff --git a/10_Wiki/Topics/React_Hooks_Deep_Dive.md b/10_Wiki/Topics/01_Frontend_Mastery/React_Hooks_Deep_Dive.md similarity index 100% rename from 10_Wiki/Topics/React_Hooks_Deep_Dive.md rename to 10_Wiki/Topics/01_Frontend_Mastery/React_Hooks_Deep_Dive.md diff --git a/10_Wiki/Topics/React_Mental_Model.md b/10_Wiki/Topics/01_Frontend_Mastery/React_Mental_Model.md similarity index 100% rename from 10_Wiki/Topics/React_Mental_Model.md rename to 10_Wiki/Topics/01_Frontend_Mastery/React_Mental_Model.md diff --git a/10_Wiki/Topics/React_Performance_Optimization.md b/10_Wiki/Topics/01_Frontend_Mastery/React_Performance_Optimization.md similarity index 100% rename from 10_Wiki/Topics/React_Performance_Optimization.md rename to 10_Wiki/Topics/01_Frontend_Mastery/React_Performance_Optimization.md diff --git a/10_Wiki/Topics/React_State_Management_Strategy.md b/10_Wiki/Topics/01_Frontend_Mastery/React_State_Management_Strategy.md similarity index 100% rename from 10_Wiki/Topics/React_State_Management_Strategy.md rename to 10_Wiki/Topics/01_Frontend_Mastery/React_State_Management_Strategy.md diff --git a/10_Wiki/Topics/React_Testing_Strategy.md b/10_Wiki/Topics/01_Frontend_Mastery/React_Testing_Strategy.md similarity index 100% rename from 10_Wiki/Topics/React_Testing_Strategy.md rename to 10_Wiki/Topics/01_Frontend_Mastery/React_Testing_Strategy.md diff --git a/10_Wiki/Topics/TypeScript 컴파일러의 정적 타입 시스템.md b/10_Wiki/Topics/01_Frontend_Mastery/TypeScript 컴파일러의 정적 타입 시스템.md similarity index 100% rename from 10_Wiki/Topics/TypeScript 컴파일러의 정적 타입 시스템.md rename to 10_Wiki/Topics/01_Frontend_Mastery/TypeScript 컴파일러의 정적 타입 시스템.md diff --git a/10_Wiki/Topics/TypeScript_Type_Safety.md b/10_Wiki/Topics/01_Frontend_Mastery/TypeScript_Type_Safety.md similarity index 100% rename from 10_Wiki/Topics/TypeScript_Type_Safety.md rename to 10_Wiki/Topics/01_Frontend_Mastery/TypeScript_Type_Safety.md diff --git a/10_Wiki/Topics/WebWorker_Performance.md b/10_Wiki/Topics/01_Frontend_Mastery/WebWorker_Performance.md similarity index 100% rename from 10_Wiki/Topics/WebWorker_Performance.md rename to 10_Wiki/Topics/01_Frontend_Mastery/WebWorker_Performance.md diff --git a/10_Wiki/Topics/API_Communication_Patterns.md b/10_Wiki/Topics/02_Architecture_Principles/API_Communication_Patterns.md similarity index 100% rename from 10_Wiki/Topics/API_Communication_Patterns.md rename to 10_Wiki/Topics/02_Architecture_Principles/API_Communication_Patterns.md diff --git a/10_Wiki/Topics/Component_Design_Patterns.md b/10_Wiki/Topics/02_Architecture_Principles/Component_Design_Patterns.md similarity index 100% rename from 10_Wiki/Topics/Component_Design_Patterns.md rename to 10_Wiki/Topics/02_Architecture_Principles/Component_Design_Patterns.md diff --git a/10_Wiki/Topics/Separation_of_Concerns.md b/10_Wiki/Topics/02_Architecture_Principles/Separation_of_Concerns.md similarity index 100% rename from 10_Wiki/Topics/Separation_of_Concerns.md rename to 10_Wiki/Topics/02_Architecture_Principles/Separation_of_Concerns.md diff --git a/10_Wiki/Topics/Single_Source_of_Truth.md b/10_Wiki/Topics/02_Architecture_Principles/Single_Source_of_Truth.md similarity index 100% rename from 10_Wiki/Topics/Single_Source_of_Truth.md rename to 10_Wiki/Topics/02_Architecture_Principles/Single_Source_of_Truth.md diff --git a/10_Wiki/Topics/Systemic_Simulation_Principles.md b/10_Wiki/Topics/02_Architecture_Principles/Systemic_Simulation_Principles.md similarity index 100% rename from 10_Wiki/Topics/Systemic_Simulation_Principles.md rename to 10_Wiki/Topics/02_Architecture_Principles/Systemic_Simulation_Principles.md diff --git a/10_Wiki/Topics/Deployment_Final_Gate.md b/10_Wiki/Topics/03_DevOps_Environment/Deployment_Final_Gate.md similarity index 100% rename from 10_Wiki/Topics/Deployment_Final_Gate.md rename to 10_Wiki/Topics/03_DevOps_Environment/Deployment_Final_Gate.md diff --git a/10_Wiki/Topics/DevOps_Environment_Setup.md b/10_Wiki/Topics/03_DevOps_Environment/DevOps_Environment_Setup.md similarity index 100% rename from 10_Wiki/Topics/DevOps_Environment_Setup.md rename to 10_Wiki/Topics/03_DevOps_Environment/DevOps_Environment_Setup.md diff --git a/10_Wiki/Topics/Developer Productivity Tracking.md b/10_Wiki/Topics/03_DevOps_Environment/Developer Productivity Tracking.md similarity index 100% rename from 10_Wiki/Topics/Developer Productivity Tracking.md rename to 10_Wiki/Topics/03_DevOps_Environment/Developer Productivity Tracking.md diff --git a/10_Wiki/Topics/Modern_Environment_Ecosystem.md b/10_Wiki/Topics/03_DevOps_Environment/Modern_Environment_Ecosystem.md similarity index 100% rename from 10_Wiki/Topics/Modern_Environment_Ecosystem.md rename to 10_Wiki/Topics/03_DevOps_Environment/Modern_Environment_Ecosystem.md diff --git a/10_Wiki/Topics/Tetris_Project_Retrospective.md b/10_Wiki/Topics/03_DevOps_Environment/Tetris_Project_Retrospective.md similarity index 100% rename from 10_Wiki/Topics/Tetris_Project_Retrospective.md rename to 10_Wiki/Topics/03_DevOps_Environment/Tetris_Project_Retrospective.md diff --git a/10_Wiki/Topics/Accessibility_Inclusivity.md b/10_Wiki/Topics/04_Governance_Reliability/Accessibility_Inclusivity.md similarity index 100% rename from 10_Wiki/Topics/Accessibility_Inclusivity.md rename to 10_Wiki/Topics/04_Governance_Reliability/Accessibility_Inclusivity.md diff --git a/10_Wiki/Topics/Collaboration_Governance.md b/10_Wiki/Topics/04_Governance_Reliability/Collaboration_Governance.md similarity index 100% rename from 10_Wiki/Topics/Collaboration_Governance.md rename to 10_Wiki/Topics/04_Governance_Reliability/Collaboration_Governance.md diff --git a/10_Wiki/Topics/Reliability_Safety_First.md b/10_Wiki/Topics/04_Governance_Reliability/Reliability_Safety_First.md similarity index 100% rename from 10_Wiki/Topics/Reliability_Safety_First.md rename to 10_Wiki/Topics/04_Governance_Reliability/Reliability_Safety_First.md diff --git a/10_Wiki/Topics/Styling_Governance.md b/10_Wiki/Topics/04_Governance_Reliability/Styling_Governance.md similarity index 100% rename from 10_Wiki/Topics/Styling_Governance.md rename to 10_Wiki/Topics/04_Governance_Reliability/Styling_Governance.md diff --git a/10_Wiki/Topics/System_Debugging_Protocol.md b/10_Wiki/Topics/04_Governance_Reliability/System_Debugging_Protocol.md similarity index 100% rename from 10_Wiki/Topics/System_Debugging_Protocol.md rename to 10_Wiki/Topics/04_Governance_Reliability/System_Debugging_Protocol.md diff --git a/10_Wiki/Topics/System_Protocol_Standard.md b/10_Wiki/Topics/04_Governance_Reliability/System_Protocol_Standard.md similarity index 100% rename from 10_Wiki/Topics/System_Protocol_Standard.md rename to 10_Wiki/Topics/04_Governance_Reliability/System_Protocol_Standard.md diff --git a/10_Wiki/Topics/Skybound/01_Core_Engine/Game-Engine-Loop-and-System-Orchestration.md b/10_Wiki/Topics/Skybound/01_Core_Engine/Game-Engine-Loop-and-System-Orchestration.md new file mode 100644 index 00000000..ba9b53a7 --- /dev/null +++ b/10_Wiki/Topics/Skybound/01_Core_Engine/Game-Engine-Loop-and-System-Orchestration.md @@ -0,0 +1,33 @@ +# Game Engine Loop and System Orchestration + +Skybound의 런타임 엔진은 효율적인 업데이트와 렌더링을 위해 엄격하게 제어된 파이프라인을 따릅니다. `useGameEngine`은 모든 시스템의 업데이트 주기를 총괄하며, 프레임 간의 오차를 최소화합니다. + +## 1. Engine Pipeline Hierarchy +엔진 루프는 매 프레임마다 다음과 같은 순서로 시스템을 실행합니다. + +1. **Input Polling**: 사용자의 키보드/게임패드 입력을 스냅샷으로 캡처합니다. +2. **State Sync**: 서버 또는 전역 상태 관리자로부터 데이터를 동기화합니다. +3. **Logic Update (System Pipeline)**: + - `StageDirectorSystem`: 현재 웨이브 및 텐션 상태 업데이트. + - `CombatSystem`: 물리 연산, 충돌 판정, AI 이동 로직 실행. + - `BossSystem`: 보스 패턴 및 기믹 업데이트. + - `ModularWeaponSystem`: 발사 주기 및 레벨업 체크. +4. **Post-Process**: 사망 판정, 아이템 획득, UI 갱신 등 논리적 정리를 수행합니다. +5. **Render Dispatch**: 최종 계산된 위치 값을 그래픽 시스템에 전달합니다. + +## 2. Dynamic Timestepping (Delta Time) +성능에 관계없이 일관된 게임 플레이 속도를 보장하기 위해 `deltaTime` 기반의 업데이트를 수행합니다. +- **Interpolation**: 렌더링 시 프레임 사이의 위치를 보간하여 시각적 부드러움을 극대화합니다. +- **Panic Mode**: 프레임 드롭이 심각할 경우, 물리 연산 횟수를 조절하여 게임의 '슬로우 모션' 현상을 방지합니다. + +## 3. Integration with React Lifecycle +엔진은 `requestAnimationFrame`과 React의 `useEffect`를 결합하여 안정적인 생명주기를 가집니다. +- **Resource Disposal**: 게임 종료 또는 언마운트 시 모든 투사체 풀과 메모리 자원을 즉시 해제하여 메모리 누수를 방지합니다. + +## 4. Key Implementation References +- `src/features/game/hooks/useGameEngine.ts`: 메인 루프 파이프라인 정의. +- `src/features/game/systems/index.ts`: 시스템 등록 및 정렬 로직. + +--- +**Status**: Managed by Skybound Protocol +**Context**: Engine Engineering / Runtime Pipeline diff --git a/10_Wiki/Topics/Skybound/01_Core_Engine/Skybound-Modular-Game-Architecture.md b/10_Wiki/Topics/Skybound/01_Core_Engine/Skybound-Modular-Game-Architecture.md new file mode 100644 index 00000000..dbea6792 --- /dev/null +++ b/10_Wiki/Topics/Skybound/01_Core_Engine/Skybound-Modular-Game-Architecture.md @@ -0,0 +1,36 @@ +--- +id: Skybound-Modular-Game-Architecture +category: Software-Architecture +tags: [Clean-Architecture, Game-Engine, Vite, TypeScript, Skybound] +confidence_score: 0.97 +last_reinforced: 2026-04-21 +--- + +# Skybound Modular Game Architecture + +## 1. Overview +Skybound Protocol은 React와 TypeScript 위에서 동작하는 고도로 모듈화된 게임 아키텍처를 채택하고 있다. 이는 UI 관리의 편의성과 고성능 Canvas 렌더링을 결합한 하이브리드 접근 방식이다. + +## 2. Layered Structure +### 2.1. Core Engine Layer +- **useGameEngine**: 게임의 심장부로, 60FPS의 메인 루프를 관리한다. `Update`와 `Render` 루프를 엄격히 분리하여 로직 연산과 시각적 표현의 일관성을 유지한다. +- **System Manager**: 모든 `GameSystem`(StageDirector, Combat, Spawner 등)을 순차적으로 업데이트하는 오케스트레이션 수행. + +### 2.2. Tactical Layer +- **Combat System**: 원형 및 AABB 충돌 알고리즘을 통한 물리적 상호작용 처리. +- **Asset System**: `sprite_atlas.json`을 통해 엔티티의 그래픽 데이터를 중앙 집중 관리하며, 픽셀 퍼펙트한 추출을 보장한다. + +### 2.3. Strategy Layer +- **Supply Systems (Air-drop)**: `Capture Area` 로직을 통해 플레이어에게 보상을 제공하는 전술적 상점/보급 요소. +- **Hazard Systems**: 파괴 가능한 장애물과 기능적 환경 요소들을 통한 맵의 변별력 확보. + +## 3. RL Update & Strategic Insight +### 🎯 Policy Evolution +- **과거 정책**: 거대 객체(God Object) 중심의 모노리스 구조. 기능 추가 시마다 사이드 이펙트 발생 빈도가 높았음. +- **현대적 정책 (Ps-Reinforce)**: '전략적 분리(Strategic Decoupling)' 정책. 각 시스템은 `GameContext` 인터페이스를 통해서만 소통하며, 상태 변화는 원자적으로 이루어짐. +- **Strategic Insight**: 게임 데이터와 프리젠테이션 레이어의 완벽한 분리는 차후 웹 환경뿐만 아니라 크로스 플랫폼(Native Wrapper) 확장 시에도 코드 재사용성을 극대화하는 기반이 된다. + +## 4. Related +- [[Stage-Director-and-World-Tension-Scaling]] +- [[State-Machine-and-Phase-Transition-Events]] +- [[Combat-System-Core]] diff --git a/10_Wiki/Topics/Skybound/01_Core_Engine/State-Machine-and-Phase-Transition-Events.md b/10_Wiki/Topics/Skybound/01_Core_Engine/State-Machine-and-Phase-Transition-Events.md new file mode 100644 index 00000000..70d62f0d --- /dev/null +++ b/10_Wiki/Topics/Skybound/01_Core_Engine/State-Machine-and-Phase-Transition-Events.md @@ -0,0 +1,36 @@ +--- +id: State-Machine-and-Phase-Transition-Events +category: Software-Engineering +tags: [State-Management, Game-Loop, Telemetry, Skybound] +confidence_score: 0.94 +last_reinforced: 2026-04-21 +--- + +# State Machine and Phase Transition Events + +## 1. Overview +Skybound의 `stateMachine.ts`는 게임의 선형적/비선형적 스테이지 흐름을 제어하는 핵심 로직을 포함한다. 각 페이즈 전환은 단순한 상태 변경을 넘어, **원격 분석(Telemetry)**과 **인게임 이벤트(Comms, Reward)**를 동기적으로 트리거한다. + +## 2. Key Components +### 2.1. Phase Transition Context +전환 시 필요한 모든 유도 데이터(`lives`, `airframe`, `telemetry callbacks` 등)를 하나의 컨텍스트로 묶어 처리함으로써 파라미터 파편화를 방지한다. + +### 2.2. Selective Telemetry Tracking +전환 시점마다 자동으로 분석 데이터를 전송한다: +- `trackPhaseEnd`: 해당 페이즈에 플레이어가 머문 시간 측정. +- `trackBossReach`: 스테이지 시작부터 보스 조우까지 걸린 시간 추적(플레이어 효율성 지표). +- `trackStageClear`: 사망 횟수와 클리어 시간을 대조하여 난이도 적정성 판별. + +### 2.3. Narrative Integration +`INTRO` 페이즈 전환 시, 현재 스테이지에 맞는 브리핑(`briefing_hq`) 메시지를 자동으로 하달하여 내러티브를 게임 시스템과 밀착시킨다. + +## 3. RL Update & Strategic Insight +### 🎯 Policy Evolution +- **과거 정책**: '소리 없는' 페이즈 전환. 데이터 측정이 수동적이었으며, 유저 경험의 병목 현상을 파악하기 어려웠음. +- **현대적 정책 (Ps-Reinforce)**: '관찰 가능한 전이(Observable Transitions)' 정책. 모든 전환이 데이터 포인트로 변환되어 사후 밸런싱 모형의 핵심 입력 데이터로 활용됨. +- **Strategic Insight**: 보스 등장 전 '경고(Warning)' 페이즈에서의 텔레메트리 락(Telemetry Lock)은 인스턴스 생성 시의 부하를 모니터링하여 프레임 드랍 발생 시 자동으로 렌더링 옵션을 조절하는 로드 밸런싱 기능으로 확장 가능하다. + +## 4. Related +- [[Stage-Director-and-World-Tension-Scaling]] +- [[Skybound-Modular-Game-Architecture]] +- [[Boss-AI-Contextual-Decision-Engine]] diff --git a/10_Wiki/Topics/Skybound/02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline.md b/10_Wiki/Topics/Skybound/02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline.md new file mode 100644 index 00000000..03e96c6e --- /dev/null +++ b/10_Wiki/Topics/Skybound/02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline.md @@ -0,0 +1,35 @@ +# Combat System and Bullet Interaction Pipeline + +Skybound의 전투 시스템은 고속 탄막 처리와 정밀한 충돌 판정을 위한 최적화된 파이프라인을 제공합니다. `CombatSystem`은 모든 동적 객체(플레이어, 적, 투사체)의 상호작용을 총괄하는 허브 역할을 수행합니다. + +## 1. Interaction Architecture +전투 시스템은 **Actor-Proxy 패선**을 사용하여 물리 로직과 렌더링 데이터를 분리합니다. + +- **Bullet Pooling**: 투사체의 빈번한 생성을 방지하기 위해 객체 풀링 기법을 적용, 런타임 가비지 컬렉션 부하를 최소화합니다. +- **Role-Based AI**: 적 기체는 `Interceptor`, `Defender`, `Sniper` 등 지정된 역할에 따라 서로 다른 이동 및 공격 패턴을 가집니다. + +## 2. Core Logic: Collision Detection +충돌 판정은 성능과 정확도의 균형을 위해 계층적 검사를 수행합니다. + +### 2.1 Spatial Partitioning (Broad-phase) +화면을 그리드 단위로 나누어 인접한 객체들끼리만 충돌 검사를 수행하도록 최적화되어 있습니다. (Bounding Box 기반 예비 검사) + +### 2.2 Precise Detection (Narrow-phase) +실제 충돌은 객체의 형태에 따라 다음 공식을 따릅니다. +- **Circle-to-Circle**: 플레이어 피격 판정 및 원형 탄막에 사용됩니다. 두 중심점 사이의 거리가 반지름 합보다 작을 때 충돌로 판정합니다. +- **Homing Logic**: 유도 미사일(`Vortex Missile`)은 `targetPos`와 현재 `velocity` 사이의 벡터 연산을 통해 매 프레임 조향각(`angularVelocity`)을 보정합니다. + +## 3. Bullet Mechanics +### 3.1 Velocity and Drag +모든 투사체는 초기 속도(`initialVelocity`)와 항력(`drag`) 값을 가질 수 있으며, 이는 환경(중력, 대기 저항)에 따라 동적으로 변화합니다. + +### 3.2 Bullet Eraser Logic +특정 'Shield' 스킬이나 보스 패턴 종료 시, 화면상의 특정 탄막을 'Delete'가 아닌 'Fade out & Return to Pool' 처리하여 시각적 연속성을 보장합니다. + +## 4. Key Implementation References +- `src/features/game/systems/CombatSystem.ts`: 메인 루프 및 충돌 파이프라인. +- `src/features/game/entities/BulletPool.ts`: 탄막 풀링 및 재사용 로직. + +--- +**Status**: Managed by Skybound Protocol +**Context**: Combat Engineering / Physics Pipeline diff --git a/10_Wiki/Topics/Skybound/02_Combat_AI/Stage-Director-and-World-Tension-Scaling.md b/10_Wiki/Topics/Skybound/02_Combat_AI/Stage-Director-and-World-Tension-Scaling.md new file mode 100644 index 00000000..77316f46 --- /dev/null +++ b/10_Wiki/Topics/Skybound/02_Combat_AI/Stage-Director-and-World-Tension-Scaling.md @@ -0,0 +1,33 @@ +--- +id: Stage-Director-and-World-Tension-Scaling +category: Game-Architecture +tags: [Game-Systems, Orchestration, Dynamic-Complexity, Skybound] +confidence_score: 0.96 +last_reinforced: 2026-04-21 +--- + +# Stage Director and World Tension Scaling + +## 1. Overview +`StageDirectorSystem`은 게임의 전체적인 흐름(Intro -> Wave -> Boss)을 관리하는 오케스트레이터이다. 단순히 페이즈를 전환하는 것을 넘어, 게임 월드의 **'Tension Level'**을 계산하여 전역적인 난이도와 시각 효과의 가중치를 결정한다. + +## 2. Core Mechanism +### 2.1. World Tension Calculation +월드 텐션은 현재 전장에 존재하는 적군의 수와 보스의 활성화 여부에 따라 동적으로 변한다. +- `targetTension = Math.min(1.0, enemyCount * 0.1 + (isBossActive ? 0.5 : 0))` +- **Smooth Lerp**: 텐션 값의 급격한 변화를 막기 위해 보간법(`Lerp`)을 적용하여 자연스러운 고조/이완을 구현한다. + +### 2.2. Phase Transitions +- **Atomic Capture**: 점수(`scoreBuffer`)와 처치 수(`killBuffer`)를 동기화할 때 상태를 원자적(Atomic)으로 캡처하고 리셋하여 데이터 유실을 방지한다. +- **Event-Driven**: 페이즈 전환 시 `BOSS_ACTION`이나 `SFX` 이벤트를 발행하여 사운드 엔진 및 UI와 루즈하게 결합된 통신을 수행한다. + +## 3. RL Update & Strategic Insight +### 🎯 Policy Evolution +- **과거 정책**: 고정된 시간(Timetable) 기반의 웨이브 생성. 플레이어의 진행 속도와 무관하게 적이 생성되어 루즈하거나 너무 바쁜 상황 발생. +- **현대적 정책 (Ps-Reinforce)**: 텐션 기반의 '반응형 무대 감독(Reactive Director)' 정책. 플레이어가 적을 빨리 처리하면 텐션이 낮아지고, 이를 감독이 감지하여 다음 이벤트를 가속하거나 보강함. +- **Strategic Insight**: 텐션 지표는 메인 테마 음악의 BPM이나 레이어링 볼륨(Dynamic Audio Layering)과 연동되어 가청적 몰입도를 극대화하는 핵심 파라미터로 기능한다. + +## 4. Related +- [[Boss-AI-Contextual-Decision-Engine]] +- [[State-Machine-and-Phase-Transition-Events]] +- [[Skybound-Modular-Game-Architecture]] diff --git a/10_Wiki/Topics/Skybound/02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset.md b/10_Wiki/Topics/Skybound/02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset.md new file mode 100644 index 00000000..8d8457e2 --- /dev/null +++ b/10_Wiki/Topics/Skybound/02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset.md @@ -0,0 +1,33 @@ +--- +id: Staggered-Firing-Logic-and-Phase-Offset +category: Game-Mechanics +tags: [Game-Design, Combat-Systems, Phase-Offset, Skybound] +confidence_score: 0.98 +last_reinforced: 2026-04-21 +--- + +# Staggered Firing Logic and Phase Offset + +## 1. Overview +다수의 발사체나 포탑을 보유한 엔티티(주로 보스)가 공격을 수행할 때, 모든 발사체가 일제히 사격하여 발생하는 리듬의 불균형(Attack Silence)을 해결하기 위한 **위상 분산(Initial Phase Staggering)** 기술이다. + +## 2. Core Logic +### 2.1. The Phase Offset Formula +포탑이 생성되거나 초기화될 때, 각 인덱스(`i`)에 따라 의도적인 지연 시간을 부여한다. +- `part[i].lastShot = currentFrame + (i / totalParts) * shootCooldown` +- 여기에 **Random Jitter**를 추가하여 기계적인 패턴을 완화하고 유기적인 리듬감을 확보한다. + +### 2.2. Application in Skybound +- **Stage 4 Boss**: 4개의 포탑이 각각 0%, 25%, 50%, 75%의 쿨타임 오프셋을 가지고 사격하여, 플레이어는 끊임없이 날아오는 탄막을 지속적으로 회피해야 한다. +- **Visual Fidelity**: 보스가 마치 살아있는 생명체처럼 부위별로 교차 사격하는 시각적 효과를 제공한다. + +## 3. RL Update & Strategic Insight +### 🎯 Policy Evolution +- **과거 정책**: '버스트 후 휴식' 스타일의 공격. 이는 플레이어에게 명확한 딜링 타임을 주지만, 긴장을 풀게 만드는 단점이 있었음. +- **현대적 정책 (Ps-Reinforce)**: '지속적 위협(Persistent Threat)' 정책으로 전환. 탄막의 총량은 유지하되 시간축으로 밀도를 분산하여 난이도 조절 및 프레임 드랍 방지를 동시에 달성. +- **Strategic Insight**: 위상 분산은 네트워크 멀티플레이어 환경(Lockstep)에서 패킷 폭주를 방지하는 데이터 분산 전략으로도 응용될 수 있다. + +## 4. Related +- [[Boss-AI-Contextual-Decision-Engine]] +- [[Stage-Director-and-World-Tension-Scaling]] +- [[Combat-System-Core]] diff --git a/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-AI-Contextual-Decision-Engine.md b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-AI-Contextual-Decision-Engine.md new file mode 100644 index 00000000..aebf7646 --- /dev/null +++ b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-AI-Contextual-Decision-Engine.md @@ -0,0 +1,37 @@ +--- +id: Boss-AI-Contextual-Decision-Engine +category: Game-AI +tags: [Decision-Making, Weighted-Selection, Boss-AI, Skybound] +confidence_score: 0.95 +last_reinforced: 2026-04-21 +--- + +# Boss AI Contextual Decision Engine + +## 1. Overview +Skybound의 보스 AI는 단순한 고정 패턴 반복이 아닌, 실시간 데이터(`BossAIContext`)를 기반으로 한 **가중치 기반 의사결정 엔진**을 사용한다. 이는 보스가 현재 상황(플레이어의 숙련도, 잔여 체력, 텐션 레벨)에 맞춰 '의도(Intent)'를 먼저 결정하고 그에 맞는 구체적인 액션을 선택하는 2단계 구조를 취한다. + +## 2. Core Logic Structure +### 2.1. Intent Selection (의도 결정) +보스는 `PRESSURE`, `RESET`, `FINISHER`, `RECOVER` 중 하나의 의도를 먼저 선택한다. +- **PRESSURE**: 플레이어를 압박하는 연속 공격. +- **RESET**: 전열 재정비 및 거리 확보. +- **FINISHER**: 결정적인 강력한 공격 (체력 저하 또는 텐션 고조 시 활성화). +- **RECOVER**: 공격 후 짧은 휴식 및 재배치. + +### 2.2. Intent Weighting Factors +가중치 계산 시 다음과 같은 변수들이 실시간으로 개입한다: +- **Tension Level**: 긴장도가 `HIGH_THRESHOLD`를 넘으면 `PRESSURE`와 `FINISHER` 가중치 대폭 증가. +- **Recent Player Hit**: 플레이어가 최근에 피격당했다면 더욱 거세게 몰아붙이는(`PRESSURE`) 로직. +- **Boss Phase**: 페이즈가 넘어갈수록(1 -> 2 -> 3) `FINISHER`의 최소 가중치(`CLAMP_MIN`)가 보장되어 위협적인 패턴 빈도가 상향됨. + +## 3. RL Update & Strategic Insight +### 🎯 Policy Evolution +- **과거 정책**: 단순 난수(Random)에 의한 패턴 선택. 특정 상황에서 너무 쉽거나 불가능한 패턴이 나오는 불균형 존재. +- **현대적 정책 (Ps-Reinforce)**: 상황 인지형 가중치 샘플링(`pickWeighted`)을 도입하여 플레이어의 흐름을 읽는 '지능형' 전투 리듬 구현. +- **Strategic Insight**: Late-stage(Stage 7+)의 경우 `RECOVER` 가중치에 페널티를 부여하여 난이도 곡선을 가파르게 상승시키는 '난이도 가속' 정책이 관찰됨. + +## 4. Related +- [[Staggered-Firing-Logic-and-Phase-Offset]] +- [[Stage-Director-and-World-Tension-Scaling]] +- [[Skybound-Modular-Game-Architecture]] diff --git a/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-Orchestration-and-Gimmick-Management.md b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-Orchestration-and-Gimmick-Management.md new file mode 100644 index 00000000..cc8b390d --- /dev/null +++ b/10_Wiki/Topics/Skybound/03_Boss_Systems/Boss-Orchestration-and-Gimmick-Management.md @@ -0,0 +1,30 @@ +# Boss Orchestration and Gimmick Management + +Skybound의 보스전은 단순한 체력 깎기가 아닌, 복합적인 기믹과 부위 파괴 로직이 결합된 시퀀스입니다. `BossSystem`은 보스의 생명주기와 패턴 실행을 조율(Orchestration)합니다. + +## 1. Multi-Part Architecture +보스는 여러 개의 독립적인 **Part Object**로 구성됩니다. 각 파츠는 고유의 HP와 방어력을 가집니다. + +- **Dependency Tree**: 특정 파츠(예: Shield Generator)가 파괴되어야만 본체(Core)에 데미지를 입힐 수 있는 트리 구조를 지원합니다. +- **Visual Feedback**: 파츠 파괴 시 텍스처 교체 및 스파크 이펙트 발생과 같은 시각적 상태 변화를 실시간으로 렌더링 시스템에 전달합니다. + +## 2. Gimmick Activation System +보스전의 긴장감을 유지하기 위해 특정 조건 기반의 기믹이 발동됩니다. + +- **Phase-Triggered Gimmicks**: HP 임계값(Threshold) 도달 시, 보스의 외형 또는 배경 환경이 변화하며 새로운 기믹이 추가됩니다. +- **Environmental Hazard**: 보스가 화면의 레이저 트랩이나 전자기 폭풍을 호출하여 플레이어의 이동 영역을 제한하는 로직입니다. + +## 3. Implementation Process: ExecutePattern() +보스의 패턴 실행은 다음과 같은 단계를 거칩니다. +1. **Selection**: `BossAIService`가 가중치에 따라 다음 행동(Intent)을 결정합니다. +2. **Telegraphing**: 공격 전 예고 로직(Warning sign, Audio cue)을 1.5~2초간 출력합니다. +3. **Execution**: 실제 탄막을 생성하거나 물리적 돌진 로직을 실행합니다. +4. **Cooldown/Recovery**: 패턴 종료 후 잠시 'Stun' 또는 'Idle' 상태로 전환하여 플레이어의 딜링 타임을 제공합니다. + +## 4. Key Implementation References +- `src/features/game/systems/BossSystem.ts`: 멀티 파츠 관리 및 패턴 실행 코어. +- `src/features/game/ai/bossAIService.ts`: 패턴 선택 지능 로직. + +--- +**Status**: Managed by Skybound Protocol +**Context**: Boss Engineering / Pattern Orchestration diff --git a/10_Wiki/Topics/Skybound/04_Mechanics_Progression/Modular-Weapon-Evolution-and-Skill-Trees.md b/10_Wiki/Topics/Skybound/04_Mechanics_Progression/Modular-Weapon-Evolution-and-Skill-Trees.md new file mode 100644 index 00000000..6fc13203 --- /dev/null +++ b/10_Wiki/Topics/Skybound/04_Mechanics_Progression/Modular-Weapon-Evolution-and-Skill-Trees.md @@ -0,0 +1,34 @@ +# Modular Weapon Evolution and Skill Trees + +Skybound의 무기 시스템은 단순한 수치 강화를 넘어, 모듈의 조합과 진화(Evolution)를 통해 기체의 특성을 정의합니다. `ModularWeaponSystem`은 이러한 무기 상태의 변화와 트리 형태의 진화 로직을 관리합니다. + +## 1. Evolution Logic (진화 메커니즘) +무기는 특정 레벨에 도달하거나 보너스 아이템을 획득했을 때 **Evolution** 단계로 진입할 수 있습니다. + +- **Prerequisite Check**: 진화를 위해서는 베이스 무기와 보조 모듈(Passive Module)의 조화가 필요합니다. +- **State Transition**: 진화 시 기존의 무기 발사 로직은 폐기되고, 완전히 새로운 `AttackPattern`으로 교체됩니다. + - 예: `Plasma Cannon` (기본) -> `Ion Railgun` (진화: 관통 및 폭발 속성 추가) + +## 2. Core Skill Categories +### 2.1 Active Weapons +직접적인 공격을 담당하는 모듈로, `FireRate`, `Damage`, `Piercing` 속성을 가집니다. +- **Vortex Missile**: 가장 가까운 적을 추적하며 폭발 시 광역 데미지를 입힙니다. +- **Plasma Guard**: 기체 주변을 회전하며 근접한 적과 탄막을 방어합니다. + +### 2.2 Passive Modules (Stats/Utility) +Active Weapon의 성능을 간접적으로 강화하는 모듈입니다. +- **Cooling System**: 쿨타임(CD)을 감소시킵니다. +- **Expansion Logic**: 투사체의 크기 및 감지 범위를 증폭시킵니다. + +## 3. Tech Tree and Synergy +시스템은 상호 연관된 모듈 간의 **Synergy Effect**를 추적합니다. +- **Cross-Binding**: 특정 보조 모듈이 여러 Active Weapon에 동시에 영향을 미칠 수 있습니다. +- **Hidden Evolution**: 특정 조합(예: Shield + Energy Battery)이 완성될 경우, 일반 트리에서 볼 수 없는 'Hidden Tier' 무기가 개방됩니다. + +## 4. Implementation Details +- `src/features/game/systems/ModularWeaponSystem.ts`: 전체 업그레이드 로직 및 상태 관리. +- `src/features/game/data/weaponData.ts`: 무기 스펙 및 진화 조건 데이터 테이블. + +--- +**Status**: Managed by Skybound Protocol +**Context**: Progression System / Weapon Engineering diff --git a/10_Wiki/Topics/Skybound/04_Mechanics_Progression/Tactical-Air-Drop-and-Supply-Logistics.md b/10_Wiki/Topics/Skybound/04_Mechanics_Progression/Tactical-Air-Drop-and-Supply-Logistics.md new file mode 100644 index 00000000..38cbf0bf --- /dev/null +++ b/10_Wiki/Topics/Skybound/04_Mechanics_Progression/Tactical-Air-Drop-and-Supply-Logistics.md @@ -0,0 +1,32 @@ +# Tactical Air Drop and Supply Logistics + +Skybound 전장의 보급 시스템은 플레이어의 지속 전투 능력을 결정하는 핵심 변수입니다. `Tactical Air Drop` 시스템은 전략적 위치에 보급품을 투하하고, 이를 획득하기 위한 점령(Capture) 로직을 관리합니다. + +## 1. Supply Logistics Workflow +보급 프로세스는 다음과 같은 라이프사이클을 가집니다. + +1. **Triggering**: `StageDirector`가 현재 월드 텐션(Tension)과 플레이어의 잔여 탄약을 계산하여 보급이 필요하다고 판단하면 이벤트를 트리거합니다. +2. **Landing**: 특정 패턴 영역에 Supply Crate가 투하됩니다. 이때 착륙 지점은 적의 밀집도가 낮은 안전 구역(Safe Zone) 위주로 선정됩니다. +3. **Capture Mode**: 보급함을 즉시 획득하는 대신, 일정 시간 동안 해당 영역을 유지해야 하는 'Capture' 시스템이 활성화될 수 있습니다. + +## 2. Supply Categories (보급 유형) +### 2.1 Tactical Resources +- **Ammo/Refill**: 기본 및 특수 무기의 탄약을 보충합니다. +- **Repair Kit**: 기체의 내구도(Armor)를 즉시 수리합니다. + +### 2.2 Strategic Buffs +- **Overclock**: 일정 시간 동안 연사 속도(Attack Speed)를 200% 증가시킵니다. +- **Gravity Shield**: 짧은 시간 동안 모든 적의 투사체를 무력화하는 보호막을 생성합니다. + +## 3. High-Risk, High-Reward Gimmick +일부 보급품은 적군에게도 매력적인 타겟이 됩니다. +- **Supply Theft**: 적 부대가 보급함을 먼저 점령할 경우, 보급품이 파괴되거나 적의 강화 재료로 사용되는 리스크 시스템이 존재합니다. +- **Bait Logic**: 인위적으로 보급품을 투하하여 적들을 특정 지역으로 유인한 뒤, 광역 무기로 섬멸하는 전략적 플레이가 가능합니다. + +## 4. Key Implementation References +- `plans/SYS-039_tactical_air_drop.md`: 상세 설계 사양서. +- `src/features/game/entities/SupplyCrate.ts`: 보급함 물리 객체 및 점령 로직. + +--- +**Status**: Managed by Skybound Protocol +**Context**: Logistics Engineering / Supply Chain diff --git a/10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md b/10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md new file mode 100644 index 00000000..80974ff0 --- /dev/null +++ b/10_Wiki/Topics/Skybound/Skybound-Knowledge-Hub.md @@ -0,0 +1,29 @@ +# Skybound Protocol Knowledge Hub (MOC) + +Skybound 프로젝트의 핵심 시스템 설계 및 코드 분석 지도를 제공합니다. 이 지식 베이스는 **P-Reinforce** 정책에 따라 구조화되었습니다. + +## 🏗️ 01. Core Engine (근간 시스템) +프로젝트의 아키텍처와 런타임 제어 로직을 다룹니다. +- [[01_Core_Engine/Skybound-Modular-Game-Architecture|Modular Game Architecture]]: 전체 모듈 구조 사양. +- [[01_Core_Engine/Game-Engine-Loop-and-System-Orchestration|Engine Loop Orchestration]]: 런타임 파이프라인 및 실행 순서. +- [[01_Core_Engine/State-Machine-and-Phase-Transition-Events|Global State Machine]]: 상태 전이 및 텔레메트리 이벤트. + +## ⚔️ 02. Combat & Tactical AI (교전 로직) +교전 규칙과 동적 난이도 조절 시스템을 포함합니다. +- [[02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline|Combat Interaction Pipeline]]: 충돌 판정 및 물리 연산. +- [[02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset|Staggered Firing Logic]]: 전투 리듬 조절을 위한 위상 오프셋. +- [[02_Combat_AI/Stage-Director-and-World-Tension-Scaling|Stage Director System]]: 월드 텐션 기반 난이도 스케일링. + +## 👺 03. Boss Systems (보스 개체 로직) +보스전의 복합적인 지능과 기믹을 관리합니다. +- [[03_Boss_Systems/Boss-AI-Contextual-Decision-Engine|Boss Contextual AI]]: 가중치 기반 의사결정 엔진. +- [[03_Boss_Systems/Boss-Orchestration-and-Gimmick-Management|Boss Gimmick Management]]: 부위 파괴 및 페이즈 기믹 조율. + +## 📦 04. Mechanics & Progression (시스템 및 성장) +플레이어의 성장 요소와 전장 보급 로직입니다. +- [[04_Mechanics_Progression/Modular-Weapon-Evolution-and-Skill-Trees|Modular Weapon Evolution]]: 무기 진화 및 시너지 트리. +- [[04_Mechanics_Progression/Tactical-Air-Drop-and-Supply-Logistics|Tactical Air Drop]]: 보급품 투하 및 캡처 메커니즘. + +--- +**Root Policy**: Ps-Reinforce v2.0 +**Project Status**: Knowledge Ingestion Complete (Batch 11.01-B)