ArenaScript is a domain-specific language for autonomous combat robots. Write your bot's behavior in a clean, sensor-driven DSL — then watch the simulation play out, frame by frame, in a real-time tactical arena.
From your first on tick
handler to climbing the global tier list — every layer is open, deterministic, and fast.
Write behavior in ArenaScript, a small typed language with first-class robot intents:
fire, patrol, retreat, focus, and dozens more.
Tick-accurate physics, line-of-sight, vision cones, decision traces, and a scrubbable replay of every match. Sim speed up to 8×.
Save bots locally, sync them to your account, version your iterations,
and drop in .arena files from anywhere.
Daily challenges, ranked matchmaking, single-elimination tournaments, and a round-robin tier list that ranks every preset S through D.
Publish your bots to the public gallery. Install community submissions into your library with one click.
Generate share cards, export WebM replay videos, and jump to first-damage or first-kill bookmarks in any match.
Choose one of four classes — Brawler, Ranger, Tank, Support — each with its own stats, weapons, and movement profile.
Write your bot's logic in ArenaScript. The compiler validates every sensor, intent, and state transition before you run.
Drop into a 1v1, team match, or 20-bot battle royale. Watch the simulation, scrub the replay, ship the highlight clip.
ArenaScript is intentionally small: one file, a handful of keywords, and
a clean event model. No null pointers, no callback soup, no hidden state —
just on tick
and the world.
robot Fortress is Tank { state { last_seen = 0 anchor = waypoint(200, 200) } on enemy_spotted(e) { hive_focus(e) last_seen = tick } on tick { if hp < 30 { shield_up() fall_back_to(anchor) } else if enemy_visible { advance_on(target) fire("cannon") } else { hold(anchor) } } }
No install. No build step. Open the editor and write your first on tick.