Horde Control
A top-down pixel-art survival roguelite. Defend yourself and a Tower from goblin waves, level up mid-fight, and spend each run’s Cores on a permanent skill tree.
Three intents: ▲ Tower Seeker, ◆ Player Hunter, ■ Opportunist. The bow aims itself; you only move. Simulated here, not recorded.
Every system steps inside SimLoop on one clock, so a pause or a level-up draft freezes the world in exactly one place.
The director reads pressure, not timers
The Wave Director escalates on a Pressure Metric: threat divided by capacity times twenty seconds. 1.0 means the field would take about twenty seconds to clear at your current output. It is sampled every half second, only while a combat wave is open and outside the grace period after a draft.
Attack slots ring each target — twenty-seven round the Tower for Seekers, seven round the player for Hunters. An enemy with no free slot waits outside the ring instead of piling in.
Every number is written down
Thirty design documents came before the code. Every gameplay value lives in a Provisional Values Register, and every design change has a row in a Review Decision Log.
About 750 gdUnit4 cases run headless. One of them fails on purpose, to prove the runner reports failures.
A Windows exe and an Android APK, both built and signed by GitHub Actions. No permissions, never online.
Status, honestly
A playable prototype: the full run loop and meta progression on one island with three enemy types. Elites, a boss and a second biome are next. Most first runs end before wave eight.
Horde-Control
Realtime rooms pairing a live document with a live drawing canvas. No accounts, no passwords.
continue