All work
Toys

OdeCraft

A voxel world in one HTML file.

A Minecraft-like voxel sandbox where the entire game is a single 126 KB HTML file. Seven biomes, caves, four ores, torch light that floods across chunk borders, a 20-minute day with sunsets and stars, creative flight. No assets, no network, no build step; every texture and every sound is generated the moment the page opens.

FREEone HTML file37 tests green
Reach out
OdeCraftOdeCraftOdeCraft
Seed 'ode', midday. A low cloud hugging the knoll, the sand bay beyond. Every texture is drawn procedurally at boot.
The hard part

A voxel world is a lighting problem wearing a terrain costume. Sunlight and torch light flood cell by cell through 16x80x16 chunks and have to stay continuous across every border, and one wrong read ruins it: an early build sampled light from each block's own cell instead of the cell in front of the face, and the whole world rendered dim. Headless GPUs would not draw the scene at all, so it could not be verified by screenshot.

How I built it

The pure core, worldgen, lighting, meshing, collision, lives in its own script block with zero DOM access, so a Node harness runs the exact same bytes and asserts 37 invariants: determinism, light-border continuity, no phantom light, save roundtrips. The shell wraps it in WebGL2, synthesized audio, and touch controls. Claude wrote the code against a four-critic design dossier; the playtesting eye that caught the dim world is mine.

Where it landed

2,688 lines, 126 KB, opens straight from the file with no server and no install. Worlds are deterministic from a text seed, edits save to localStorage as compressed diffs, and it runs on a phone with a virtual joystick.

Devlog

two nights, August 2026
  1. The light fix: faces read the front cell, the world turns bright; 37 tests green
  2. Blind verification pipeline; test harness 130x faster in-realm
  3. Core and shell in one file: worldgen, flood light, mesher, physics, audio synth

A full game engine, renderer, and test suite in one file you can email. The discipline is the feature: a pure deterministic core, invariants proven in Node, and a shell thin enough to read in an afternoon.

Open the file. You are already playing.

Let’s build something