Minimal primary gameplay loop testable
Movement
CharacterBody3D
, move_and_slide
with linear gravity (no acceleration).
Sword/Light Attacks
Animations with animation triggers to enable and disable hitboxes.
@startuml
class Hurtbox {
damageAmount : int
}
Area3D ^-- Hurtbox
class Health {
health : int
on_death(int amount) -> void (signal)
damage(int amount) -> void
}
Node <|-- Health
class Player {}
CharacterBody3D <|-- Player
class Enemy {}
CharacterBody3D <|-- Enemy
class CharacterBody3D {}
annotation "Godot Engine builtin"
"Godot Engine builtin" <|-- CharacterBody3D
"Godot Engine builtin" <|-- Node
"Godot Engine builtin" <|-- Area3D
@enduml
Fodder enemy type
Axe/Heavy Attacks
Minimal secondary gameplay loop testable
Room progression
Coins
Timer
Minimal full game testable
Main menu
Controls view
All requirements/full game
Speed powerup
Berserk powerup
Explosion powerup
Tank enemy
Ranged enemy