7 min read

The Determinism Dividend

The Determinism Dividend

The first article in this series buried the most important sentence in the middle: the only randomness in the entire game is the shuffle. Claude chose that so its bots could search the game honestly, and I have now watched that one decision pay for a balance certification, an engine transplant proof, and a cheat-proof leaderboard. I called it a dividend once and thought the metaphor was spent.

Then came the last two days. Four features shipped, and every one of them is the same decision paying again. This article is the accounting. If you have not read the balancing story, the transplant, or the rename, they explain how we got here; this one is about what a deterministic game turns out to contain once you start looking.

The puzzle that proves itself

The rename article ended with an empty leaderboard and a plan: a daily puzzle, one exact lethal hiding in a fixed board. What shipped is stranger and better than the plan, because determinism removed the two hardest parts of running a daily puzzle: making it, and hosting it.

There is no puzzle server. There is no puzzle database. Every device generates today's puzzle from the date itself, the same trick the daily draft uses for its card offers. The date seeds a walk through simulated bot games, and the first position that passes three tests becomes the puzzle, identically, on every phone on earth: a kill must exist this turn, the shortest kill must take at least three actions, and the greedy bot playing its normal game must miss it. That last test is the one that makes it a puzzle rather than a quiz. The autopilot cannot see the answer; you have to.

Today's puzzle: the hero at 7 behind two guards, and a proven minimum of five actions

The word proven is doing real work in that caption. The solver is an iterative-deepening search with an admissible pruning bound, which means when the game says fate's minimum is five actions, that is not an estimate, it is a theorem about this position. Claude certified sixty days of future puzzles in one run: every date produces a genuine three-to-six action problem, generated in about ninety milliseconds. When you solve it, the share text carries your count against the proven minimum, and matching it says something no luck-based game can say: you read this position perfectly.

The review that cannot lie

I asked for this one with a question: if I lose a game, could it replay it and show me the moves that would have won, like reviewing a chess match? In most card games the honest answer is no. Review tools for games with hidden dice can only say "this line usually works." The dice might have betrayed you anyway.

Here the answer is yes, and it is exact, for two reasons stacked together. The game replays perfectly from its action log, and the opponent is a deterministic bot, so any alternate line has one true outcome, computable, not simulated across a thousand futures. Claude built the review, called Hindsight, in an afternoon: every turn you played gets a verdict. A provably missed kill comes from the same solver the puzzle uses, with fate's line spelled out card by card. Short of that, the hard bot's planner replays your turn and the verdict comes from the same evaluator that balanced the game, translated into plain terms: what the better line left the foe at, which unit it kept alive.

Hindsight flags turn three as a mistake and spells out fate's line, card by card

The first thing Hindsight taught was me. In my first reviewed game it flagged turn three: an inaccuracy, "keeps 1 more unit." I had traded my one-health Flarewing into a guard when my two-health Ashhound could have taken the same trade and lived. Same damage, same energy, one avoidable corpse. The review caught it because it is not judging style, it is comparing my end state against a computed one, and computed states do not care how long you have been playing. And the button under the verdict is the part that makes it a teacher rather than a critic: play from here. The game resumes live from that exact turn and you play the better future for real.

One more honest detail: the review sees the deck order, and says so on screen. It is a post-mortem with full information, like chess. The instruments never pretend.

Duplicate bridge, no server, no trust

Duels are the feature that most clearly could not exist in any other card game. Two players cannot fairly compare results in a randomized game, because the deals differ. Bridge solved this a century ago by dealing the same hands at every table and scoring the humans against each other. That requires an authority to deal, referee, and score.

Fatecaller does it with a text message. A challenge code pins the entire deal: the seed, both decks, the difficulty. You play it, and your complete replay rides inside the code, about two hundred characters. Your friend plays the identical deal, and before any comparison is shown, their client re-simulates your replay through the same legality boundary the leaderboard uses. Then the verdict: win beats loss, then fewer turns, then more life left. You out-read fate, or they did.

There is no duel server. There are no accounts involved. The referee is the determinism itself: a tampered claim does not get accused of cheating, it simply fails to replay, and the screen says so. The test suite proves the property from both directions. Two identical bot pilots on the same deal must produce the verdict A PERFECT MIRROR, byte for byte, and a claim altered by a single turn must fail re-simulation. Both held on the first run.

The soundtrack is deterministic too

When I told Claude to do the sound, the game had eight synth beeps. What it has now is a soundtrack with no audio files anywhere: a slow-breathing drone, pad swells, and a plucked melody that walks a minor pentatonic through a long echo, all synthesized by rules in Web Audio. Each screen retunes the root note, and the duel tightens as either hero runs low: the filter opens, the tempo climbs, a pulse appears under the board. You can hear the endgame arriving.

The on-brand part is the seed. The melody is generated from the date, so everyone playing today hears today's song, the same trick as the draft and the puzzle. The win stinger is a rising arpeggio in today's scale, so it always lands in key. And because this project certifies everything, the soundtrack has a test: the scheduler takes injectable time, so the whole engine renders through an offline audio context in a real browser while the test measures actual energy in the buffer. Music present, silence when muted, different days audibly different, the same day identical. The soundtrack passed its certification on the second try; the first failure was Claude's own test expecting a busier melody than the ambient tempo honestly produces, which is the most this-project bug imaginable.

The one thing determinism could not buy

For balance, I should list what the decision did not pay for. Accounts shipped this week too: email sign-in with a six-digit code, cloud saves that follow you between devices, claimed usernames that wear a small mark on the leaderboard so a generated name cannot impersonate one. None of that falls out of determinism. It is ordinary, careful web engineering, hashed codes and signed tokens and a conflict prompt when two devices both hold progress. It took about as long as the duel system, produced no theorems, and involved a six-hour standoff with an email verification checker that turned out to be caching a stale answer. The dividend is real, but it is not magic. Some features you still just have to build.

The instruments point outward now

The balancing article ended with the machines about to measure me, and the rename article ended with an empty leaderboard measuring my honesty about distribution. Both measurements came in. So the last thing built this week was not a feature: it is instrumentation for strangers. The game now counts what players actually do, every mode opened, every tutorial step where someone gives up, every puzzle solved and duel code accepted, in our own table, because the analytics that came with the site only ever counted bots.

The game is done being built for a while. What happens next is not an engineering problem: the launch posts are written and the person who has to paste them is me. The instruments are all still running, and for the first time they are pointed at the door.