Journal
What we built, what we learned
The record of how videogame.io came together - including the mistakes, because those taught us the most.
- Oct 29
Qwen 3.8 becomes the writer
Our local model on two DGX Sparks took over app writing: 6.3 minutes per app instead of 19.7, with more features working. Every app and site since then is written on our own hardware.
- Oct 30 · morning
GameKit: a kit written for the writer
GPT 6.1 Sol wrote GameKit, a small three.js WebGPU library (renderer, post effects, audio with a beat clock, touch controls, UI) plus the rules the local model follows. Games stopped reinventing the basics.
- Oct 30
Tests that check the actual game
A game could pass 'it loads and has a Start button' while being broken. Sol now writes acceptance tests from each game's own design - the stack really slices, the plunger really launches - and every game runs them on a real GPU.
- Oct 30
Lessons that compound
Every repair diagnosis is kept. Sol distilled them twice into rules for the writer, and checks that run before the GPU test catch syntax and import mistakes. Repair rounds roughly halved.
- Oct 30
The first first-try pass
After adding a boot check (the title appears, Enter starts), BOX PUSH passed every test on its first run - the first game ever to do that.
- Oct 30 · afternoon
The kit owns the game flow
Almost every first-test failure was the same few things: Start does nothing, game over at once, restart dead, a key held at start. Sol moved start, pause, game over, restart and loading into the kit itself, so no game writes them by hand anymore.
- Oct 30
Two more starters: NIGHT SHIFT and SKYLINE ROADSTER
A point-and-click detective case - photo backgrounds, cut-out actors, verbs, a five-step puzzle and a hint button - and an electric roadster that sticks to a loop upside down, corkscrews, then flies through six gates and lands. Both passed their tests on the first run.
- Oct 30
Five starter games
Sol wrote five finished starter games - a side-scrolling shooter with a boss, a twin-stick arena, a physics launcher, a crate puzzle, a three-event track meet. Three passed their tests on the first run; all five pass now. New games start from them instead of from a blank page.
- Oct 30
When the tester was wrong
One template 'could not fire'. Four fixes later we found the bug was ours: the test's 1.2-second mouse hold lasted 40 milliseconds. Tests get tested too.
- Oct 30
Real textures, real characters
1,463 photo texture sets and 139 animated characters from free CC0 packs, indexed so the builder can pick by theme: planks for a dock, a knight for a castle, an archer for archery.
- Oct 30 · evening
Sheets before builds
Before anything goes into a game, it goes on a test sheet: spaceships, pixel art, textures, characters. The Sparks grade every item; only what scores well goes near a build.
- Oct 30
One game, any look
Our music-video catalog has 804 visual themes. The Sparks turn a theme into a game style; Sol wrote the art rendering - ink outlines, halftone dots, watercolor, woodblock, clay, neon grids, rain. Same scene, re-drawn in a click.
- Oct 30
The black-screen lesson
Sol's first art code drew every frame black. One line - a colour built the way the shader language reads as zero - was repeated everywhere. Found by measuring brightness after each step. Now every frame must prove it is not black before it ships.
- Oct 30
7.5 out of 10
Round four of the themes: stained glass 9, noir 9, blueprint 9, watercolor 8, paper cut-out 8. The average went from 5.5 to 7.5 in one evening of Sparks grading and Sol rewriting.