Older posts
Teach what the player has not found
A pure hint engine turns missing player actions into timely guidance, combo rewards and hints share one notice system, and the abandoned native-client backend comes out.
The narrow screen gets to decide
Foundation tokens make a mobile-first redesign tractable, then a second design review turns layout stability and colour contrast into regression tests.
Reward the risk, explain the fruit
Snake growth becomes a scoring lever, combo fruit gets feedback at the moment it appears, and the interface stops teaching before the player can act.
A contract before the client
The planned native client gets an offline submission path, a bundled dictionary, and an API compatibility rule before its first install exists.
What the end of a game should say
The end-game dialog gets a hierarchy, sharing survives the trip to the daily countdown, and the final board becomes part of the result without storing the whole game.
Showing the snake where it's about to go
A ghost-path overlay that simulates each keystroke before it happens, a collision rule that took two attempts to get right, and the interactive demo it made redundant.
Quiz should score high
Word scoring drops the inherited word-frequency model for Scrabble-style letter values, the duel AI is recalibrated to match, and a domain glossary lands first to give the whole decision a shared vocabulary to be written in.
Giving the logic a name
Two days pulling shared logic out of stores and routes into small, named, independently tested modules, one of which immediately surfaced a real duel bug and got its own same-day fix.
A reason to come back
The daily challenge gets a real midnight boundary instead of an arbitrary UTC one, the wait for it becomes a countdown instead of a dead end, and web push notifications arrive, built around the one hard constraint the hosting platform imposes on anything running on a schedule.
The clock comes off
The thirty-second per-word timer added three weeks ago comes out entirely, scoring reverts to pure word length times rarity, and a UI freeze traced to backdrop-filter blur turns up in three more dialogs with a blunter diagnosis than the first time.