A single high-health enemy with unique scripted behavior and distinct phases serves as a gated progress challenge.
A single high-HP enemy with phase thresholds that shift its state, then is defeated.
Phases as discrete states. Health thresholds flip the phase, and each phase is effectively a different enemy with its own moveset.
enum Phase { OPENING, ENRAGED, DESPERATE }
func on_hp_changed():
if hp < max_hp * 0.33: phase = Phase.DESPERATEEach phase swaps to its own attack track. Phase transitions are just playing a different named animation set.
func enter_phase(p):
match p:
Phase.ENRAGED: $Anim.play("enraged_loop")
Phase.DESPERATE: $Anim.play("desperate_loop")Emit phase_changed and defeated so the arena (music, camera shake, gates) reacts to the fight's beats without the boss knowing about them.
signal phase_changed(p)
signal defeated
# arena listens to swap music / open the exitIn short: Dedicated Boss scene; health threshold signals trigger phase transitions; phase changes swap AnimationPlayer tracks
…and 104 more in the interactive database →
184 catalogued game(s) use this mechanic, spanning 1986–1999.
▶ Explore Boss Encounter interactively — see every game + the Godot system