Build the best - destroy the rest!

Thursday 20 November 2014

Robocode 1.9.2.4

This release is a new maintenance release containing two bug fixes and two changes (actually upgrades). Good news for Robocode is that Markus Koschany, which is maintainer of Robocode for Debian, has helped with making it possible to distribute Robocode with Debian in the future. Various issues with the sources that was a "show stopper" for including Robocode with Debian have been ironed out with the help from Markus. :-)

Version 1.9.2.4 (20-Nov-2014)

Bug fixes

  • Req-159: Fix overkilled garbage collection on static fields.
    • Robocode garbage collected practically any static field on a robot to prevent memory leaks (see Bug-244).
  • Bug-375: Wrong width and height returned for .NET robots.
    • The .NET API return 40 instead of 36 with the Width and Height properties.

Changes

  • Upgraded Eclipse Compiler for Java (ECJ) to version 4.4.
  • Upgraded jni4net to version 0.8.7.0.

Other

  • Got rid of various issues (e.g. license headers) with the source files of Robocode in order to create a Debian distribution of Robocode.
    • Thanks goes to Markus Koschany for all the help and support to make this possible.
Download Robocode 1.9.2.4 from here
Download Robocode .NET plug-in 1.9.2.4 from here
Download Robot testing plug-in 1.9.2.4 from here

Monday 15 September 2014

Robocode 1.9.2.3

This release is a maintenance release containing a bug fix for RoboRumble that was only partly fixed with the previous version 1.9.2.2.

Version 1.9.2.3 (15-Sep-2014)

  • Bug-374: Wrong size report for minirumble in v1.9.2.2.
Download Robocode 1.9.2.3 from here
Download Robocode .NET plug-in 1.9.2.3 from here
Download Robot testing plug-in 1.9.2.3 from here

Wednesday 3 September 2014

Robocode 1.9.2.2

This release is a maintenance release containing a bug fix for RoboRumble.

Version 1.9.2.2 (03-Sep-2014)

Bug fix

  • Bug-373: Wrong robot size calculation in version 1.9.0 - 1.9.2.
Download Robocode 1.9.2.2 from here
Download Robocode .NET plug-in 1.9.2.2 from here
Download Robot testing plug-in 1.9.2.2 from here

Wednesday 21 May 2014

Robocode 1.9.2.1

This release is a maintenance release containing two bug fixes.

Version 1.9.2.1 (21-May-2014)

Bug fixes

  • Bug-371: High cpu usage on editor.
  • Bug-372: Cannot load battle file when -DNOSECURITY=true is enabled - java.lang.IllegalAccessError.
Download Robocode 1.9.2.1 from here
Download Robocode .NET plug-in 1.9.2.1 from here
Download Robot testing plug-in 1.9.2.1 from here

Wednesday 23 April 2014

Robocode 1.9.2.0

This release contains an update for the Robocode Control API and and two bug fixes.

Version 1.9.2.0 (23-Apr-2014)

New feature

  • Initial positions and headings added to the Control API.
    • A new constructor has been added to the BattleSpecification for the RobocodeEngine so that it is possible to set the initial position and heading of each participant robot. This new constructor takes an additional parameter named initialSetups that is an array of RobotSetup instances.
    • The RobotSetup is a new class introduced with this version that contains the initial position and heading for an individual robot.

Bug fixes

  • Bug-370: Robot Packager cannot find robot .properties file in development path.
  • Fixed issue with the Robot Editor, where the caret position was not updated fast enough when typing very fast.
Download Robocode 1.9.2.0 from here
Download Robocode .NET plug-in 1.9.2.0 from here
Download Robot testing plug-in 1.9.2.0 from here

Saturday 22 March 2014

Robocode 1.9.1.0

This is a maintenance release of Robocode, which primarily contains bug fixes, but also contains an updated version of the Eclipse Compiler for Java (ECJ) version 4.3.1.

Version 1.9.1.0 (22-Mar-2014)

Bug fix

  • Bug-366: Receiving enemy's real name on HitByBulletEvent.
    • The previous fix was not correct for the owner and victim for the HitByBulletEvent and HitBulletEvent.
  • Bug-368: Issues with sentries
    • All listed issues have been fixed.
    • A bullet from a sentry robot will not be able to hit another bullet within the "safe zone" any more, but will still be able to hit another bullet within the sentry border area.
    • When sentry robots are present on the battle field, the initial random positions will be located within the safe zone. This avoids robots from being punished by sentry robots from the start of the battle, as the robot did not enter the sentry border by itself.
  • Bug-369: RoboRumble: NoClassDefFoundError for CodeSizeCalculator.
  • The missing property robocode.battle.sentryBorderSize has now been added to the .battle file format.
  • Fixed the twinduel.sh file which was using a invalid file name for the configuration file.
  • Added desktop files for FreeBSD.

New features

  • Due to one of the ideas in Bug-368, a new method getNumSentries() for Java and a NumSentries read-only property for .NET was added to the Robot and RobotStatus classes, and to the IBasicRobotPeer interface as well.

Changes

  • Upgraded Eclipse Compiler for Java (ECJ) to version 4.3.1.
Download Robocode 1.9.1.0 from here
Download Robocode .NET plug-in 1.9.1.0 from here
Download Robot testing plug-in 1.9.1.0 from here

Sunday 16 February 2014

Robocode 1.9.0.0

The Robocode version 1.9.0.0 introduces a new robot type - the Border Sentry robot.
This is the final release before the final version of 1.9.0.0.

Version 1.9.0.0 (16-Feb-2014) The Border Sentry Robot Release

Bug fixes

  • Bug-364: Robot Packager does not include the robot data dir in the .jar file.
    • The Robot packager has now been extended with an option to include data files too when packaging a robot.
  • Bug-366: Receiving enemy's real name on HitByBulletEvent.
  • Fixed various issues with the Robot Editor, e.g. letters written in the wrong error when typing text fast.
  • Fixed issue when loading a robot jar file with no package (default package), which was found by Daniel Yeung, who also had a fix for it. :-)

New features

  • BorderSentry interface: Added a new robot type (the BorderSentry) that allows you to implement border sentry robots, which are robots that guards the walls of the battlefield against "wall-crawlers" and "corner" robots.
    • The Border Sentry robot is dedicated to Liam Noonan from Limerick Institute of Technology and the Robocode Ireland event in general. :-)
    • The inspiration for this type of robot comes from the TV series named Robot Wars.
    • Note that border sentry robots...
      • have 400 additional energy points meaning that a border sentry robot starts with 500 energy points!
      • only appear at the borders of the battlefield, when a new round is started defined by the "border sentry size", which is a game rules that can be adjusted similar to other game rules. The default border sentry size is 100 units.
      • can only make damage to other robot types within the sentry border, but not to robots in the "safe zone", which is the area inside the sentry border.
      • can receive damage from other robots. But robots will not gain energy points from the border sentry robots (due to Mathew Nelson's excellent point regarding using sentry robots as "Energy Batteries" ;-) ).
      • does not receive scores in the Ranking Panel nor Battle Results, even though you can see its score, like ramming damage, bullet damage etc. The goal for the border sentry robot is to be a referee, but not a player that can win or loose the battle.
    • A new method names getSentryBorderSize() has been added to the Robot classes that returns the size / attack range from the edge of the borders, where BorderSentry robots are able to hit other robot types.
    • A new method named isSentryRobot() has been added to the ScannedRobotEvent event class.
    • When there is only one regular robot left on the battle field with one or more border sentry robots, the round is automatically ended.
    • A new sample robot has been added named samplesentry.BorderGuard. Try it out against your robot(s) or e.g. sample.Corners and sample.Walls.
    • An additional option has been added to the View Options in the Preferences to enable and disable the visual appearance of the sentry border, which is painted in transparent red (danger zone).
  • Req-156: Codesize added to properties file.
    • The Robot Packager now adds a new property named robot.codesize which will be set to the value calculated by the built-in Codesize tool when compiling the robot and/or team. The Codesize value is the effective code size measured in bytes which is used by e.g. the RoboRumble to categorize robots into MicroBot, MiniBot and MegaBot etc.
  • Improved the names of the menu items on the Robot menu.
Download Robocode 1.9.0.0 from here
Download Robocode .NET plug-in 1.9.0.0 from here
Download Robot testing plug-in 1.9.0.0 from here