benyoung.ai
← Back Play Current City ↗

Case study · Grimnoth · July to September 2026

One engine, three games, twelve weeks.

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.

Role: everything, solo 89 player-facing releases 2 live games, 1 shared engine TypeScript · PixiJS · Cloudflare
Inside a robot in Current City: an octagonal circuit board hull with pressure-pad sensors, fan-cone thrusters, a battery, an eye and a grabber claw, and the tiny pilot standing in the middle
Current City: you are OHM, a thinking machine in a city where machines are not allowed to think. You hide inside robots and wire real logic gates so that what they do is explainable by their wiring.

Why this game

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.

What I built, and how fast

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.

The spin-off: an engine, then a second game

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;
The workspace after the September split. A boundary test keeps the two games from reaching into each other.

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.

How it was built

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.

By the numbers

3,679
Commits, 7 Jul to 26 Sep 2026
66 + 23
Releases: Current City + Blackout Relay
3 wks
From the first Relay release to the workspace split
1,059
Test files across the workspace
~179K
Lines of TypeScript
1
Person. Plus agents.
Experiments, deliberately. Each one taught me something about what AI-directed building can and cannot do, and that lesson is what I bring to a team. If you want to see the engine boundary test or the release-notes rule, I am happy to open the repo in a conversation.