I started tinkering with Robocode back in 2006 when it was at version 1.1.3. It's been quite awhile since I last used it, but I've recently been getting into it again. This time, I actually released a robot into the 1-on-1 competition.
Professionally, I have been doing enterprise Java development for over a decade. I stay pretty busy with work and family, but from time to time, I am able to put a little time into recreational activities like Robocode.
One of my goals in Robocode is to bring object oriented design principles into Robocode robot design. It is for this reason that I focus almost entirely on MegaBots, mostly ignoring the small code size categories. It would be exceedingly challenging to develop competitive robots that follow object oriented design principles when under very tight code size restrictions.
- Xander Robot Framework - My Robocode robot framework with pluggable guns, radars, and drives.
- Xander Painting Framework - Framework for painting on the battlefield. Provides a menu to turn painters on and off during battle, and also provides a simple windowing system for painting informational displays that can be moved around the screen.
- Xander File Utility - While not really a framework per se, the Xander File Utility is a stand-alone class designed to make it easier to manage data to be saved to disk across multiple robot versions.
- The burn crew -- These robots are meant to demonstrate some different gun concepts, but they are not really meant to be strong competition. All of them have the same simple drive, but different advanced guns.
- Fiona - Simple drive, complex gun array. Version 1.2 uses an array of 4 guess factor guns, each with a different amount of data roll (one of which has no data roll). The gun with the best virtual hit ratio is used to fire. All use the same KNN selected data (but this may be changed in later versions). The virtual hit ratios are composed 60% on short term performance, 40% on overall performance.
- Mikey - Simple drive, specialized guess factor gun. Version 1.1 uses a single guess factor gun with a modest amount of data roll, with a minimum data point weight of 5%. In essense, this is like an anti-surfer gun. The end goal is to see if I can develop a gun that is good against surfers without losing APS performance overall.
- SamAxe - Simple drive, basic guess factor gun. Version 1.1 uses a single guess factor gun with no data roll. KNN selection parameters are the same as Mikey. This robot serves as a baseline for the others.
- XanderCat - MegaBot based on the Xander Framework. This is my flagship robot, and attempts to make the best use of the most advanced concepts and Xander framework capabilities.
- Spitfire - My Bullet Shielding robot. Only moves when shifting position slightly to fire. The only time not bullet shielding is when opponent is disabled, at which point a head-on shot is used. Built using my Xander Framework.
I will likely create a few other specialty robots and release them, but XanderCat will always be the flagship of the fleet.
Distribution of scores in the RoboRumble general 1v1 category as of 2/4/2013. I thought it was interesting. I like graphs. And statistics.