Custom Build
/
October 16, 2026
How Godsbane: Descent Replays Every Run Exactly
About Godsbane: Descent
Godsbane: Descent is a roguelike auto-battler for iOS and Android, then PC, that we are building in Unity 6. It is set in a post-apocalyptic world where ancient pantheons engineered nuclear devastation to force humanity back to worship. The player commands a warband of gods, borrowed from pantheons that despise each other, across eight depths, a daily seeded run and leaderboards.
The Challenge
A roguelike lives on its balance, and its leaderboards on trust. A score means nothing if a game can claim one it did not earn, and a tuning change means nothing if no one measured it.
The Solution
Descent’s rules live in one engine-free .NET simulation, with no Unity dependencies. The Unity client plays it, a harness runs it headless, and on the server a verifier re-simulates every submitted leaderboard run from its seed and decision log. A Go API with Postgres accepts the submissions, hands each to the verifier, and stores what the replay derived, never what the client claimed.
Balance is measured, not guessed. A framework plays thousands of seeded runs under three bots, greedy, lookahead and devoted, and writes every result to a SQLite database before a number is tuned.
The Impact
Every run replays exactly
On 16 October 2026 the simulation’s harness passed 697 of 697 checks. Among them, 400 complete runs at two depths each replayed from its decision log to the same fingerprint, in under 5 milliseconds a run, replay included.
A run is its own bug report
A finished run writes itself to a file a player can send, and that file replays exactly on our own machines, so a player’s confusion can be watched rather than described.
What We Built for Godsbane: Descent
Deterministic Simulation
One engine-free rules engine, shared by the game, the harness and the server.
Server-Side Verification
Every leaderboard run re-simulated before it counts.
Balance Framework
Thousands of seeded runs under three bots, with every number measured.