|
Robocode is an Open Source educational game started by Matthew Nelson (originally R was provided by IBM). Currently contributions are being made by various people; officially Flemming N. Larsen is working on Robocode to keep it current and fix the bugs. The game 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. Image File history File links No higher resolution available. ...
Image File history File links No higher resolution available. ...
A splash screen in Inkscape with the logo and version information Splash screen is a term used to describe an image that appears while a computer program is loading. ...
Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Educational games are games; board and card games, including video games that are designed to teach people, typically children, about a certain subject, expand concepts, reinforce development, understand an historical event or culture, or assit them in learning a skill as they play. ...
International Business Machines Corporation (IBM, or colloquially, Big Blue) (NYSE: IBM) (incorporated June 15, 1911, in operation since 1888) is headquartered in Armonk, New York, USA. The company manufactures and sells computer hardware, software, and services. ...
Java is a programming language originally developed by Sun Microsystems and released in 1995. ...
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. Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ...
Statistics is the science and practice of developing knowledge through the use of empirical data expressed in quantitative form. ...
// See also Artificial neural network. ...
Safely run other peoples' 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 internet redistribution safe. Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. ...
For the Wikipedia sandbox for editing experiments see Wikipedia:Sandbox This article is about the computer security model. ...
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. In particular, 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.
- GuessFactorTargeting - The best known form of StatisticalTargeting where the stats for enemy robots are each contained inside one number (the "GuessFactor").
- PatternMatching - Tries to match patterns of observed behavior with previously observed patterns, and make decisions on targeting based around that.
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 files for use later. Event-driven programming is a computer programming paradigm. ...
Open source bots Check the RoboWiki's open source bots listing: Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
- http://robowiki.net/?OpenSource
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 codesize categories (codesize is measured in bytes by a tool): - Megabots - no codesize restriction
- Minibots - less than 1500 bytes
- Microbots - less than 750 bytes
- Nanobots - less than 250 bytes
Leagues There exist (and have existed) several leagues for Robocode.
RoboRumble@Home The main active competition is the RoboRumble@Home, a continuous league based on distributed computation in a similar way to SETI@Home. The RR@H features leagues for 1-on-1, melee (free for all with more than two bots) and teams. 1-on-1 and melee competitions are carried out for the four main code size categories. The RR@H uses an ELO like rating system. But since all bots get to meet all other bots this is mainly a measure on how well you perform against all others. There is also a ranking where only winning or losing counts. Don't lose against any other bot and you're the sure champion here. Chess Go The Elo rating system is a method for calculating the relative skill levels of players in two-player games such as chess and Go. ...
Current rankings Check the current rankings here: - http://robowiki.net/?RoboRumble/CurrentRankings
Robocode Little League While not currently active, the Robocode Little League (a weekly competition specifically for codesize-constrained bots) still provides tables on the past tournaments run.
Some robots worth mentioning Many bots are worth mentioning, of course, but some are more spectacular in their performance than others, and some have influenced Robocode bot development more than others.
RR@H Champions The current (March 2007) champions of the RR@H are: | Codesize | Battle type | Bot | Comment | | Megabots | 1-on-1 | Dookius | open source | | melee | Aleph | | | teams | Shadow | | | overall | Shadow | Among the runner-ups in both 1-on-1 and melee and undefeated in 1-on-1 at that. | | Minibots | 1-on-1 | WeeksOnEnd | First 2100 minibot. | | melee | GlowBlowMelee | | | overall | hard to tell | No mini melee bot is very good at the 1-on-1 act | | Microbots | 1-on-1 | WeeklongObsession | open source | | melee | Shiz | open source | | overall | hard to tell | No micro melee bot is very good at the 1-on-1 act | | Nanobots | 1-on-1 | WeekendObsession | open source | | melee | Lib | open source | | overall | DoctorBob | | Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Influential bots Once deemed impossible to beat and indeed was, SandboxDT continues to be a strong competitor, drawing in new coders and bots. Noted for spurring development are such bots as Shadow, which introduced WaveSurfing and FloodMini, an open source minibot featuring StatisticalTargeting. Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
In recent years, open source bot CassiusClay has challenged Ascendant, and helped coders grasp advanced movement and targeting techniques. Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Phoenix, the current #2 bot, has helped to demonstrate the power of graphical debugging. The code used to draw debugging information onto the screen is open-source, released as DrawingBot.
A Robocode Wiki The main site for Robocode knowledge and discussions is the RoboWiki. Here you can read about techniques and strategies, browse info on many bots, find source code (both code snippets and complete competitive bots), ask for help and more. The Robowiki also hosts the RoboRumble@Home. Beginners in Robocode might want to start with The Robocode Beginners FAQ.
External links |