Welcome to the RR docs!ΒΆ

In Robot Rumble, you develop robots that fight in one-vs-one arena battles. We currently support Python and Javascript, but more languages are planned. A very basic robot program looks like this:

Python

def robot(state, unit):
    if state.turn % 2 == 0:
        return Action.move(Direction.East)
    else:
        return Action.attack(Direction.South)

Javascript

function robot(state, unit) {
  if (state.turn % 2 === 0) {
    return Action.move(Direction.East)
  } else {
    return Action.attack(Direction.South)
  }
}

You write a program for an individual robot, and then, every turn, that program is run for every robot on your team. Global state is allowed, so how you make your robots work together is entirely up to you.

Robots fight in a 19x19 circular arena. In the picture below, dark squares are the wall, and green squares are spawn points. Every 10 turns, a batch of 5 robots randomly spawns for each team.

_images/arena.png

Every turn, a robot can either move or attack in one of four directions.

_images/grid.png

Every robot starts out with 5 HP, and attacks do 1 damage (even in the case of friendly fire!). If a robot moves into a wall, into another robot, or into the same location as another robot, it will forfeit its turn. There is no collateral damage in this game.

If you have more robots in the arena after 100 turns, you win!