Build a tank.
Write its brain.
Win the rumble.

robocode-s is a reimplementation of Robocode with a Rust engine and robots that run in their own process, talking to the engine over an open protocol. Classic Java robots run unmodified, turn for turn identical to classic Robocode.

Get started Rankings

Classic

Existing robot jars run as they are. Every turn matches classic Robocode exactly, checked against real RoboRumble robots.

Any language

Robots talk to the engine over an open protocol, so they can be written in Java, Kotlin, Python, C#, Rust or C/C++ and run locally, in a container or on another machine.

Reproducible

In deterministic mode the same seed gives the same battle on every machine. Find a bug once, replay it forever.

The rumble

A distributed league: volunteers run the battles, results are cross-checked, and every matchup can be watched in the browser.

Where we are

robocode-s is in early development. The engine, protocol, server and the host for classic Java robots already fight real RoboRumble robots identically to classic; there is no release to download yet. Follow along on GitHub.

  1. M0 Bootstrap: repository, CI, design Done
  2. M1 Headless engine + classic Java robots, bit-exact In progress
  3. M2 Desktop GUI: viewer, debug paint, replay Planned
  4. M3 Isolation: containers, remote runners Planned
  5. M4 Robots in Python, .NET, Rust, C/C++, Kotlin Planned
  6. M5 The rumble: rankings, volunteers, submissions Planned
  7. M5b Battle replays in the browser Planned