1. Write a policy (.bas)
loading…
2. Pick an opponent
Orders (LIVE, your Mother is team 0)
MARCH
(click here)
(click here)
Hotkeys: L laager · U break laager · F focus rival · click MARCH to set a waypoint.
Orders reuse AGENT_CONTRACT.md's own real
steer wire (set_heading/
laager) — the SAME channel any general (AI or human) submits through,
rate-limited to about one order per 14.4s of sim time. MARCH is a dedicated click-pad (top-left
of the pad = one corner of the whole map), not a pixel-exact overlay on the rendered minimap.
3. Watch (the real sim — FIGHT fast-forwards then replays; PLAY LIVE runs it live, 1x realtime)
A FIGHT runs the real headless sim in your browser (sim.tickWorld, real --team-policy
semantics), fast-forwarding the whole match in memory, then plays the recorded tape back
here through the same wasm viewer the spectator bundle uses. PLAY LIVE instead runs that
SAME sim.tickWorld live, at 1x realtime, with YOUR Mother (team 0) commanded through the
order panel below the FIGHT button while your units still play out your written policy —
no server is ever contacted either way, and both produce an ordinary replay tape at the end.
For a narrated director's-cuts breakdown of a downloaded replay in the same format as the
Logs page's shipped matches, run
game/tools/director_replay_log.nim --json + convoy_log.py on it
natively (not yet wired up client-side for a freshly-fought match — disclosed, not
silently skipped).