Build the best - destroy the rest!

Thursday, 1 May 2008

Robocode 1.6.0 (final) has been released

The final Robocode 1.6.0 has been released.

Download: here

Friday, 18 April 2008

Robocode 1.6.0 Beta 2 has been released

A new Beta 2 version of Robocode 1.6.0 has been released.

The reason for releasing this new Beta is that an additonal robot interface that needs to be tested before the final release of Robocode 1.6.0

The Beta 2 contains the additional robocode.robotinterface.IPaintRobot for robots that needs to receive paint events, meaning that it is now optional if a robot should deal with onPaint() notifications.

In addition, the Beta 2 release also contains the new sample.PaintingRobot for demonstrating the onPaint() method.

Download: here

Sunday, 6 April 2008

Discussion group for Robocode engine developers

Hi,

because lot of great ideas are flying in emails among us Robocode developers, contributors, developers of extensions and veteran Robocoders, I created new discussion group robocode-developers@googlegroups.com to improve spreading of information. Please, if you feel that you belong to some of groups above or belong there potentially, join us.
This group is NOT for support of Robocode users, if you need help with writing your robot, please use Robocode@yahoogroups.com

Whole discussion should have circa following rules:
1) Ideas are welcome.
2) We are looking for contributions not for demands. All of us work in our free time, so if you have an idea, but you do not will to work hard on it, it is just wish. Your idea could be used by some of us or not. We may ask you to fill such idea as a feature request. We welcome feature requests.
3) Discussion should be constructive. We are trying to improve our great toy for everyone. So we should give each other as much freedom to implement our own ideas as possible.
4) For sure, we will have different opinions. In case that we will be unable to find common ground or conclusion, Flemming will decide which direction to go.
5) Flame war or holy wars about operating systems, platforms, languages, etc. are silly, please go private to discuss them.

Thanks,
Pavel Ĺ avara

Sunday, 30 March 2008

Robocode 1.6 explained

To those of you that wants to learn more about what is really new in Robocode 1.6, and what is in the pipeline for Robocode, you should read Pavel Savaras' article "Robocode 1.6 explained".

Pavel Savara has joined in with the development of Robocode with the goal of creating a .Net version of Robocode. Actually, in the future it should be possible to run battles between Java and .Net robots simultaneously!

Please welcome Pavel as new developer to Robocode. He has really done a tremendous job with the new robot interfaces in Robocode 1.6, and also fixing all obstacles in Robocode to allow a .Net implementation on top of Robocode!

Did you try the Robocode 1.6 Beta? If not, don't hesitate with testing all your existing robots on this new version all supply us with feedback about issues while Robocode 1.6 is still in Beta (download).

Friday, 28 March 2008

Robocode 1.6 Beta - Introduction of new robot interfaces

Bugfixes:

- The CPU constant was not calculated the first time Robocode was started up.
- Removed ^M characters from the buildJikes.sh file so that the Jikes compiler can be built under Unix, Linux and Mac OS X.

Major changes:

- A new package named robocode.robotinterfaces has been introduced, which contains pure Java robot interfaces for basic, advanced, interactive, junior and team robots. See the Javadocs (HTML) documentation for more details about these new interfaces.
- The main purpose robot interfaces is to make it possible for developers to create robots with other programming languages that requires interfaces instead of classes. However, the provided robot interfaces obeys the rules within Robocode. But it is possible to create new robot types with other methods names etc. from the robot interfaces, and it is also possible to create ordinary robots based directly on the robot interfaces.
- See the new 'sampleex' directory for some examples of how to use these new interfaces in Java.
- The introduction of the new robot interfaces required a great deal of changes and cleanup of the internal structures of Robocode, but for the better.
- A new command line option has been made for Robocode named EXPERIMENTAL, which must be set to true in order to allow the robots to access the internal robot peer with the robot interfaces for performing robot operations. If this flag is not set, you'll get a SecurityException in your robot if it is inherited from a robot interface. This option must be set in the robocode.bat/robocode.sh like -DEXPERIMENTAL=true
- Note that this experimental option might be removed in the future so that robots are always allowed to access the robot peer from the new robot interfaces.
- Most work with the robot interfaces were performed by Pavel Savara that has joined the development of Robocode, and which has done a tremendous job with the new robot interfaces.

Minor changes:
- Fixed a security issue, where robot was able to access the internals of the Robocode game thru the AWT Event Queue.
    - Robots that try to access the AWT Event Queue will be disabled
- Added a "Make all bullets white" option to the Rendering Options.
    - When this option is enabled, all bullets on the battle field will be painted in white. Use this options when you need to see all bullets on the battle field, i.e. when bullet colors are almost invisible.
- Lots of the Javadoc (HTML) documentation for the Robocode APIs were updated.

Download: here

Saturday, 16 February 2008

Robocode 1.5.4 - fixes the CPU calculation

Bugfix:

- The CPU constant was way too little compared to version 1.4.9. This is a critical bug when Robocode is used for competitions. Now the CPU calculation has been improved, where a heavy math benchmark has been adopted from Robert D. Maupin (AKA Chase-san).

- The method for determining if a robot has exceeded it's CPU time limit has been improved to use nano second precision, to get rid of an issue with millisecond granularity. This method was created by Julian Kent (AKA Skilgannon).

Download: here

Monday, 4 February 2008

Developers Guide for building Robocode has been updated

The Developers Guide for building the Robocode game has now been updated to reflect the change from using CVS to using SVN. In addition, more hints has been added to ease building Robocode from the Eclipse IDE.

You can read the Developer Guide here