THE BUILD LOG · AI-ASSISTED DEVELOPMENT
How a PS1 racer gets built
by one person and a team of AI agents
RetroRoads is six small arcade games set on one real road: Hickory Road, Fond du Lac, Wisconsin, around 2009. Each one parodies a game we played back then. This page covers how the first two were made, and the rules that keep the work honest.
The look: realistic PSX, not cartoon
The target is a real PlayStation-era frame, not a modern "retro" filter. Every game renders at 640×360 with nearest-neighbour scaling, and the world goes through a small PSX shader:
Road, rock and grass textures are real photo scans from ambientCG and Poly Haven (CC0), cut down to 64 or 128 pixels so they wobble and crawl like the real thing. The HUD is a chunky bitmap layer drawn on top.
Photo-real sprites from AI image generation
Cars, bikers, trees, vans and the hill backdrop are flat sprites, the way many PS1 racers did it. Each sheet is generated in one image-generation session (Codex CLI), with every pose or angle on one sheet so the character stays the same from frame to frame. A script then cuts the sheet into cells.
- The supercar, sheriff cruiser and civilian sedan each have 8 angles, plus extra shallow-rear angles so a turn does not snap.
- The road biker sheet has ride, tuck, lean, club-left, club-right and crash poses, at 8 angles. Rivals are the same sheet recoloured.
- About 6,000 billboard trees line the County Chase lake road, drawn in one instanced batch.
Every generated image gets a small text file next to it with the prompt and what is in the picture, and a person looks at every image before it goes in the game. "The script ran" is not a check.
The look-dev gate
The first attempt at this project had one agent build all six games at once, with placeholder art and no reference picture to aim at; it said "done" and none of them looked like the games they parody. So the rule now is: no gameplay work on a game until one still frame of it, placed beside its reference screenshot, has been approved. County Chase took four versions to pass. Asphalt Assault passed on the first.
- Pick the reference frame from the real game.Need for Speed for the cars, Road Rash for the bikes.
- Build one still in the engine, same size, side by side.Real textures, real sprites, real HUD. No mock-ups.
- Owner approves or rejects with a note.Rejected means a v2 on the same page, not a new thread.
- Only then: gameplay.The approved still is the bar every later frame is held to.
A team of AI agents, one lead
The work is split into small jobs with written briefs. A lead agent (Claude Opus) owns the shared engine, reviews every image, and is the only one that reports to the owner. Builder agents each own one game's folder and nothing else, so two jobs never edit the same file.
- LeadTaste, image review, integration, reporting.
- Look-devThe still that sets the bar for a game.
- Art jobsOne image-generation session per sheet, reviewed by the lead.
- Game buildersOne per game, each with its own controller and tuning.
- Verify and fixBuild, tests, a recorded play-through, then at most two fix rounds.
A game only counts when a headless browser has recorded a real play-through of it. The videos on the home page come from that recorder (Playwright), not from screen capture by hand. The words "done" and "complete" are banned until that recording exists.
What is next
- Sound and music (none yet).
- Better phone play in portrait.
- Roadblocks and spike strips in County Chase; roadside cops and jumps in Asphalt Assault.
- The other four games: Downhill Disorder, Neon Detour, Curbside Chaos and Cruisin' for Confusion.
- Later, all six games on one shared map of Hickory Road, built from county GIS data.
TRY IT
Both playable games run in the browser, on a computer or a phone.