Files
2nd/10_Wiki/Topics/Boss_Combat_Stability_Fix_Log.md
T

2.1 KiB

🕵️ Skybound: Boss Combat Stability Fix Log (2026-04-23)

1. Issue Overview (이슈 개요)

  • Problem: 보스 기체의 체력이 0이 되었음에도 불구하고 파괴되지 않고 게임이 정지되거나, STAGE_CLEAR 페이즈로 전환되지 않는 결함 발생.
  • Occurrence: 특정 페이즈(BOSS_INTRO) 또는 특정 무기 조합에서 보스 처치 시 간헐적 발생.

2. Root Cause Analysis (원인 분석)

🔍 Logical 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 🫡