Dreadcourt
Build a court, choose a route, and survive the expedition.





The project
A single-player Godot autobattler with hex-grid deployment, coven synergies, branching routes and ten escalating stages.
A playable desktop and browser build combining formation strategy, recruitment, progression and authored boss encounters.
What had to change
Coordinate deterministic combat, player placement and durable run progression across planning, battles, rewards and interrupted sessions.
How it was shaped
Typed GDScript separates run state, placement resolution, content and a deterministic 30 Hz combat simulation. Versioned checkpoints use native storage or browser IndexedDB; battles resume from their preparation checkpoint.
What it delivered
A playable desktop and browser build combining formation strategy, recruitment, progression and authored boss encounters.
Inside the game
Recruit and combine courtiers, arrange a formation on a hex grid, and build coven bonds before committing to automatic battles. A branching expedition offers route choices, relic rewards, training and three authored boss encounters.
Combat runs at a fixed 30 Hz, with movement, unit abilities, enemy targeting and a combat ledger separated from recruitment and run economy. Battles are staged across three distinct regions with original gothic artwork.
Committed decisions are saved locally. The browser build uses IndexedDB; a refresh during combat restores the preparation checkpoint for the same encounter, rather than pretending to resume an animation in progress.
Playable single-player game with a native Godot project and browser export. The current build uses mouse and keyboard and does not claim a commercial release.
Engineering and verification
I developed the game’s gameplay systems, interface and progression as an independent project, using Godot and GDScript with project-created artwork and asset tooling.
Combat resolves movement, targeting, abilities and damage on a fixed timestep. Separate run-state and placement systems handle recruitment, merges, formation and progression before a battle begins.
The repository includes automated model and browser checks for combat, legal placement, progression and save recovery. These checks support ongoing refinement.