Hold the Line
A 1v1 online card battler — Hearthstone-style mana tempo layered over a 5×4 grid battlefield, where minions deploy, advance and block, and you win by pushing them past the enemy line.
A 1v1 online card battler that keeps Hearthstone’s mana curve and draw tempo, but minions are no longer “numbers sitting on a table” — they are pieces on a shared 5×4 grid battlefield that must be deployed, advanced, positioned and flanked. Damaging the enemy leader means physically pushing units past their back line, which makes space a third resource alongside mana and card advantage. Four factions with distinct personalities: the Iron Oath’s stalwart defense, the Wilderness’ rush, the Dusk Order’s spell chains, and the Delvers’ back-row artillery.
It is also a full vibe coding exercise: GDD, technical PRD and card sheets written first, then three tracks — systems, presentation, content — driven in parallel by multiple AI sessions, with the human owning design calls, plan reviews and game-feel acceptance. From the first line of the design doc to a verified real-world online match across cities took three days: rules engine, battle server, reconnection, turn timers and VPS deployment, all the way through.
Engineering highlights
Server-authoritative architecture with a single rules engine, test-driven throughout.
One rules engine
Client and server share the same C# rules engine — a deterministic command → resolution → event pipeline. Online hard constraints were baked in from day one; hot-seat, vs-AI and online play all resolve through the same path.
Full online stack
Rooms, state culling, reconnection, turn timers, command logs on disk; systemd-managed public VPS with one-click deploy. A thousand-match network soak test passed with zero failures.
Tests and AI sparring
216 automated rules and server tests, all green; built-in sparring bot plus a lookahead search AI; matchmaking, ELO ladder and deck validation are all server-authoritative.
AI content pipeline
80+ cards across four factions are pure data; key art, leaders and unit standees all come from an AI art pipeline — adding a card touches no engine code.