Project case study
Lanista
A systems-first gladiator roguelite deckbuilder prototype in Godot 4.6.3, with typed GDScript and a pure, headless-testable domain layer.
Problem
A gladiator roguelite deckbuilder needs trustworthy combat math before anything else — readable intents, fair interactions, a run that can't silently break — hard to verify by playing alone. Lanista is a systems-first prototype that proves the ruleset headlessly before it's tuned by feel.
Approach
Godot 4.6.3, typed GDScript, no addons — core/ is pure domain logic (no scene tree, no globals, no I/O); screens only ask CombatEngine and RunManager for events and render what comes back. Two gladiators share one command deck and Command pool; enemy intents name their exact target, and randomness flows through an injected seeded RNG, so runs are reproducible. All four brief phases are implemented: combat sandbox, mini-run circuit, scouting with hidden Promise growth, and a fourth archetype deliberately held back. Phase Gate 1 passed with per-line evidence, and the Definition of Done runs through the real screens: 125 tests, 580 assertions, green, zero engine errors.
Currently building: the playable foundation is complete but not yet played by a human. The urgent next issue is the first real playtest — three full runs, then reading the telemetry's hog index against win rate — which decides whether the next archetype gets built at all.
Outcome
It runs locally; the repo is private. The ruleset is proven by tests; whether it's fun is still an open, deliberately gated question.