Files
2nd/10_Wiki/Topics/2026-04-22_Boss_Battle_System_Implementation.md
T

2.4 KiB

[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)

export interface BossPhase {
  phaseIndex: number;
  attackPatterns: Pattern[];
  transformationTrigger: 'HP_THRESHOLD' | 'ALL_PARTS_DESTROYED' | 'MINIONS_CLEARED' | null;
  hpThreshold: number | null;
}

4. 향후 유지보수 가이드 (Maintenance)

  • 보스 추가: bossRegistry.tsBOSS_REGISTRY 배열에 신규 BossDefinition을 추가하는 것만으로 신규 보스 및 페이즈 설계 가능.
  • 밸런스 조정: balance.tsPLAYER.AIRFRAMES 섹션에서 감쇄율 수치 즉시 조정 가능.

Approval Status: 🫡 (Kodari Approved)