Build the best - destroy the rest!

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

Wednesday, 21 November 2012

Robocode 1.7.4.4

Robocode version 1.7.4.4 fixes problems with starting Robocode with .sh and .command files (Linux, Unix, Mac OS X).

Bugfixes

  • Bug-347: /bin/sh^M bad interpreter.
Download Robocode 1.7.4.4 from here
Download Robocode .NET plug-in 1.7.4.4 from here
Download Robot testing plug-in 1.7.4.4 from here

Saturday, 17 November 2012

Robocode 1.7.4.3

Robocode version 1.7.4.3 is a another maintenance release.

Even though there is not a lot of bug fixes and changes, lots of stuff has been changed an upgraded behind the scene like e.g. the Bug Tracker and Feature Requests on the project page for Robocode.

Robocode has also been moved to GitHub, which required some additional work, and we moved to use the new Google Group instead of the Yahoo Group.

With the coming/next release of Robocode, we will move to Java 6 that most users use. Java 5 has been in the EOL (End of Life) for quite a while, and it is time to move on in order to continuously improve Robocode.

Bugfixes

  • Bug-344: BattleAdaptor missing in ``robocode.control.events``.
  • Bug-345: Graphics still being rendered when minimized.
  • Bug-333: .NET runs release dll not debug dll so can't debug.
    • Implemented a work-around so that the local robot repository is rebuild when removing a development path.

Changes

  • Robocode sources are now put on GitHub.
  • Upgraded the .NET plugin to use Visual Studio Express 2010.
  • The versions.txt has been changed to versions.md:
    • The versions.txt was converted into Markdown syntax in order to make it easier to convert into e.g. HTML, and because GitHub will automatically translate it into HTML when viewing this file in a browser.
      • Thus, this file has been renamed from 'versions.txt' into 'versions.md'.
      • The web page with the new versions.md can be viewed here.
    • In addition, links to all reported bugs and feature requests have been inserted into versions.md so it is easy to browse to the reports and requests to find more details.
Download Robocode 1.7.4.3 from here
Download Robocode .NET plug-in 1.7.4.3 from here
Download Robot testing plug-in 1.7.4.3 from here

Thursday, 30 August 2012

Google Group for Robocode

We are moving from the Yahoo Group for Robocode to the (new) Google Group for Robocode.
At this forum you ask questions about Robocode, discuss robot strategies, share code snippets etc. :-)