Older posts
the norwegian umbrella: full bilingual gameplay across every mode, and the main menu restructure
Bringing Norwegian back properly as a PRD-driven umbrella project, introducing a 29-letter alphabet, per-language letter rarity, and a brand new main menu.
the pvp duel system: server-authoritative state
Building the biggest single system in the game: dueling a friend asynchronously, backed by a server-authoritative engine and a compare-and-set turn model.
storing less, submitting once
Privacy deletion of rejected words and making the leaderboard submission idempotent to ensure a service players can trust.
Tuning the agent workbench: from game log polish to MCP servers
A solo-plus-agents project spends real time on its own tooling. Three days of making the workshop pleasant.
A room where the agent can work
The project moves into a devcontainer with local data, restricted networking, scoped Git identity, and enough browser tooling to run the whole development loop safely.
A camera for a game that keeps changing
A scripted Playwright player records every combo on demand, while a browser prototype replaces platform emoji with a smaller, themeable icon language.
Nine seams in two days
A test-first architecture pass turns duplicated rules and wide interfaces into nine small, reviewed seams without changing the game players see.
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.