Ryan Campbell · Games

Four games, a living room, and not one art file.

Every one of them runs in a browser tab. No install, no launcher, no asset download — every texture, mesh, sound and note is written in code the moment the page loads. Open one on a phone and it plays.

A kart drifting through a cobbled village street at golden hour, sparks trailing from the inside wheels.

Start here · Arcade kart racer

Kart Royale

Golden hour, eight karts, and a drift ladder that pays you for holding the angle longer than is sensible.

3 mini-turbo tiers 1,600 m circuit 31 procedural materials 0 art assets
Explore Kart Royale
The torn roof of an Arctic station under an aurora, antenna masts across the sea ice and snow falling through the moonlight.

First person · Coming soon

Halocline

Station 71-N is going dark, and another crew wants the claim.

See the station
A television showing a party game lobby with thirty-two named seats listed along the bottom of the screen.

Not a game · In development

Homie

A Mac Mini behind the television that runs anything, knows who is in the room, and can make you a game. Everyone’s phone is already a controller — no app, no account, nothing left behind.

32 seats in a room 3 party games 144 ms cue to sound
Explore Homie

How they were made

ROUNDS 000

A builder never
grades its own work.

All five projects were built the same way: write down what good looks like before you start, split the work into pieces that can improve without each other, and give every piece a critic that did not build it. The critic compares the piece against the written bar and sends it back until it clears.

The rule that makes it work is the separation. A model reviewing its own output finds it excellent. A model handed a rubric and a frame it has never seen finds the seams.

Bar

Write the standard down first

Each project starts with an art-direction document carrying numbered calibration bands, so "good" is a score with a defensible floor rather than a mood. 0–40 reads as programmer art. 85+ is the only passing grade.

Split

Cut along seams that don't move

Track geometry, materials, flight model, audio, HUD. Each owns its own files and its own numbers, so two agents can work at once without a merge that silently loses a fix.

Critic

A separate pair of eyes per piece

A fresh agent gets the rubric and a captured frame, not the diff and not the intent. It scores against the bands and writes down what is short. Halocline alone accumulated 230 of these reviews.

Measure

Instrument what eyes can't judge

Whether a drifting lap is genuinely faster than a clean one. Whether the key-to-fill ratio on the road is really two stops. Whether the game survives losing its WebGL context. Those are harnesses, not opinions.

Loop

Stop when the critic runs out

Not when the builder is tired. The loop ends when a critic that has never been happy cannot find the next thing.

467kLines of source across five projects
262Measurement harnesses and probes
230Art-direction reviews on Halocline alone
0Art files in any shipped build

Start anywhere

They all run in the tab you already have open.