Version 1.3
(05/17/2007)
Now featuring the RoboRumble@Home client
-------------
o Bugfixes
-- When using robocode.control.RobocodeEngine it was not possible to play team battles.
Instead an ArrayOutOfBoundsException occurred
-- robocode.control.RobotResults.getRamDamage() incorrectly returned a double instead
of an integer. This bug caused problems with running Robocode on RoboLeague
-- The "Enable replay recording" got set if it was not set after running Robocode without
the robocode.properties file the first time
-- No sounds were played (when enabled) when Robocode was launched the second time
-- Fixed NullPointerException occurred when a robot is forced to stop
-- NullPointerException could occur when using robocode.control.RobocodeEngine and the
GUI was not enabled
-- The text field for the filename in the robot packager was way too high
-- Lots of synchronizations issues and potential ConcurrentModificationExceptions have
been fixed
-- In RoboRumble, the codesize of some robots were incorrectly calculated to be 0 bytes,
and hence these robots was not able to participate in RoboRumble battles
-- This was due to the codesize tool, which could not analyze .jar files inside .jars
-- The Event Dispatch Thread was denied access by the RobocodeSecurityManager
o RoboRumble@Home client, originally developed by Albert P�rez, is now built-in
-- RoboRumble@Home is the ultimate collaborative effort to have a live, up-to-date
ranking of bots. It uses the power of available robocoder's computers to distribute
the effort of running battles and building the rankings
-- For more information about RoboRumble@Home you should read:
http://robowiki.net/cgi-bin/robowiki?RoboRumble
-- This is an updated version of the original one that can run with the current
version of Robocode and which has been ported to Java 5
-- Configuration files has been updated, and are available in the 'roborumble' folder
-- Issues with downloading robots from the Robocode Repository site has been fixed
o Special thanks goes to Gert Heijenk (aka GrubbmGait)
-- Gert did a tremendous job with lots of alpha testing regarding the new RoboRumble@Home
built into Robocode! :-D
o The codesize tool by Christian D. Schnell has been added
-- The codesize tool has been added to support the built-in RoboRumble@Home, and a new
feature for getting the codesize and robot codesize class (MiniBot, MegaBot etc.)
when a robot is being packaged
-- The codesize tool has been taken over by Flemming N. Larsen (agreed with Christian)
and updated to version 1.1, which can handle files > 2KB, and which can analyse .jar
files inside .jar files
o Added feature that allows specifying the initial start positions of the robots on the
battlefield
-- By specifying positions by setting robocode.battle.initialPositions in a .battle
using this format (x1,y1,heading1),(x2,y2,heading2),(?,?,?) you can specify the
initial location and heading for each robot specified with robocode.battle.selectedRobots
-- One example is: (50,50,90),(100,100,?),?
This means that the 1st robot starts at (50,50) with a heading of 90 degrees,
the 2nd robot starts at (100,100,?) with a random heading, the 3rd (and last) robot
starts at a random position with a random heading
-- See the battle/intro.battle for an example of how to use this option
o Added a new method called getNameAndVersion() to the robocode.control.RobotSpecification
-- This method was added to better support RoboRumble and ranking programs
o Changed the TeamRobot.broadcastMessage() so it does not throw an IOException when the
robot is not in a team
o Changed back the TeamRobot.getTeammates() to return null if no teammates are available
-- This rollback was done in order to keep compatibility with old legacy robots
o The file structure of Robocode has been slightly improved
-- All .jar files including robocode.jar are now located in the libs folder
-- The robot.database and .robotcache files has been moved to the robots folder
-- All RoboRumble related files are located in the roborumble folder
Version 1.2.6A
(03/11/2007)
-------------
o Bugfixes
-- A NullPointerException occured if the battle view was not initialized
-- This bug made it impossible to control Robocode via the robocode.control package
when attempting to show the battle window
o The Ranking Panel and Battle Results are now windows instead of dialoges
-- This means that the Ranking Panel and Battle Results will still be visible when the
game is running in minimized mode
Version 1.2.6
(03/06/2007)
-------------
o Bugfixes
-- With some robots, a java.lang.NoClassDefFoundError occured when Robocode tried to
cleanup the static fields occupied by the robot when the battles are over
-- AdvancedRobot.setEventPriority() did not support MessageEvent
-- The rendering options was not set correctly when loading these between battle sessions
-- When using the RobocodeEngine.setVisible(true) the Robocode window was shown with the
wrong size and without the native Look & Feel
o Added missing getMessageEvents() on the TeamRobot
o Adjustments of default event priorities
-- The changes were made as some events "shared" the same default priority, making it
hard to tell which event would occur before the other
-- BulletHitBulletEvent priority was changed from 50 to 55. Previously, both
BulletHitEvents and BulletHitBulletEvents used priority = 50
-- MessageEvent priority was changed from 80 to 75. Previously, both CustomEvents and
MessageEvents used priority = 80
o The Ranking Panel has been enhanced
-- Now the Ranking Panel contains the same columns as the Battle Results
-- Both the current scores and total scores are shown together where it makes sense
o A Pause/Debug button has been added to the Robot Console window
-- This is handy if you want to pause the game when only your robot's console window
is open when the game is minimized
o The Pause/Debug button on the Battle Window has been changed into a toggle button
o The Next Turn button is now always visible, but not alvays enabled
o The documentation of the Robocode API (Javadoc) has been improved a lot
o The column names of both the Ranking Panel and Battle Results have been improved
o The Installer is now checking is the user is running Java 5.0 or newer
-- If the Java version is older than 5.0, then an error message will display
telling the user to install at least JRE 5.0 or JDK 5.0, and the installation
is terminated
o robocode.sh has been updated
-- Armin Voetter has contributed with an improved version of robocode.sh so that the
script resolves the path to Robocode by itself
Version 1.2.5A
(02/19/2007)
-------------
o Bugfix: On some systems Robocode could not start up caused by a NullPointerException
in the internal sound manager/cache
Version 1.2.5
(02/18/2007)
-------------
o Bugfixes
-- When two bullets collided, the one of the bullets was not destroyed, but continued
-- TeamRobot.getTeammates() returned null instead of an empty array when no teammated
are available
-- Memory leak could occur on robots using large objects on static fields
-- Robocode now clean all static object fields that are not final after each battle,
but not between rounds. That is, the static fields are now garbage collected
-- 3 ConcurrentModificationException issues were removed
o The sound effects in Robocode can now be changed
-- This is done by specifying the file for each sound effect using the file.sfx.xxx
keys in the robocode.properties file, e.g. the file.sfx.gunshot for setting the
sound effect for gunshot
-- The supported sound formats can be found here:
ht