Refactor: Consolidate directory structure into 5 main categories and update metadata
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
---
|
||||
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|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|Ps-Reinforce]])**: 상황 인지형 가중치 샘플링(`pickWeighted`)을 도입하여 플레이어의 흐름을 읽는 '지능형' 전투 리듬 구현.
|
||||
- **Strategic Insight**: Late-stage(Stage 7+)의 경우 `RECOVER` 가중치에 페널티를 부여하여 난이도 곡선을 가파르게 상승시키는 '난이도 가속' 정책이 관찰됨.
|
||||
|
||||
## 4. Related
|
||||
- [[Staggered-Firing-Logic-and-Phase-Offset|Staggered-Firing-Logic-and-Phase-Offset]]
|
||||
- [[Stage-Director-and-World-Tension-Scaling|Stage-Director-and-World-Tension-Scaling]]
|
||||
- [[Skybound-Modular-Game-Architecture|Skybound-Modular-Game-Architecture]]
|
||||
@@ -1,30 +0,0 @@
|
||||
# Boss Orchestration and Gimmick [[Management|Management]]
|
||||
|
||||
Skybound의 보스전은 단순한 체력 깎기가 아닌, 복합적인 기믹과 부위 파괴 로직이 결합된 시퀀스입니다. `BossSystem`은 보스의 생명주기와 패턴 실행을 조율(Orchestration)합니다.
|
||||
|
||||
## 1. Multi-Part [[Architecture|Architecture]]
|
||||
보스는 여러 개의 독립적인 **Part Object**로 구성됩니다. 각 파츠는 고유의 HP와 방어력을 가집니다.
|
||||
|
||||
- **Dependency Tree**: 특정 파츠(예: Shield Generator)가 파괴되어야만 본체(Core)에 데미지를 입힐 수 있는 트리 구조를 지원합니다.
|
||||
- **Visual Feedback**: 파츠 파괴 시 텍스처 교체 및 스파크 이펙트 발생과 같은 시각적 상태 변화를 실시간으로 렌더링 시스템에 전달합니다.
|
||||
|
||||
## 2. Gimmick ActivationSystem
|
||||
보스전의 긴장감을 유지하기 위해 특정 조건 기반의 기믹이 발동됩니다.
|
||||
|
||||
- **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 [[Reference|Reference]]s
|
||||
- `src/features/game/systems/BossSystem.ts`: 멀티 파츠 관리 및 패턴 실행 코어.
|
||||
- `src/features/game/ai/bossAIService.ts`: 패턴 선택 지능 로직.
|
||||
|
||||
---
|
||||
**Status**: Managed by Skybound Protocol
|
||||
**Context**: Boss Engineering / Pattern Orchestration
|
||||
@@ -1,66 +0,0 @@
|
||||
# 🛡️ Skybound: Boss BattleSystem & Damage [[Architecture|Architecture]]
|
||||
|
||||
## 1. Design [[Philosophy|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|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**: Boss Encounter & Timeline Design
|
||||
**Last Audit**: 2026-04-23
|
||||
@@ -1,33 +0,0 @@
|
||||
# 🕵️ Skybound: Boss Combat Stability Fix Log (2026-04-23)
|
||||
|
||||
## 1. Issue Overview (이슈 개요)
|
||||
- **Problem**: 보스 기체의 체력이 0이 되었음에도 불구하고 파괴되지 않고 게임이 정지되거나, `STAGE_CLEAR` 페이즈로 전환되지 않는 결함 발생.
|
||||
- **Occurrence**: 특정 페이즈(BOSS_INTRO) 또는 특정 무기 조합에서 보스 처치 시 간헐적 발생.
|
||||
|
||||
## 2. Root Cause [[Analysis|Analysis]] (원인 분석)
|
||||
|
||||
### 🔍 [[Logic|Logic]]al Flaws
|
||||
1. **Scope Restriction**: 기존 사망 판정 로직이 `BOSS` 페이즈 내부에만 존재하여, `BOSS_INTRO` 연출 도중 보스가 파괴될 경우 이를 감지하지 못함.
|
||||
2. **Entity Lifecycle**: 보스 엔티티 파괴 후에도 `[[State|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**: Stability & Optimization
|
||||
**Status**: Resolved & Wikified 🫡
|
||||
@@ -1,41 +0,0 @@
|
||||
# 👾 Boss Encounter & Timeline Design
|
||||
|
||||
**Category:** Combat Design / Level Design
|
||||
**Status:** Optimized (v12.1)
|
||||
**Related:** Combat System, Campaign System
|
||||
|
||||
---
|
||||
|
||||
## 1. Timeline Compression [[Strategy|Strategy]]
|
||||
Skybound의 전투는 '긴장감의 밀도'를 최우선으로 한다. 기존의 지루한 대기 시간을 제거하고 핵심 인카운터를 전면에 배치한다.
|
||||
|
||||
### A. Accelerated Engagement
|
||||
- **초반 30초**: 기본 적 편대와의 교전으로 빌드업.
|
||||
- **60초 지점**: 중간 보스 또는 특수 기믹 적기 등장.
|
||||
- **120초 지점**: 스테이지 최종 보스 조우 (기존 대비 50% 단축).
|
||||
|
||||
### B. Power Spike Reward
|
||||
- 보스 조우 30초 전, 확정적인 **AoE/Knockback** 스킬 보상을 지급하여 보스전의 '화력 투사' 준비를 도움.
|
||||
|
||||
---
|
||||
|
||||
## 2. Advanced Boss Mechanics
|
||||
|
||||
### 🛡️ Multi-Part Destruction (부위 파괴)
|
||||
보스는 단일 개체가 아닌 다중 파츠의 집합체로 구성된다.
|
||||
- **Core (핵심)**: 보스의 생명력. 파괴 시 최종 승리.
|
||||
- **Wings (날개)**: 보스의 이동 속도 및 회피 기동 제어. 파괴 시 기동성 50% 저하.
|
||||
- **Turrets (포탑)**: 주력 화력. 파괴 시 특정 공격 패턴(예: 탄막 방사) 봉쇄.
|
||||
|
||||
### 📊 Loot Integration
|
||||
- **Guaranteed Drop**: 보스 처치 시 최소 Rare 등급 이상의 모듈 확정 드롭.
|
||||
- **Scaling Loot**: 스테이지 인덱스가 높을수록 전설(Legendary) 등급 드롭률 지수적 상승.
|
||||
|
||||
---
|
||||
|
||||
## 3. Deployment [[Logic|Logic]]
|
||||
- **Module**: `CombatTimeline.ts`, `ProgressionSystem.ts`
|
||||
- **Configuration**: `getStandardTimeline()` 팩토리 함수를 통한 스테이지별 특화 타임라인 생성.
|
||||
|
||||
---
|
||||
**Last Updated:** 2026-04-22 🫡
|
||||
@@ -1,6 +0,0 @@
|
||||
# Index: Topics > Skybound > 03_Boss_Systems
|
||||
|
||||
## 📝 Documents
|
||||
- [[Boss-AI-Contextual-Decision-Engine|Boss-AI-Contextual-Decision-Engine]]
|
||||
- [[Boss-Orchestration-and-Gimmick-Management|Boss-Orchestration-and-Gimmick-Management]]
|
||||
- [[Boss_Encounter_and_Timeline_Design|Boss_Encounter_and_Timeline_Design]]
|
||||
Reference in New Issue
Block a user