Robocode
|
Robocode is a free educational game provided by IBM. It is designed to help people learn to program in Java and enjoy the experience. It is very easy to start - a simple robot can be written in just a few minutes - but perfecting a bot can take months or more.
Competitors write software that controls a little tank which fights other identically-built (but differently programmed) tanks on a playing field. Robots move, shoot at each other, scan for each other, and hit the walls (or other robots) if they aren't careful. Though the idea of this "game" may seem simple, the actual strategy needed to win is not. Good robots have hundreds of lines in their code dedicated to strategy.
Several sample robots are included in Robocode to help the beginners get started. They demonstrate various basic techniques used in coding robots, from event-driven programming to writing out data to be used later. Many more sophisticated techniques have emerged involving movement, aiming, and even dodging bullets.
There exist several leagues for Robocode. The two main active competitions are the RoboRumble@Home (http://robowiki.net?RoboRumble), a continuous league based on distributed computation in a similar way to SETI@Home, and the Robocode Little League (http://robocode.yajags.com/), a weekly competition specifically for codesize-constrained bots. One can test a robot against many other competitors by downloading their bytecode, so design competition is fierce.
External links
Robocode can be downloaded from SourceForge: http://robocode.sourceforge.net/
Old location was: http://robocode.alphaworks.ibm.com/
For more information look at the RoboWiki, a WikiWiki dedicated to Robocode strategy can be found here (http://robowiki.net/)
Beginners might want to start with the Beginners FAQ (http://robowiki.net/?BeginnersFAQ)
See also
Irish Robocode Competition : http://www.robocode.ie