Bot Scrimmage Mode
Practice 4v4 CTF & Neutral Flag mechanics against computer-driven bots on real TagPro map geometries.
What the bots are thinking
Rule-based, not machine-learned. Every priority below is read straight out of the code the bots run.
Scrimmage Rules & Format
Practice matches use a fast-paced format so you can complete practice rounds quickly.
How Bots Make Decisions
Bots execute deterministic decision logic across 4 match states. Within each role, bots automatically split duties by proximity to prevent crowding.
1. Neutral Base (Both Flags Safe)
RESET- Offense: Infiltrate enemy base & grab flag.
- Defense: Park on flag stand & block attackers.
2. We Have Their Flag
OFFENSE LEAD- Carrier / Escort: Carry flag home & clear lead blocks.
- Defense: Hold base, anti-re, & block enemy chasers.
3. They Have Our Flag
DEFENSE ALERT- Chasers (Both Roles): Collapse on enemy carrier & cut off escape lines.
4. Both Flags Out
DUAL CARRY- Offense: Evade & protect carrier until return.
- Defense: Hunt enemy carrier to get return.
Bot Difficulty Calibration
All difficulty tiers run identical tactics — reaction latency and decision frequency alone determine bot difficulty.
Plays uncoordinated.
Full teamwork, job splitting, & containment.
Full teamwork, job splitting, & containment.
The maps
Community-built maps from the live game, extracted from match recordings so the geometry is exactly what you would play on.
Centenaria
by Fronj & MC Ride
43 × 24 tiles, 28 red and 36 blue spawn points, 4 portal pairs.
Moon Base 2024
by okthen and Eashy
42 × 30 tiles, 10 red and 9 blue spawn points, 2 portal pairs.
Lockhart [MM23 South Winner]
by A Noob
63 × 27 tiles, 29 red and 25 blue spawn points, 6 portal pairs.
Adding another map
Run bun run scripts/extract-map.ts <recording.ndjson> against a game recording and add the generated module to src/lib/sandbox/maps/index.ts. The script pulls the tile grid, the spawn points the real server used and the portal pairs — measuring each portal's destination from balls arriving through it rather than guessing — and takes capture-the-flag and neutral-flag maps alike.
