Robocode Little League

Hosted by

Standard Divisions

There are three standard divisions planned for this tournament, which will begin to be run as soon as the automation software is ready. There is already a reasonably large number of robots in these categories, as they competed in the MiniBot Challenge. The standard divisions are:

Robots entered into the standard competition will compete in the smallest division they qualify for.

Experimental Divisions

In addition, 3 other divisions are being formed as soon as a sufficient number of entrants is received:

  • FemtoBots - as small of a codesize as humanly possible to remain effective. The exact scoring algorithm still has to be worked out, but the main idea is to take the score of 'effectiveness' and divide it by the codesize of the robot.
  • HaikuBots - when FemtoBots were originally being written, Tobe, master of the MiniBot Challenge, noticed that most of them were variations of the same 4 lines put in different places and orders. HaikuBots are no longer strictly small in codesize for the purposes of this competition, but they are limited to 4 lines of code.
  • Sonnets - like HaikuBots, but limited to 14 lines of code rather than 4. Meant to help people be creative in this field with a little more breathing room.

For obvious reasons, HaikuBots and Sonnets must be open-source. For more information on the original FemtoBots and HaikuBots, see the Tobe's page about HaikuBots. For more information about reducing codesize, look around the Robowiki or the Robocode Repository forums.


When "codesize" is referred to on this website, it refers the size of the code segments within a java class, or the decompressed code segments in a jar file. There is a tool for measuring the codesize of a class or jar that will be used as the metric for this competition. It was written by Christian Schnell, and can be found here. Note that this has to do with the number of commands executed, not the size of your variable names.


For the purpose of this tournament, a 'line' will be synonymous with a 'semicolon'. Imports and package declarations are exempt from this restriction, but any other semicolon (including in for loops, break or return statements, etc.) do count. In for loops, not only are semicolons counted, but any commas in the for statement are also counted. The Robocode Little League requests that you don't use for loops at all in lines-based divisions just to make checks easier on these bots.