$08 · Live demo · local browser inference
One more round.
The memorial policy is running live in this tab. Move, and it answers with 16-frame motor chunks learned from 7,554 recorded matches of a friend who passed.
This is an honestly labeled abstraction: an original arena with no game code, art, or audio. Live position, velocity, facing, and spacing use the training schema; context unavailable here remains at the corpus average. Nothing is sent anywhere.
$08 / Sparloading 2.2M parameters…
his motor policy · abstract arena — not the game← → move · ↑ jump · ↓ crouch
How this works
The model, inference path, and evidence behind the live arena.
- Model
- VQ-BeT decoder — d192 × 4 transformer layers, LoRA matchup adapters, 8 factored heads. Behavior-cloned from his replays, one motor token per 16 frames from a 256-code learned codebook.
- Inference
- A hand-written forward pass in ~200 lines of TypeScript-adjacent JS — no runtime, no WebGPU needed at this scale. Verified bit-close (<1e-5 max logit error) against the trained MLX model.
- Weights
- 1.74M deploy parameters, 6.97 MB float32, fetched once. Sampling uses the exact deploy calibration the live bot ships with (T=1.0, prior-adjusted logits).
- Perception
- The 266-dim state schema from the training stack: spatial, velocity, wall-distance and facing dims are computed live from this arena; the rest hold their means over 458k real training states.
- Provenance
- Every frame of training data was extracted from CPS-2 emulator RAM with a reverse-engineered schema — positions, frame data, hitboxes — built by hand for this project.
Built as a memorial — to keep the way he played from being lost. Not affiliated with any game publisher; no copyrighted assets are used.