Robocode
Robocode is an Open Source educational game started by Mathew Nelson (originally R was provided by IBM). Presently contributions are being made by various people. Officially Flemming N. Larsen is working on the robocode to keep it current and fix the bugs. more...
Home
Accessories
Adventure
Adventure Game
Arcade Games
Arcade styled
City building games
Computer role playing games
Economic simulation games
Educational Games
Carmen Sandiego
Giraffe (computer game)
Granny Garden
Hang Man
Mavis Beacon
Number Munchers
Robocode
Star Wars DroidWorks
The Oregon Trail...
The Typing of the Dead
Fighting Game
First Person Shooter
First person shooter
Flight simulation
General strategy games
God game
Hybrid strategy
Mech
Online browser based games
Online role playing games
Online shooter games
Platform Games
Player Controlled
Programming game
Puzzle games
Racing games
Real-time strategy
Real-time tactics
Rhythm video game
Roguelike
Shoot up
Shooters
Space simulation
Sports game
Survival Horror
Third person games
Turn-based game
Turn-based strategy
Turn-based tactics
Vehicle-based
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.
The game
Competitors write software that controls a miniature tank that fights other identically-built (but differently programmed) tanks in 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. Some of the more successful robots use techniques such as statistical analysis and attempts at neural networks in their designs.
Safely run other people's bots
One can test a robot against many other competitors by downloading their bytecode, so design competition is fierce. Robocode provides a security sandbox (bots are restricted in what they can do on the machine they run on) which makes this a safe thing to do.
Movement and Targeting
Robocode competition is all about two things:
Avoid getting hit too much (Movement);
Try to predict where the opponent(s) will move and hit them as much as possible (Targeting);
Many sophisticated techniques have emerged. However, many top bots utilize:
WaveSurfing - Adapting your movement and trying to avoid getting hit the same way twice.;
StatisticalTargeting - Collect data that describes the targeting situation together with what would have been the correct decision for each situation. Use this data to make targeting decisions.;
GuessFactor Targeting--the top form of Statistical targeting where the stats for enemy robots are each contained inside one number (the GuessFactor);
Sample bots
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.
Open source bots
Check the RoboWiki's open source bots listing:
It isn't complete, but there are lots of bots there.
Code size restraints
To force the competitors to prioritize what features to include in a bot there are four used code size categories. (Codesize is measured in bytes by a tool.):
Read more at Wikipedia.org
|