Build the best - destroy the rest!

Monday, 26 January 2009

Robocode 1.7 Beta 2

This version contains bugfixes for bugs found in the previous 1.7 Beta.


  • Bugfix [2527112] Ubuntu throws NullPointerException in main when trying to startup Robocode.

  • Bugfix [2528467] Installation fail on windows if directory contain space(s).


  • Improved the version checking for new Robocode versions available for download.

Download 1.7 Beta from here

Tuesday, 20 January 2009

Robocode 1.7 Beta - modularization

This version represents a completely new infrastructure of Robocode making it easier to extend and maintain for the future, while staying 100% backward compatible. The goal of this release has been to introduce the new platform for Robocode and getting it tested carefully by the community before we add features to it for version 1.7.1 and newer.

By omitting new features, we hope that we'll be faster in locating and fixing any issues introduced with this version compared to the previous version 1.6.2. When such issues have been eliminated, we will concentrate on the new features, which includes support for more programming languages and also some of the pending feature requests reported on the SourceForge site for Robocode


  • Bug [2497164] Spammy output on robot console windows.

Internal changes

  • Robocode was modularized using the dependency injection framework PicoContainer. This work includes introduction of many interfaces to existing components.

  • Introduced Maven2 as build setup where the whole directory layout is based on the standard Maven structure.

  • Rewritten the RobotClassLoader so it is able to load .jar file in the future.

  • Rewritten security layer to use AccessController and CodeSource for detection of trusted code.

  • Redesigned RobocodeProperties to SettingsManager and introduced ISettingsListener.

  • Implemented RbSerializer to be able to implement IPC (Inter-Process Communication) in future. This should make it possible to extend Robocode for more platforms like e.g. Microsoft .NET.

  • Redesigned RepositoryManager and nearby to hide implementation details.

  • Moved all implementation of Robocode to the package 'net.sf.robocode'. The old package 'robocode' is now used only for API to outer world in order to keep backwards compability.

Download 1.7 Beta from here

Monday, 5 January 2009

Robocode 1.6.2

This is the final release of Robocode 1.6.2, which contains 3 bugfixes compared to the recent Beta 4 version.


  • Bug [2467536] Robot name was missing when replaying XML record.

  • Bug [2465580] Junior Robot turnAheadRight() bug. When a JuniorRobot was calling turnAheadRight(), turnAheadLeft(), turnBackRight(), or turnBackLeft() - the following exception occurred causing the robot to be terminated: java.lang.ClassCastException: robocode.peer.proxies.StandardRobotProxy

  • Bug [2449081] Exception when changing between Robot to AdvancedRobot. When a robot was changed from a Robot into an AdvancedRobot and recompiled, the game would cast a ClassCastException if a battle was started or restarted including that particular robot. However, this bug did not occur with new battles where the list of robots was refreshed (by pressing Ctrl+R).

Download 1.6.2 (final) from here