Combat resolves continuously in real time; player inputs compete directly with enemy behavior each frame.
Combat resolves continuously: the hero swings a real sword in real time while orcs keep advancing — a live, per-frame hitbox.
Player and enemies move every frame in _physics_process(); inputs and AI compete continuously rather than waiting for turns.
func _physics_process(delta):
handle_input()
move_and_slide()Split combat into a hitbox (deals damage, active only during a swing) and a hurtbox (receives it). Overlap between opposing boxes resolves a hit.
# On the sword's hitbox
func _on_area_entered(hurtbox):
hurtbox.owner.take_damage(DAMAGE)Enable the hitbox shape only on the active frames of an attack animation, so damage lands exactly when the swing connects.
# Driven by an AnimationPlayer call-method track
func swing_active(on): $Hitbox/CollisionShape2D.disabled = not onIn short: Hitbox/hurtbox Area2D nodes active per-frame; _physics_process() combat loop; collision-driven damage
…and 105 more in the interactive database →
185 catalogued game(s) use this mechanic, spanning 1985–2000.
▶ Explore Real Time Action Combat interactively — see every game + the Godot system