Convoy policy playground

1. Write a policy (.bas)

loading…

2. Pick an opponent

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).
build 5bbf1db7 · 2026-10-03 14:55