Rules: choose 1–4 runners and 1–6 ghosts. Runners win by collecting every pellet; ghosts win when all runners are out or the 1500-tick clock expires. Pellets score 10; power pellets score 50 and frighten ghosts for 60 ticks. Frightened ghosts move only on even ticks. Eating ghosts scores 200, 400, 800, then 1600 within one fright. A catch scores 200 for the ghost and costs a runner one of three lives. Runners return after 10 ticks with 10 ticks of protection. Ghosts leave the pen every 8 ticks; eaten ghosts return after 20 ticks. The middle tunnel wraps horizontally. Only ghosts can cross the pen door. Player 1 uses WASD or the touch pad; Player 2 uses the arrow keys. Humans keep their last direction. Each bot has its own worker and 150 ms per move; invalid or late moves keep its previous direction where possible. Fright seconds are shown at Normal speed; simulation rules always use ticks. Series play every selected round, with a fresh seed each round. See the bot roster.
Write your own bot: read the Bot API. Upload a .js file up to 256 KB; it stays in memory on this page and is not uploaded. Load only code you trust. Top-level bot code must not depend on Math.random; seeded randomness is available inside move(state).
The bots
These house samples are not AI-model benchmark entries. Every bot can play either role.