2.1 KiB
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
- Scope Restriction: 기존 사망 판정 로직이
BOSS페이즈 내부에만 존재하여,BOSS_INTRO연출 도중 보스가 파괴될 경우 이를 감지하지 못함. - Entity Lifecycle: 보스 엔티티 파괴 후에도
[[State|State]].boss참조가 남아있어, 렌더러와 AI 시스템이 유령 객체를 계속 업데이트하려고 시도함. - 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) 강도 증가 및 지속 시간 조정.
- 보스 사망 시 8개의 순차적 폭발(
📊 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 🫡