The game is played through a series of ticks.
Robliterator consists of a cartesian grid representing a torus that forms the game world, upon which are found robots and other objects.
Each robot consists of:
Each tick, a robot can either move in a cartesian direction, or shoot in a cartesian direction. Shots are instantaneous, fatal, and have unlimited range. It is possible for a robot to shoot itself if there are no other obstacles at all in the direction of the shot.
If a robot reaches 4 errors, then it self-destructs.
Each tick, all the still-active robots are contacted using HTTP, and sent the status of the game. The robots must then respond with a command for their next turn.
Only port-80 "http:" URLs are supported. Passwords are not supported. In the response, everything except the first word of the entity body is ignored (redirects are not followed, for instance).
Each robot has about 5 to 10 seconds to respond, depending on how many robots are in play and how long it takes to contact them all.
There can only be one robot per hostname running at any one time; the hostname is used to identify the player.
The game state consists of three blocks of text, each delimited by a blank line.
The first block is a number giving the robot's identifier.
The second block is the state of each robot in play, in age order (oldest first). Each line consists of a space-separated set of fields:
The third block is the board state. Each line represents one row of the grid, and consists of a space-separated set of strings representing the board. Each string is one of the following:
.
W
The valid commands are:
move-north
move-east
move-south
move-west
fire-north
fire-east
fire-south
fire-west
idle
suicide
fire-*
commands,
then it does count towards the number of kills.)
The first row is the northern-most side. The first string on each row is the western-most side.
In addition, the following commands are used to represent exceptional cases:
appear
error
The tick after a command has been given, the result of the robot's command will be visible in the second block sent to all the CGI scripts. The following result strings are possible:
appeared
idled
moved
collided
killed
missed
suicide
Here is an example of a message sent to a robot from the server:
54 54 software.hixie.ch idle idled 1 0 1793 0 0 58 treeplate.damowmow.com fire-west missed 1 0 1355 178 0 W W W W W W W W W W W W W . W W W W W W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . W W W W W W W . . . . . . . . . . . . . . . . . . W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . W W W W . . . W W W W . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . . . . . W W . . . . . . . . . . . . . . 54 . . . W W . . . . . . . . . W . . . . . . . . W W . . . . . . . . . W . . . . . . . . W . . . 58 . . . . . . W . . . . . . . . . W W W W W W W W W W W W W . W W W W W W
The source of the server is available online: