Refactor: Consolidate directory structure into 5 main categories and update metadata
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
# [TECH-REPORT] Skybound Boss Battle Architecture (v1.0)
|
||||
**Date**: 2026-04-22
|
||||
**Author**: Antigravity (Dev Lead)
|
||||
**Status**: COMPLETED / STABLE
|
||||
|
||||
## 1. 개요 (Overview)
|
||||
Skybound Protocol의 8단계 캠페인 시스템 완성을 위한 '데이터 주도형 보스 전투 시스템'의 구현 상세를 기록한다. 본 시스템은 하드코딩된 보스 로직을 탈피하고, 외부 레지스트리 기반의 페이즈 제어 및 플레이어 숙련도(Mastery)에 따른 최종 보스 분기 로직을 핵심으로 한다.
|
||||
|
||||
## 2. 주요 구현 사항 (Key Implementations)
|
||||
|
||||
### 2.1 기체별 데미지 감쇄 시스템 (Damage Mitigation)
|
||||
- **목적**: 기체(Airframe)별 개성을 강화하고 생존 전략의 차별화 제공.
|
||||
- **로직**: `CombatSystem.ts` 내 피격 판정 시 `GAME_BALANCE`의 감쇄율 적용.
|
||||
- **수치**:
|
||||
- **FALCON**: 탄환 -17% / 충돌 -34%
|
||||
- **RAYCE**: 탄환 -13% / 충돌 -26%
|
||||
|
||||
### 2.2 보스 레지스트리 아키텍처 (Boss Registry)
|
||||
- **파일**: `src/features/game/config/bossRegistry.ts`
|
||||
- **역할**: 스테이지별 보스 데이터(이름, ID, 페이즈 구성, 패턴 밀도)의 Single Source of Truth.
|
||||
- **특징**: `resolveNextPhase()` 유틸리티를 통해 HP 임계값, 부하 기체 전멸(`MINIONS_CLEARED`), 부품 파괴 등 다양한 조건에 따른 동적 페이즈 전환 지원.
|
||||
|
||||
### 2.3 최종 보스 분기 로직 (Mastery Branching)
|
||||
- **위치**: `StageDirectorSystem.ts` -> `instantiateBoss()`
|
||||
- **조건**: 인게임 모든 업그레이드(6종)가 **Level 10 (Mastery)**에 도달했는지 체크.
|
||||
- **분기**:
|
||||
- **Normal**: 험프티 덤프티 (Humpty Dumpty)
|
||||
- **Mastery**: 디바인 램파트 (Divine Rampart) - 기본 체력 1.5배 증가 및 4단계 페이즈 구성.
|
||||
|
||||
## 3. 데이터 구조 (Data Structure)
|
||||
|
||||
```typescript
|
||||
export interface BossPhase {
|
||||
phaseIndex: number;
|
||||
attackPatterns: Pattern[];
|
||||
transformationTrigger: 'HP_THRESHOLD' | 'ALL_PARTS_DESTROYED' | 'MINIONS_CLEARED' | null;
|
||||
hpThreshold: number | null;
|
||||
}
|
||||
```
|
||||
|
||||
## 4. 향후 유지보수 가이드 (Maintenance)
|
||||
- **보스 추가**: `bossRegistry.ts`의 `BOSS_REGISTRY` 배열에 신규 `BossDefinition`을 추가하는 것만으로 신규 보스 및 페이즈 설계 가능.
|
||||
- **밸런스 조정**: `balance.ts`의 `PLAYER.AIRFRAMES` 섹션에서 감쇄율 수치 즉시 조정 가능.
|
||||
|
||||
---
|
||||
**Approval Status**: 🫡 (Kodari Approved)
|
||||
@@ -1,30 +0,0 @@
|
||||
# 📝 [Technical Report] 보스 스폰 시스템 안정화 및 AI 교전 로직 개선
|
||||
|
||||
## 1. 개요 (Overview)
|
||||
본 문서는 Skybound 프로젝트의 최종 보스 미출현 이슈 해결 및 적기 AI의 공격성 강화를 위한 기술적 수정 사항을 기록합니다.
|
||||
|
||||
## 2. 적기 AI 개선 (Enemy AI Overhaul)
|
||||
기존의 '낙엽 효과(Wobble)'와 '회피(Avoidance)' 로직을 제거하고 공격적 교전 패턴을 도입했습니다.
|
||||
|
||||
- **낙엽 효과 제거**: `CombatSystem` 내 `Math.sin` 기반 좌우 흔들림 로직 삭제.
|
||||
- **회피 로직 삭제**: 플레이어 근접 시 발생하는 기피력(Repulsion) 제거.
|
||||
- **예측 요격(Predictive Interception)**: 플레이어의 현재 속도($v_x, v_y$)를 기반으로 12프레임 뒤의 위치를 타격하는 로직 적용.
|
||||
- **근접전 페널티**: 플레이어와 거리 250px 이내에서 연사력 2배 부스트 적용.
|
||||
|
||||
## 3. 보스 스폰 안정화 (Boss Spawn Fix)
|
||||
트리거와 페이즈 전환 간의 동기화 오류를 해결했습니다.
|
||||
|
||||
- **트리거 선행 배치**: `CombatTimeline`의 보스 스폰 트리거를 페이즈 시작 10초 전으로 앞당김 (870s -> 860s).
|
||||
- **시퀀스 가속**:
|
||||
- `FINAL_BOSS` -> `BOSS_WARNING`: 180프레임 -> 60프레임 (1초)
|
||||
- `BOSS_WARNING` -> `BOSS`: 300프레임 -> 120프레임 (2초)
|
||||
- **응답성 개선**: 보스 경고 발생 후 실제 등장까지의 체감 대기 시간을 총 8초에서 3초로 단축.
|
||||
|
||||
## 4. 엔진 무결성 점검 (Integrity Check)
|
||||
- `StageDirectorSystem.ts`의 코드 단절(Truncation) 여부를 확인하고 정상 작동을 검증함.
|
||||
- `CombatSystem.ts`의 타입 안전성 확보 및 AI 역할별 이동 패턴 정상화 확인.
|
||||
|
||||
---
|
||||
**Status**: Green (Operational)
|
||||
**Author**: Antigravity (AI Dev Director 'Kodari')
|
||||
**Date**: 2026-04-22
|
||||
@@ -1,5 +0,0 @@
|
||||
# Index: Technical_Reports
|
||||
|
||||
## 📝 Documents
|
||||
- [[2026-04-22_Boss_Battle_System_Implementation|2026-04-22_Boss_Battle_System_Implementation]]
|
||||
- [[2026-04-22_Boss_Spawn_Logic_Fix|2026-04-22_Boss_Spawn_Logic_Fix]]
|
||||
@@ -1,27 +0,0 @@
|
||||
# ConnectAI 기술 부채 및 아키텍처 개선 계획 (Python Core)
|
||||
|
||||
## 📌 핵심 진단 요약
|
||||
현재 ConnectAI의 Python 기반 추론 엔진은 알고리즘 비효율성($O(N^2)$), 동기식 I/O 블로킹, 강한 결합도(Tight Coupling)로 인해 성능 확장이 제한된 상태임. 이를 프로덕션 수준으로 끌어올리기 위한 단계별 최적화가 필요함.
|
||||
|
||||
## 🛠️ 최적화 전략 (Phase 2: Core Optimization)
|
||||
|
||||
### 1. 알고리즘 효율화 (Performance P1)
|
||||
- **현상**: `InferenceEngine.py`의 `feature_match_brute_force` 함수가 중첩 루프로 인해 $O(N^2)$ 복잡도 가짐.
|
||||
- **해결**: **KD-Tree** 또는 행렬 분해 기법을 도입하여 $O(N \log N)$으로 최적화. 추론 지연 시간 5~10배 단축 목표.
|
||||
|
||||
### 2. 비동기 I/O 전환 (Throughput P1)
|
||||
- **현상**: `DataLoader.py`의 `load_dataset_sync` 함수가 동기식으로 동작하여 I/O 대기 시 CPU 유휴 발생.
|
||||
- **해결**: `asyncio` 기반 비동기 I/O 또는 스레드 풀 기반 병렬 처리를 도입하여 처리량(Throughput) 개선.
|
||||
|
||||
### 3. 모듈 디커플링 (Maintainability P2)
|
||||
- **현상**: `PreprocessingModule`과 `CoreModel` 간의 직접 의존성으로 인한 강한 결합.
|
||||
- **해결**: **관찰자 패턴(Observer Pattern)** 도입. `DataReadyEvent` 발행-구독 모델을 통해 모듈 간 독립성 및 테스트 용이성 확보.
|
||||
|
||||
## 🚀 구현 가이드라인
|
||||
- **Step 1**: 알고리즘 최적화 (KD-Tree 구현 및 검증)
|
||||
- **Step 2**: 비동기 I/O 전환 (async/await 래핑 및 이벤트 루프 통합)
|
||||
- **Step 3**: 아키텍처 디커플링 (이벤트 시스템 구축 및 DIP 실현)
|
||||
|
||||
---
|
||||
*분석 일자: 2026-04-30*
|
||||
*우선순위: Step 1 (ROI 최상) > Step 2 > Step 3*
|
||||
Reference in New Issue
Block a user