Tombstone
rpg-spine
Jun 2026 · age 44
What it was
A toolkit for a role-playing game on the Playdate, a handheld with a 400 by 240 one-bit screen, whose whole save state is one schema-defined document. A small schema language gives every field a stable integer code; a Java generator turns it into C that saves the game as a stream of field-coded commands and loads it by replaying them, skipping codes it does not know. Around that spine grew a one-bit image codec with a provably minimal encoder, a story compiler that turns branching dialogue into integers and images, and a JavaFX editor suite for dungeons, worlds, monsters, items and stories. It was built in seventeen days with an AI coding agent doing most of the typing, and a shelf of design documents longer than the code.
Wins, for the age
- At forty-four, Jeff learned a new way to work and made it produce: specify, review, approve, and let an agent implement. Seventeen days yielded a tested schema compiler, a strict C99 runtime and an editor suite larger than any the human had written by hand.
- Wrote the design documents first and directed the agent from them, concurrent with the spec-driven development movement of GitHub Spec Kit and Kiro (2025).
- Found on their own what Protocol Buffers had already found: stable field codes and skip-by-width make a save file survive renames.
- Built an encoder as a backward dynamic program, so the byte cost shown live in the editor was the true minimum for the scheme.
What it taught
- Directing rather than typing: the design shelf survives whether or not the game ships.
- Schema-first save design against a real device constraint: field codes, self-describing widths, generated dispatch.
- Bound every count read from a file. The generated loader trusted a count from the save, and a corrupt one could ask for billions of elements.
- The pull toward tooling over game is the same as ever; only the speed is new. Commit messages like "wow" record approval, not change.
Genealogy
Ancestors: BSG Prototype: a whole game's state as one typed document. Cutter: the sprite-cutting eye behind the image pipeline. Deckify: JavaFX tooling for game content. Kitchen: the old shape of schema compiler, editors and game together. Tiles: walls and edges derived rather than drawn. Descendants: none on record. It stopped with the formats built and the VMs still on paper.
Epitaph
Field codes so the save survives a rename, a codec proven minimal, and five editors for a dungeon you enter once and either die in or clear. Seventeen days, one primate, one machine, and a design shelf longer than the code.