Boss EncounterCombat

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.

How boss encounter works in Godot

enumprimitive

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.DESPERATE

AnimationPlayernode

Each 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")

Signalsprimitive

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 exit

In short: Dedicated Boss scene; health threshold signals trigger phase transitions; phase changes swap AnimationPlayer tracks

Retro games that use boss encounter

…and 104 more in the interactive database →

184 catalogued game(s) use this mechanic, spanning 1986–1999.

Related combat mechanics

▶ Explore Boss Encounter interactively — see every game + the Godot system