Home arrow Download


Die neuste Version von Robocode ist Version Beta 2 vom 14.3.2010




The ".NET robots are now supported" release
= Bugfixes =
* Bug [2964562] - Cannot extract downloaded robot for editing in Robot Editor.
* Bug [2972932] - Strange issue first time running roborumble in Beta 2.
* Bug [2976258] - Strange thread exceptions with kid.DeltaSquad in 1.7.
* Bug [2978825] - isTeammate() sometimes returns false with teammates.
* Bug [2970414] - Occasionally losing the bit of text in the robot console.
* Bug [2954723] - java.lang.Error: Interrupted attempt to aquire read lock.
* Bug: Teams with versions could not be found in a development path.
* Bug: Files in /robots/.data or /robots/.robotcache dir were put into a underscore sub-directory.
* Bug: The "Kill Robot" button in the robot console windows was often disabled.

= Changes =
* The robot console now uses a rolling buffer so when the number of lines in the robot console exceeds the max. number of lines (500), the oldest lines are removed, and "^^^ TEXT TRUNCATED ^^^" is written in the top. Previously half of the text was truncated when the max. number of lines was reached.

Version Beta 2
The ".NET robots are now supported" release
= Bugfixes =
* Bug [2953599] - Roborumble doesn't upload with EXECUTE=NOT.
* Bug [2960836] - Team RoboRumble uploading is broken.
* Bug [2964559] - TeamRumble: Cannot find robot in nested .jar files.
* Bug [2930266] - Robot static data isn't being GCed after battle. More fixes were made.
* Bug [2960870] - isTeammate() called on null gives NullPointerException.
* Bug [2961489] - ArrayIndexOutOfBoundsException when starting team battle.
* Bug [2952496] - Installer installs AutoExtract$1.class.
* Bug [2952549] - yk.JahRoslav 1.1 throws WinException.
* Bug [2960894] - jlm.javaDisturbance loses substantial score in 1.7.2 Beta.
* Bug [2962846] - (.NET) condition tested on concurrently modified collection

= License Change =
* We have changed license from Common Public License (CPL) v1.0 into Eclipse Puplic License (EPL) v1.0.

Version Beta
The ".NET robots are now supported" release
= Bugfixes =
* Bug [2930266] - Robot static data isn't being GCed after battle.
* Bug [2931445] - Removing directories from "development options" doesn't work.
* Bug in RobotClassLoader causing ClassNotFoundException for some robots during robot class load.
* Fixed a NullPointerException occuring when Robocode is (re)loading the robot repository after a developer path has been removed.
* Bug [2935451] - Version ordering is somewhat strange with letters.
* Bug [2930256] - Robot console text sometimes disappears.
* Bug [2928688] - morbid.MorbidPriest_1.0 fails to load.

= New features =
* .NET Robocode plugin. It is now possible to code robots in .NET and let them engage in Robocode battles. :-)
* Req [2816882] - onRoundEnded(). It is now possible for robots to get notified when a round has ended. The onRoundEnded() event handler received a new RoundEndedEvent that contains information about the number of turns in the round and total turns in the whole battle when the event occurred.
* The robocode.control.RoundEndedEvent in the Control API has been extended with a new method named getTotalTurns() similar to the new robocode.RoundEndedEvent for the Robot API.
* Req [2931696] - RateControlRobot vs. TeamRobot. The RateControlRobot is now a TeamRobot meaning that it can participate in team battles.
* Req [2931684] - Skipped turn events. Added getSkippedTurn() method on the SkippedTurnEvent class, which returns the turn that was skipped. The getTime() returns the time when the SkippedTurnEvent was processed by the robot, which is always later when the robot is skipping turns. The message "SYSTEM: you skipped turn" has been improved, so it will tell which turn that was skipped like "SYSTEM: john.Doh skipped turn 43".
* Req [2342293] - Screenshot of battleview. Press Ctrl+T on Windows and Linux, and Command+T for Mac OS in order to take a screenshot of the battleview. The screenshot will be saved in the Robocode folder named "screenshots", and the filename will be a timestamp for when the screenshot was taken.
* Req [2496661] - Launch Robocode from .battle (battle specification) and .br (battle record) files.
* Req [2659612] - Add option to prevent speedup when minimized. This new View Option can now be set in the Preferences by putting a check mark into "Prevent speedup when minimized".
* Req [2643438] - Renamed /robots/.robotcache to /robots/.data

= Changes =
* Browser support has been improved for Mac OS, Unix and Linux, which in most cases did not work properly.
- In previous versions of Robocode, the browser.sh was used to start up the user's prefered browser. The browser.sh file is not being used anymore. Hence, this file can safely be removed from your robocode installation dir.
- Now, Robocode will start up a browser under Mac OS, Unix and Linux with no use of scripts.
* The Development Options dialog in the Preferences has been improved:
- Changed from using single interval selection to multi selection interval.
- Adding an existing path is ignored.
- The list of path is automatically sorted.

= Bugfixes =
* Bug [2912942] - Mac OS X 10.6: Cannot run Robocode from robocode.sh. It must be run from the new robocode.command file instead.
* Bug [2912944] - Mac OS X 10.6: The editor cannot see the JDK. It must be run from the new robocode.command file instead.
* The onDeathEvent(DeathEvent) method was called too late, when a new round was about to start. Not when the robot has died.
* Bug [2867326] - Lockup on start if too many bots in robots dir (cont'd). Additional fix was made to locate multiple robots under the same package.
* Changed the robot painting so that everything that goes into the painting buffer is always painted, and remaining painting operations exceeding the buffer capacity are always dropped. Previously, only the last painting operations exceeding the painting buffer were executed.

= New Features =
* The amount of used memory and total memory is now shown in the title bar of Robocode. This is useful to see how much memory your robots are consuming.

= Changes =
* If the robot paints too much between actions, an improved error message is written out in the robot console. But from this version of Robocode this message is only written out a single time.
* A SecurityException is now thrown if a robot exceeds its max. data file quota, meaning that it uses more than 200.000 bytes its data files in total.

Version Beta
= Bugfixes =
* Bug [2897215] - Robot Editor doesn't accept package name with dot (.) in it.
* Bug [2876395] - Source is not included.
* Bug [2867326] - Lockup on start if too many bots in robots dir (cont'd).

= Requests =
* Req [2641759] - Scrollable properties. All console windows including the Robot Console and Properties are now scrollable, and all have the same look.

= Changes =
* It is now possible to add paths to robot project inside an Eclipse workspace under the Development Options in the Preferences. Robocode will read the .classpath file in the project in order to locate both class files, properties files, and java files. This means that the Robot Packager is now able to include your source files when you use Eclipse, and it supports multiple source paths. Notice that Robocode does not support linked sources or include and exclude filters.
* Changed the messages given when creating a new robot with the Robot Editor regarding robot name and package name.

= Bugfixes =
* RobocodeFileOutputStream.getName() always returned null instead of the filename.
* Robots listed in e.g. the New Battle window was sorted like: 1.1.1, 1.1.10y, 1.1.2, 1.1.10 (alpha-numerical). But version numbers with an ending letter like in "1.1.10y" like in the versions just listed, were not placed in the correct order. Notice that 1.1.10y is between 1.1.1 and 1.1.2. This bug has been fixed so the versions in the example now will be sorted correctly like: 1.1.1, 1.1.2, 1.1.10, 1.1.10y

Version Beta
= Bugfixes =
* Bug [2871138] - Graphics2D.getTransform() throws NPE.
* Bug [2872781] - "Teleport" - occurs when robot's distance remaining is very large.
* Bug [2876395] - Source is not included, robot.java.source.included was not set.

= Bugfixes =
* Bug [2845608] - java.io.FileNotFoundException in RobotFileSystemManager.init.
* Bug [2845612] - Can't load Katana 1.0 or DrussGT 1.3.1wilo.
* Bug [2854692] - Lockup on start if too many bots in robots dir.
* Bug [2852860] - IllegalArgumentException on painting in some robots.
* Fixed NullPointerException that could occur with the -battle command-line option.

= Changes =

== Banning ==
* The previous 1.7.x.x versions have been very strict so that robots that could not be loaded, started, skipped too many turns etc. would be disallowed to participate in battles. With the bugfix for bug [2845612] above this policy has been changed so robots are only "banned" if the cause a security violation or they could not be loaded or started (meaning that they are not able to run). In addition, ALL security violations are always written out in both the main console and robot's console. A message will be written out in the main console like "xxx has caused a security violation. This robot has been banned and will not be allowed to participate in battles".

== Painting ==
* With the bugfix for bug [2852860] a change was made so a robot will now receive this message in its console window, if it is painting too much between actions:
"SYSTEM: This robot is painting too much between actions. Max. capacity has been reached."

* Notice that a robot is not allowed to perform an unlimited amount of paint operations for two reasons:
1) It takes up a lot of memory as the painting operations are recorded in a buffer before being processed, and potentially this buffer must be recorded to a file (for replays). A robot is allowed to use up to a maximum of 64 KB per action. An average painting operation like e.g. fillRect(x, y, width, height) takes up 15 bytes, meaning that more 4000 painting operations should be possible, which is a lot.
2) It takes a lot of CPU cycles to process the painting buffer to the display making the painting slow if the buffer is too large.

* It is possible to remove the limit of the robots painting buffer by using the command-line option: -Ddebug=true

Version Beta
This version is dedicated for the RoboRumble@Home community where many issues seen with the RoboRumble client have been solved.
Thank you all for reporting as many known issues as possible, and also help out solving these - especially with the issue seen with the robot movement that had a big impact on the scores and rankings! :-)

A big thanks goes to Patrick Cupka ("Voidious"), Julian Kent ("Skilgannon"), "Positive" and Nat Pavasant ("Nat") for their combined work with developing and testing the new and improved robot movement regarding acceleration and deceleration rules (Bug [2828072]). :-)

= Bugfixes =
* Bug [2828072] - Accel/decel rules introduced in causes trouble.
* Bug [2828479] - Missed onRobotDeath events.
* Bug [2819387] - Team jar files reported as corrupted.
* Bug [2809518] - Does not extract .properties files into bot data dir. This fix did not work properly as the file sizes were truncated to 0 bytes.
* Bug [2828614] - Sometimes too few results for robots are displayed.
* Bug [2820434] - NullPointerException when setting classpath directory.
* Bug [2811621] - Invalid entry point in codesize-1.1.jar.
* Bug [2833271] - IllegalThreadStateException occurring in RoboRumble.
* Bug [2831201] - Robocode enters infinite loop with the Restart button.
* The RateControlRobot (Beta) returned rates in radians instead of degrees with the methods: getTurnRate(), getGunRotationRate(), and getRadarRotationRate().

= Changes for RoboRumble =
* Updated the PARTICIPANTSURL in the roborumble.txt, meleerumble.txt, and teamrumble.txt

= Bugfixes =
* Bug [2813513] - Bullet and Ram Damage Bonuses are wrong.
* Bug [2809518] - Does not extract .properties files into bot data dir.
* Bug [2805858] - Access denied javax.swing -DNOSECURITY=true
* Sometimes the "Show results when battle(s) ends" in the Common Options was disabled when running the RobocodeEngine, even though the setting had been enabled earlier.
* Bug [2811621] - Invalid entry point in codesize-1.1.jar.
* A NullPointerException occurred when closing the Preferences window, when no sound device is present in the system.

= Changes =
* The default font on the Graphics context when using onPaint(Graphics2D) or getGraphics() has been changed to the "Dialog" font.

Version Beta
= Bugfixes =
* AdvancedRobot.setMaxTurnRate() did not work properly since version 1.5.4
* Bug [2799165] - Wrong survival scores sent by rumble client
* Bug [2802227] - Funny behaviors with robot graphics/paintings

= New RateControlRobot (Beta) =
* Joshua Galecki has provided a new robot type, the RateControlRobot, which is an extension of the AdvancedRobot.
* The RateControlRobot class has been created in an attempt to allow more realistic robots. That is, many real/physical robots are given commands in terms of rates ("move forward one meter per second"). Hence, the RateControlRobot helps simulating a real robot.
* With this release, we ask the community for feedback and we will announce it as stable in one of next major releases. So please report issues or change requests etc. for this new robot type.

= Changes for RoboRumble =
* Added validation of each of the participant lines of the participant list. If a participant line is invalid due to e.g. wrong format/syntax or bad URL, then an error message is written out and the participant is ignored.
* The format of the lines in the participant lines is the same as usual.
* Accepted lines must follow this format: <robot+version>,(<http-url>|<repository-id>), where <robot+version> must match the regular expression "[\\w\\.]+[ ][\\w\\.-]+", the <http-url> must be a HTTP URL pointing at the robot .jar file, and the <repository-id> must be a number. The <http-url> and <repository-id> are mutual exclusive.
* Example of accepted lines:
** johndoe.SomeRobot 1.0,http://somewhere.com/SomeRobot_1_0.jar
** johndoe.SomeRobot 1.0,321
* Removed the info message "Trying to download <botname>" from the console output.

= Other changes =
* The Development Options has become more usable, as Ruben Moreno Montoliu has added a list of paths and buttons for adding and removing directories, full resizable.
* Updated the javadoc with a note for the setAdjust*() robot methods, which are ignored when turning with infinite values.

= Bugfixes =
* Bug [2791007] - FontMetrics StackOverflowError
* Bug [2791010] - Graphics2D.setFont() has no effect
* Bug [2793464] - setMaxVelocity(lower than current) + reverse direction bug
* Bug [2785448] - Wrong file path used for development bots. Refixed.
* Bug [2795854] - Installer says to run robocode.jar
* Bug [2795883] - Nanobot rumble not sending melee or team parameters. Thanks goes to Jerome Lavigne aka. Darkcanuck for this fix.
* Fixed three bugs introduced with the Beta version found using new test units:
** One bug where the speed would immediately drop to max. velocity when calling setMaxVelocity() - disregarding the acceleration and deceleration rules.
** Another bug where the turn rate was a bit wrong when moving back and turning left in the same time.
** A third bug where the robot continued to move backwards when it should have stopped due to setAhead(0) or setBack(0).

Version Beta
= Bugfixes =
* Bug [2077512] - Bug in RobotPeer.updateMovement? Robocode was not moving 100% according to it's own rules. Now it is.
* Bug [2740708] - Fair Play! With two identical robots in a battle against each other, the first robots was much more likely to win, which was not fair.
* Bug [2779557] - Client tries to remove all participants. When RoboRumble, TeamRumble, and/or MeleeRumble downloaded the participants list and did not receive a HTTP_OK or an empty list, the participants list was emptied. This caused problems with the RoboRumble server.
* Bug [2785448] - Wrong file path used for development bots. Added option -DALWAYSUSECACHEFORDATA for anyone who liked it better.
* Bug [2785456] - Melee rumble doesn't use "smart battles" (aka. priority battles). Thanks goes to Jerome Lavigne aka. Darkcanuck for this fix.
* Fixed several ArrayOutOfBoundsExceptions occurring when starting a battle with fewer robots than a battle just played with more robots.

= Changes for RoboRumble =
* The participants URL for RoboRumble, MeleeRumble, and TeamRumble have been updated to use the participant lists from the new RoboWiki:
** RoboRumble: http://robowiki.net/w/index.php?title=RoboRumble/Participants
** MeleeRumble: http://robowiki.net/w/index.php?title=RoboRumble/Participants/Melee
** TeamRumble: http://robowiki.net/w/index.php?title=RoboRumble/Participants/Teams

= Other changes =
* Updated the Help menu to point at the new RoboWiki regarding the Online Help and FAQ.
* RobocodeEngine control class: Added additional runBattle() method where it is possible to specify the initial positions of the robots when starting a battle.
* The about box was updated, where contributors are now written in bold and in a green color.