Devlog
Notes on the decisions behind the games I build at Alzy, and why I made them. Less about what shipped, more about why it was built that way.
What this log keeps
What I write here isn't a changelog announcing what shipped. It's a record of the decisions I made and why I made them. Reverted work gets the same space as new features — a decision I undid usually comes with a reason I couldn't see while I was building it, and that reason is worth keeping for the next call.
Each entry names a date and, where relevant, a game, so you can tell exactly which point in the code a post is grounded in. I write from the actual commit and the actual code at that point, not from a memory of how it felt.
How this differs from the guides
The guides hand a player a ruler to hold up against the board in front of them — which move pays off, what to prioritize. This log covers the other side of that table: my own calls as the person building the game — what effect to add or cut, which number to tune, what to push to later.
So the same game ends up with two different readers. The guides are written for someone playing it; this log is written for someone building something like it, or thinking about it.
- A 54% win rate against a 25% baseline — and 5% of that data was invisible
2026-08-01 · TAMNA
It started as a hunch that the bots were too soft. The data said humans won 54% of solo matches against a 25% baseline. Then it turned out the query itself had a 5% blind spot.
- Built it, removed it exactly seven days later — and never measured the effect (Tanubi Dusk)
2026-07-31 · Tanubi
Dusk went in as a daily variation and came out exactly seven days later. The reason was an owner call rather than a measurement, and the source comment says so itself. This is about how it was removed, and where the removal was written down.
- I built a safeguard for existing players, and in under six days it was spent — Tanubi fox unlock
2026-07-25 · Tanubi
The last hero, the fox, moved from 1500 to 2500. Players who had already crossed would find it locked again, and I called that a retention betrayal in the commit. I did build the safeguard. It just happened to be single-use.
- Every quality gate passed, and 5 minutes 43 seconds later I deleted it — the TAMNA board sky
2026-06-14 · TAMNA
tsc passed. lint passed. Live checks passed. Then I deleted 131 lines, 5 minutes and 43 seconds later. This is what happens when a one-line requirement ships with no acceptance criteria.