You Opponent
0:00 0:00
Paused

Game over

Pluto / Self-play archive

A thousand games.
A new point of view.

Drop into the action. Watch Pluto play both sides, then jump to another game.

1,000 games6 matchups9 maps

Network play · join a local or tailnet game →

Preparing…
📱 Touch controls: tap to select, drag to pan, long-press to command (move/attack), long-press + drag to box-select. Best in landscape.

Bring your game files. We’ll bring the games.

Choose all four files below: the three MPQs and OpenBW-Remastered-Terrain.obwterrain. All nine maps need to be ready before a random game opens.

Your files are checked and saved automatically in this browser’s private storage. Nothing is uploaded. On your next visit, we restore them and open the games.

  • STARDAT.MPQRequired · 66,184,491 bytes
  • BROODAT.MPQRequired · 23,519,727 bytes
  • patch_rt.mpqRequired · 636,958 bytes
  • OpenBW-Remastered-Terrain.obwterrainRequired · all nine maps
Local file storage
Not saved between reloads.
Imitation workbench · camera and live-rollout gate

A real Speed replay, rendered three ways at once: every positional command as a camera jump, the current calibrated command camera, and a deliberately sparse target/combat camera. Gold dots are exact replay command positions.

Camera rectangles are inferred reconstructions, not the professional’s recorded camera or mouse trajectory. These map-space clips are the first hill-climbing diagnostic.

Replay → live counterfactual: first real gate passed

Two independent OpenBW engines replayed the Speed game to frame 2000 with the same checksum. One then kept the recorded pro commands; the other removed only Speed’s future commands and accepted a real Brood War replacement turn.

Pro branchRecorded commands continue unchanged.
Agent branchA deliberately bad policy issues stop current selection; opponent replay commands continue.
2000 identical frames · checksum 0x64d90897 · first divergence at frame 2000

This checksum gate now backs the learned comparison immediately below.

First causal next-token rollout · left: Speed continuation · right: token agent

The older comparison above is a smoke-test crop format, not the canonical corpus. Its overlapping one-state continuations were useful for plumbing but must not be counted as independent training examples.

The deliberately tiny count-based baseline produces a valid first-event sequence on every held-out state, but exactly matches Speed's whole next interface event only 1.4% of the time. At frame 12836 it generates a right-click at (2766, 1987); Speed actually recalls control group 4. Both engines are identical through the fork frame and diverge as soon as the generated click is applied.

Whole-game transcript → tiny decoder → live click

The canonical artifact is now one non-overlapping game transcript:

STATE_FULL → INPUT → STATE_DELTA → INPUT → …

All 5,229 replay commands appear exactly once. Player state and the environment-supplied input boundary are loss-masked; click and key tokens are supervised. Stable per-game entity handles survive movement and reappearance, while enemy state is not carried through fog.

Canonical game stream2,541,380 tokens · 72,734 supervised input tokens · 250 complete checkpoint-aligned 8K windows.
Gradient canary5.66M-parameter scratch decoder · action loss 8.19 → 0.00012 · 100% top-1 on one memorized opening window.
frame 52 · generated input exactly matches the pro · right-click (103, 415)
Memorization canary · left: Speed continuation · right: one generated live click, then idle

The panes are identical through frame 52. The model emits the complete next input token for token, and OpenBW executes it as a real right-click. The current harness then suppresses Speed’s remaining 5,215 commands, so the right pane becomes an idle one-decision agent. Repeated four-frame replanning is the next live-rollout step.

This is a memorization and integration result, not a held-out generalization result. It proves the causal compiler, action-only loss, generation, interface decode, and replay-to-live handoff connect end to end.

Held-out replay: a useful failure we can hill-climb

The same 5.66M-parameter decoder was trained across 354 windows from three Speed perspectives, then evaluated on 87 windows from a different replay and different player: K_Meonjibisong playing Protoss on Odyssey.

Teacher-forced tokensBest held-out action loss 0.543 · 80.47% top-1 · every one of 12 greedy samples terminated cleanly.
Actual generated behavior0/12 complete inputs · 1/12 first events · control-group 1 predicted in all 12 situations.
same OpenBW frame in both panes · pro event versus greedy model event
Observation-clamped held-out reel · green: recovered pro event · amber: generated model event

The aggregate token score mostly rewards learned transcript grammar and common sub-tokens. The reel makes the policy collapse visible: the professional selects units, clicks the map, uses command cards, and recalls multiple groups while this checkpoint always emits group 1.

This is replay-disjoint next-input evaluation, not a live closed-loop rollout. Both panes deliberately receive the identical reconstructed player observation so the proposed next event can be judged before compounding bot-state error.

Hill climb 1: balanced events, lower loss, worse behavior

The next run sampled wait, entity-click, map-click, command-card, and key-chord targets uniformly. Every canonical input received total loss mass 1.0, shared equally by its recovered events and command/timing envelope.

The metric improvedHeld-out normalized loss 8.16 → 0.63 · balanced updates ranged from 286 to 316 per family.
The behavior regressed11/12 generations were WAIT · one had no event · 0/12 first events matched the pro.
coordinate-token top-1: 1.0% · map clicks remain the hardest family
Same held-out states · pro versus flat-token collapse versus balanced-event collapse

The three panes make the failed hill climb explicit. The flat model always recalls group 1; the balanced model almost always waits. A lower objective-specific loss is not a behavioral promotion.

Hill climb 2: natural next-token stream, then scale the data

The balanced objective is retired as the main path. The new transcript learns the natural next boundary: INPUT continues into exact click/key tokens; ADVANCE asks OpenBW for the next four-frame observation. There is no repeated WAIT sentence and no event-family sampling weight.

STATE → INPUT or STATE → ADVANCE → STATE
Corpus-first extraction1,500 parity-screened replays · 3,000 player perspectives · 1,033 Terran perspectives.
Fast feedback slicefirst 7,200 frames · 128 train · 32 replay holdout · 29 replay-plus-player holdout.

The first deterministically selected Terran opening contains 1,668 exact commands, 99 complete 2K-token windows, and 185 reconstructed camera positions. Every camera jump is attached only after its source command has been emitted; the causal audit found zero future-cue violations.

Standard-NLL smokeheld-out loss 8.128 → 5.232 · boundary top-1 67.2% versus 56.5% majority.
Still honestly bad0/6 greedy inputs terminated · 0/6 exact expert inputs. This is pipeline learning, not an agent result.
next measured climb: 1 → 8 → 32 → 128 replay standard-NLL scaling

Replay commands recover click targets and keystrokes. They do not recover the continuous mouse trajectory. Multi-selection is compiled to a click followed by Shift-clicks; generated cursor travel is presentation only.

Ordinary opening activity · frames 242–482
Largest reconstructed camera jump · frames 8888–9128
Selection and control consequence · frames 121–361