Build the best - destroy the rest!

Monday, 15 February 2010

Robocode Beta - The ".NET robots are now supported" release

We are proud to announce the Beta release of Robocode, which is the first version to support .NET robots via using a plugin for Robocode. A lot of hard work has been put into the .NET support by Pavel Savara.

With the .NET plugin for Robocode, Java and .NET robots can participate in the same battles in the same time.

You can read our first article on the RoboWiki about
how to create a .NET robot with Visual Studio and run it in Robocode.

If you want to know the differences between the Robot API for Java and the new one for .NET, you should read this article.

We have also added lots of pending features and of course made some changes to Robocode as well.

We encourage everybody to test this Beta version as much as possible and report any bugs found at our Bugs Tracker at SourceForge. Then we will do everything we can to fix issues before the final release of version


  • Bug [2930266] - Robot static data isn't being GCed after battle.

  • Bug [2931445] - Removing directories from "development options" doesn't work.

  • Bug in RobotClassLoader causing ClassNotFoundException for some robots during robot class load.

  • Fixed a NullPointerException occuring when Robocode is (re)loading the robot repository after a developer path has been removed.

  • Bug [2935451] - Version ordering is somewhat strange with letters.

  • Bug [2930256] - Robot console text sometimes disappears.

  • Bug [2928688] - morbid.MorbidPriest_1.0 fails to load.

New features

  • .NET Robocode plugin. It is now possible to code robots in .NET and let them engage in Robocode battles.

  • Req [2816882] - onRoundEnded(). It is now possible for robots to get notified when a round has ended. The onRoundEnded() event handler received a new RoundEndedEvent that contains information about the number of turns in the round and total turns in the whole battle when the event occurred.

  • The robocode.control.RoundEndedEvent in the Control API has been extended with a new method named getTotalTurns() similar to the new robocode.RoundEndedEvent for the Robot API.

  • Req [2931696] - RateControlRobot vs. TeamRobot. The RateControlRobot is now a TeamRobot meaning that it can participate in team battles.

  • Req [2931684] - Skipped turn events. Added getSkippedTurn() method on the SkippedTurnEvent class, which returns the turn that was skipped. The getTime() returns the time when the SkippedTurnEvent was processed by the robot, which is always later when the robot is skipping turns. The message "SYSTEM: you skipped turn" has been improved, so it will tell which turn that was skipped like "SYSTEM: john.Doh skipped turn 43".

  • Req [2342293] - Screenshot of battleview. Press Ctrl+T on Windows and Linux, and Command+T for Mac OS in order to take a screenshot of the battleview. The screenshot will be saved in the Robocode folder named "screenshots", and the filename will be a timestamp for when the screenshot was taken.

  • Req [2496661] - Launch Robocode from .battle (battle specification) and .br (battle record) files.

  • Req [2659612] - Add option to prevent speedup when minimized. This new View Option can now be set in the Preferences by putting a check mark into "Prevent speedup when minimized".

  • Req [2643438] - Renamed /robots/.robotcache to /robots/.data


  • Browser support has been improved for Mac OS, Unix and Linux, which in most cases did not work properly.

    • In previous versions of Robocode, the was used to start up the user's prefered browser. The file is not being used anymore. Hence, this file can safely be removed from your robocode installation dir.

    • Now, Robocode will start up a browser under Mac OS, Unix and Linux with no use of scripts.

  • The Development Options dialog in the Preferences has been improved:

    • Changed from using single interval selection to multi selection interval.

    • Adding an existing path is ignored.

    • The list of path is automatically sorted.

Download Robocode Beta from here
Download Robocode .NET plugin Beta from here

No comments: