Build the best - destroy the rest!

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