Build the best - destroy the rest!

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

No comments: