v0.2.0 · Language 1.1

Code robots.
Watch them fight.

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.

No install. Runs in your browser. No account needed to play. Deterministic. Same seed, same outcome.

A whole sandbox in your browser.

From your first on tick handler to climbing the global tier list — every layer is open, deterministic, and fast.

Sensor-driven DSL

Write behavior in ArenaScript, a small typed language with first-class robot intents: fire, patrol, retreat, focus, and dozens more.

Real-time simulation

Tick-accurate physics, line-of-sight, vision cones, decision traces, and a scrubbable replay of every match. Sim speed up to 8×.

📚

Personal bot library

Save bots locally, sync them to your account, version your iterations, and drop in .arena files from anywhere.

🏆

Competitive ladder

Daily challenges, ranked matchmaking, single-elimination tournaments, and a round-robin tier list that ranks every preset S through D.

🌎

Community sharing

Publish your bots to the public gallery. Install community submissions into your library with one click.

🎬

Cinematic replays

Generate share cards, export WebM replay videos, and jump to first-damage or first-kill bookmarks in any match.

From idea to arena in 60 seconds.

01

Pick a chassis

Choose one of four classes — Brawler, Ranger, Tank, Support — each with its own stats, weapons, and movement profile.

02

Script its mind

Write your bot's logic in ArenaScript. The compiler validates every sensor, intent, and state transition before you run.

03

Press Compile & Run

Drop into a 1v1, team match, or 20-bot battle royale. Watch the simulation, scrub the replay, ship the highlight clip.

Tiny surface, expressive semantics.

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.

  • Strict, typed compilation. Every program goes through lex, parse, type-check, and intent-validation before a tick fires.
  • Deterministic seeds. Same code + same seed = same match, every time. Replays are reproducible.
  • First-class squads. Coordinate with teammates via the hive: shared targets, focus-fire, mutual support.
  • Diagnostics that don't suck. Inline errors, decision traces, and a vision-cone overlay so you can see what your bot sees.
fortress.arena Tank class
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)
    }
  }
}
10+
Preset Robots
4
Chassis Classes
20
Royale Slots
100%
Browser-native

Your first bot is ten lines away.

No install. No build step. Open the editor and write your first on tick.