Build the best - destroy the rest!

Monday, 16 December 2013

Robocode 1.9.0.0 Beta 2

The Robocode version 1.9.0.0 introduces a new robot type - the Border Sentry robot.
This is the 2nd Beta release before the final version of 1.9.0.0 comes out. So please check out the new Border Sentry out (e.g. try using the new samplesentry.BorderGuard against sample.Corners and sample.Walls.

Bug fix

(compared to version 1.8.3.0 and 1.9.0.0 Beta)
  • Fixed various issues with the Robot Editor, e.g. letters written in the wrong error when typing text fast.

New Features

  • BorderSentry interface: Added a new robot type (the BorderSentry) that allows you to implement 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.
    • A new sample robot has been added named samplesentry.Guard. Try it out againt your robot(s).
    • 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).
Download Robocode 1.9.0.0 Beta 2 from here
Download Robocode .NET plug-in 1.9.0.0 Beta 2 from here
Download Robot testing plug-in 1.9.0.0 Beta 2 from here

Friday, 4 October 2013

Robocode 1.8.3.0

Robocode version 1.8.3.0 - The Editor Theme Release
(Changes since last version 1.8.2.0)

Bugfixes

  • Bug-363: No Last Survivor Bonus being given.
  • The getWidth() and getHeight() methods on the Robot class have always returned 40, even though a robot is 36x36 pixels in size.
    • Hence, getWidth() and getHeight() have been changed to return the correct width and height, which is 36.
  • Fixed Robot Editor issues:
    • NullPointerException occurring with a new source file that was not saved before being compiled.
    • Issue where the caret position was set to the end of a source file when reading it into the editor.

Changes

  • Req-121: Change default battle settings like e.g. "Number of Rounds".
    • A new Editor Theme Configurator has been added the allows changing the font, text colors and styles for the Robocode Editor.
    • Two built-in themes have been provided for Robocode:
      • Robocode White Theme
      • Robocode BlackTheme
    • When selecting a theme, Robocode will automatically use this theme the next time Robocode is started.
    • When changing a theme, a new custom theme can be created and saved. Note that it is possible to overwrite existing themes.
    • Editor themes are stored within the /theme/editor directory as theme property files, which makes it possible to modify these in a normal text editor, but also share the themes.
    • The Editor Theme Configurator is available from the Robot Editor menu under View -> Change Editor Theme.
  • The line numbers area in the Robocode Editor has been improved as well:
    • The background and text colors for the line numbers can be changed.
    • Line numbers are now right aligned + extra space has been added to the right.
  • The Find & Replace dialog has got a better layout.
Download Robocode 1.8.3.0 from here
Download Robocode .NET plug-in 1.8.3.0 from here
Download Robot testing plug-in 1.8.3.0 from here Download Robocode 1.8.3.0 Javadoc from here

Sunday, 23 June 2013

Robocode 1.8.2.0

Robocode version 1.8.2.0 is a maintenance release, and fixes bugs for RoboRumble, the source code editor, and also provides some UI changes for changing battle rules.

Bugfixes

  • Bug-357: Tab characters are inserted in the last line of a robot source file when opening it.
    • This bug was only partially fixed with version 1.8.1.0.
  • Bug-358: Robot in default package cannot write to files. Should at least get a warning.
  • Bug-361: Problem in the text editor related with the .java file modification.
  • Bug-362: Rumble client does not remove participants in wrong codesize group.
    • Thanks goes to Julian Kent ("Skilgannon") for providing a solution for this. :-)

Changes

  • Improved the UI regarding Battle Rules:
    • All Battle Rules have been assembled into one single Rules tab.
    • Number of Round has been moved from the New Battle dialog to the Rules tab.
    • Improved the visualization of the battle field size.
    • Added input validation to text fields.
  • Req-64: Change default battle settings like e.g. "Number of Rounds".
    • When the battle rules are changed in the user interface, Robocode will remember these as the user's default settings.
    • A new Restore Defaults button has been added to get the game default settings back.
  • Source code editor is now always maximized when opening and robot file or creating a new one.
Download Robocode 1.8.2.0 from here
Download Robocode .NET plug-in 1.8.2.0 from here
Download Robot testing plug-in 1.8.2.0 from here Download Robocode 1.8.2.0 Javadoc from here

Sunday, 9 June 2013

1.9.0.0 Beta

Robocode version 1.9.0.0 introduces a new robot type - the Border Sentry robot.

Bug fix

  • Bug-358: Robot in default package cannot write to files. Should at least get a warning.

New Features

  • BorderSentry interface: Added a new robot type (the BorderSentry) that allows you to implement sentry robots.
    • The Border Sentry robot is dedicated to Liam Noonan from Limerick Institute of Technology and Robocode Ireland in general. :-)
    • The inspiration for this type of robot comes from the TV series named Robot Wars.
    • Border sentry robots are used for guarding the borders of the battlefield and hence are useful against "wall crawlers" that try to hide at the borders like e.g. ``sample.Corners`` and ``sample.Walls``.
    • 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*.
      • can receive damage from other robots, but they will not gain additional energy points due to Mathew Nelson's point regarding "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.
    • 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.Guard``. Try it out againt your robot(s).
    • 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).

Changes

  • Improved the UI regarding Battle Rules:
    • All Battle Rules have been assembled into one single Rules tab.
    • Number of Round has been moved from the New Battle dialog to the Rules tab.
    • Improved the visualization of the battle field size.
    • Added input validation to text fields.
  • Req-64: Change default battle settings like e.g. "Number of Rounds".
    • When the battle rules are changed in the user interface, Robocode will remember these as the user's default settings.
    • A new Restore Defaults button has been added to get the game default settings back.
Download Robocode 1.9.0.0 Beta from here
Download Robocode .NET plug-in 1.9.0.0 Beta from here
Download Robot testing plug-in 1.9.0.0 Beta from here

Monday, 25 March 2013

Robocode 1.8.1.0

Robocode version 1.8.1.0 is a maintenance release, which fixes the Skipped Turns issues among other issues.

Bugfixes

  • Bug-335/Bug-336: Skipped turns ... issues.
  • Bug-349: Instances of RobocodeEngine don't seem to be independant - memory leak and performance decrease.
  • Bug-350: Bullet id from battle record XML file is sometimes -1 causing a NumberFormatException.
  • Bug-351: Robot.onBattleEnded(BattleEndedEvent) provides wrong scores.
  • Bug-352: Results from BattleCompletedEvent.getIndexedResults() are always sorted.
  • Bug-353: RobocodeEngine.setVisible() can cause a NullPointerException.
  • Bug-354: Replaying an XML record can cause an ArrayIndexOutOfBoundsException.
  • Bug-355: Priority battles not accepted for mini/micro/nano rumbles.
  • Bug-356: Update Roborumble URLs from Darkcanuck to LiteRumble.
  • Bug-357: Tab characters are inserted in the last line of a robot source file when opening it.
Download Robocode 1.8.1.0 from here
Download Robocode .NET plug-in 1.8.1.0 from here
Download Robot testing plug-in 1.8.1.0 from here

Wednesday, 30 January 2013

Robocode 1.8.0.0

Robocode version 1.8.0.0 is the first version that requires Java 6.

Bugfixes

  • Bug-346: Cannot extract sources from robot packages.
  • Bug-348: .NET: UnauthorizedAccessException in AppDomainShell.Dispose().

Changes

  • Robocode has been updated to Java 6, and hence this will be the new minimum requirement for running Robocode from this version.
  • The icon for Robocode was upgraded to a 256x256 pixel resolution.
  • Added the new properties -DlogMessagesEnabled=true|false and -DlogErrorsEnabled=true|false for enabling and disabling log messages and log errors.
    • The robocode.control.RobocodeEngine has got two similar methods: setLogMessagesEnabled(boolean) and setLogErrorsEnabled(boolean).
Download Robocode 1.8.0.0 from here
Download Robocode .NET plug-in 1.8.0.0 from here
Download Robot testing plug-in 1.8.0.0 from here