$08 · Live demo · runs entirely in this tab — nothing is sent anywhere
Spar with the ghost.
This is the memorial policy — a 2.2-million-parameter neural net trained on 7,554 recorded matches of a friend who passed — running live in your browser. Move, and it answers with real 16-frame motor chunks from his learned vocabulary: his walk rhythm, his jumps, his spacing. You're standing in for his most-faced opponent.
An abstraction, honestly labeled: this arena is original — it contains no game code, art, or audio. The net sees live positions, velocities and spacing through the exact feature schema it was trained on; the game context it can't see here is held at its training averages.
How this works
- 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.