Case study · Grimnoth · July to September 2026
Current City began as a homage to a 1984 game I never beat. By September its engine had become a package, and a second game, Blackout Relay, shipped on it in three weeks. These are experiments, not polished products. The claim is narrower and more useful: one product person with engineering judgment, directing AI agents, can carry a vision from a blank repo to a playable, versioned, shipped state alone.
Robot Odyssey (1984) is famous for being one of the hardest games ever made: you wire logic circuits inside robots to solve physical puzzles. I wanted a modern one, with a story. In Current City every machine must be explainable by its wiring, and undocumented behavior is the gravest crime. You play OHM, a small, round, sentient AI that no circuit accounts for. To pass the Registry's audits you climb inside dumb robots and wire them to do intelligent things for dumb, provable reasons. Logic is your disguise.
The design thesis underneath is one I care about beyond games: people learn ideas like deterministic and sentient faster when they live them as mechanics than when they read definitions. Experience first, word second.
The first playable, five levels and a working circuit simulator, shipped as v0.1.0 in the first week of July 2026. From there the game grew in versioned, player-facing releases, each with written release notes, because a rule in the repo says nothing deploys without them.
Under the hood: a pure circuit simulator, a world layer for rooms and physics, a game layer for levels and saves, and a render and input layer on PixiJS with a DOM overlay. Levels are data. Run state is carried in the save and proven at the seam, so a reload, a checkpoint rewind and a restart all rebuild the same world.
In early September a different game idea would not leave me alone: stealth, not logic. Guards that coordinate. Gear you scavenge. A signal you must not leave behind. Instead of a new repo I asked what Current City already had that the new game needed, and the answer was most of it: the world, the renderer, the input layer, the save system, the release machinery.
So the engine came out. Game-specific rules moved out of shared code. A boundary test now fails if either game reaches into the other. By 25 September the repository was a workspace: one engine package, two game packages, and a third package, Route Lock, a route-drawing puzzle module that both games use for their locks and that each game feeds its own dialect.
flowchart LR ENG["packages/engine
world · render · input · saves"]:::mine --> CC["games/current-city
logic puzzles · 66 releases"]:::good ENG --> BR["games/blackout-relay
stealth action · 23 releases"]:::good RL["packages/route-lock
route puzzles, per-game dialect"]:::mid --> CC RL --> BR classDef mine fill:#dcfce7,stroke:#16a34a,color:#14532d; classDef mid fill:#eef2ff,stroke:#6366f1,color:#1e1b4b; classDef good fill:#dbeafe,stroke:#2563eb,color:#0b3a8f;
Blackout Relay shipped its first release on 6 September and its twenty-third on 26 September. It is a replayable stealth action game with coordinated guards, scavenged gear and environmental tactics, playable with a controller, touch, or a keyboard, with a co-op mode that needs both operatives out. Two details I am fond of: a pose system, and an aim assist that lines the shot up but leaves the firing to the player.
I did not type most of these lines. I set the rules the agents work under, and I judge what ships. The rules that mattered most:
What this shows is not that the games are great. It is that the distance between a product idea and a shipped, versioned, playable thing has collapsed for anyone who can hold both the product judgment and the engineering judgment at once. That is the job I want.