Robocode Changelog

What's new in Robocode 1.9.2.6

Feb 28, 2017
  • Bug fixes:
  • Bug-381: Improve feedback after entering empty package name during robot creation.
  • Bug-382: Unable to run robocode.bat -- AccessControlException.
  • Bug-383: Java 8 lamba expressions cause ClassNotFoundException.
  • Changes:
  • Upgraded Eclipse Compiler for Java (ECJ) to version 4.6.1

New in Robocode 1.9.2.4 (Nov 21, 2014)

  • BUG FIXES:
  • Req-159:
  • Fix overkilled garbage collection on static fields.
  • Robocode garbage collected practically any static field on a robot to prevent memory leaks (see Bug-244).
  • Bug-375:
  • Wrong width and height returned for .NET robots.
  • The .NET API return 40 instead of 36 with the Width and Height properties.
  • CHANGES:
  • Upgraded Eclipse Compiler for Java (ECJ) to version 4.4.
  • Upgraded jni4net to version 0.8.7.0.
  • OTHER:
  • Got rid of various issues (e.g. license headers) with the source files of Robocode in order to create a Debian distribution of Robocode.
  • Thanks goes to Markus Koschany for all the help and support to make this possible.

New in Robocode 1.9.2.3 (Sep 16, 2014)

  • Bug fix:
  • [Bug-373][]: Wrong robot size calculation in version 1.9.0 - 1.9.2.
  • This bug was only partly fixed with version 1.9.2.2.
  • Bug-373]: (Wrong robot size calculation in version 1.9.0 - 1.9.2)

New in Robocode 1.9.2.2 (Sep 9, 2014)

  • This release is a maintenance release containing a bug fix for RoboRumble.

New in Robocode 1.9.2.1 (May 22, 2014)

  • Bug fixes:
  • Bug-371: High cpu usage on editor.
  • Bug-372: Cannot load battle file when -DNOSECURITY=true is enabled - java.lang.IllegalAccessError.

New in Robocode 1.9.2.0 (Apr 24, 2014)

  • New feature:
  • Initial positions and headings added to the Control API.
  • A new constructor has been added to the ``BattleSpecification`` for the ``RobocodeEngine`` so that it is possible to set the initial position and heading of each participant robot. This new constructor takes an additional parameter named ``initialSetups`` that is an array of ``RobotSetup`` instances.
  • The ``RobotSetup`` is a new class introduced with this version that contains the initial position and heading for an individual robot.
  • Bug fixes:
  • [Bug-370][]: Robot Packager cannot find robot .properties file in development path.
  • Fixed issue with the Robot Editor, where the caret position was not updated fast enough when typing very fast.

New in Robocode 1.9.1.0 (Mar 28, 2014)

  • Bug fix:
  • Bug-366: Receiving enemy's real name on HitByBulletEvent.
  • The previous fix was not correct for the owner and victim for the HitByBulletEvent and HitBulletEvent.
  • Bug-368: Issues with sentries
  • All listed issues have been fixed.
  • A bullet from a sentry robot will not be able to hit another bullet within the "safe zone" any more, but will still be able to hit another bullet within the sentry border area.
  • When sentry robots are present on the battle field, the initial random positions will be located within the safe zone. This avoids robots from being punished by sentry robots from the start of the battle, as the robot did not enter the sentry border by itself.
  • Bug-369: RoboRumble: NoClassDefFoundError for CodeSizeCalculator.
  • The missing property robocode.battle.sentryBorderSize has now been added to the .battle file format.
  • Fixed the twinduel.sh file which was using a invalid file name for the configuration file.
  • Added desktop files for FreeBSD.
  • New features:
  • Due to one of the ideas in Bug-368, a new method getNumSentries() for Java and a NumSentries read-only property for .NET was added to the Robot and RobotStatus classes, and to the IBasicRobotPeer interface as well.
  • Changes:
  • Upgraded Eclipse Compiler for Java (ECJ) to version 4.3.1.

New in Robocode 1.8.3.0 (Oct 7, 2013)

  • 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.

New in Robocode 1.9.0.0 Beta (Jun 10, 2013)

  • 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.

New in Robocode 1.8.1.0 (Mar 25, 2013)

  • 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.

New in Robocode 1.8.0.0 (Jan 31, 2013)

  • 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).

New in Robocode 1.7.4.4 (Nov 22, 2012)

  • Bug-347: /bin/sh^M bad interpreter.

New in Robocode 1.7.4.3 (Nov 19, 2012)

  • 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.

New in Robocode 1.7.4.2 (Aug 17, 2012)

  • Bugfixes:
  • Bug [3540397] - "Accept-Encoding: gzip" not in Roborumble HTTP Headers.
  • Bug [3543475] - All Text Missing. Reverting enabling OpenGL for Linux per default (introduced with Bug fix [3520616])
  • Bug [3544205] - Robocode crash on window resize (linux-opengl). Reverting enabling OpenGL per default for Linux.
  • Bug [3546125] - InteractiveRobots gets error "After the event was added...".
  • Bug [3547611] - New bots not given priority.
  • Changes:
  • The built-in RoboRumble@Home client is now able to decompress "gzip" and "deflate" content with HTTP connections with RoboRumble serverers that supports it.

New in Robocode 1.7.4.1 (Jul 3, 2012)

  • Bug [3535073] - Hangups with New Editor in 1.7.4.0. Notice, that the editor can still be quite slow with large source files. Work is still in progress to speed it up.
  • Several other minor bugfixes with the new editor, like e.g. undoing and redoing tab indentation.

New in Robocode 1.7.2.2 Beta (Oct 4, 2010)

  • Bugfixes:
  • Bug [3043944] - Robot PrintStream doesn't handle write in a portable fashion.
  • Bug [3077562] - Wrong headings with the JuniorRobot. Thanks goes to Mr. Kschan for finding and providing a fix for this bug. :-)
  • Bug [3043884] - Development Options remove wrong item.
  • Bug [3043932] - JavaDoc missing _Robot and similar.
  • New Sample robots:
  • Tuan Anh Nguyen provided a modified version of the Interactive sample robot named Interactive_v2, which use absolute movement (up, left, down, right) on the screen, which can be easier to control than the original Interactive sample robot. Both Interactive robots now use both the arrow keys and the W, A, S, D key for moving the robot.
  • SampleFs (written for .NET with the #F langugage) has been added along with the Visual Studio 2010 project file for it. This is available with the .NET plug-in.
  • New features:
  • Robocode has been upgraded to use jni4net v0.8 with CLR 4.0 support.
  • Implemented Robocode .NET Control API plug-in (robocode.control.dll) with documentation.
  • Req [2932291] - Added ReadMe.txt (using Markdown syntax) and ReadMe.html. The ReadMe is also available from the Help menu.
  • Req [2973605] - Enable/disable development paths.
  • Req [2974806] - Provide JuniorRobot template for inexperienced users.
  • Changes:
  • It is not necessary to specify -Dsun.io.useCanonCaches=false anymore with the startup scripts for Robocode and RoboRumble as Robocode sets this internally when running under Windows. Hence, this property has been removed from all .bat, .sh, and .command files for Robocode.
  • Robocode will not notify about Beta versions anymore per default. However, a new option in the Common Options (under Preferences) makes it possible to enable/disable notifications about new Beta versions.
  • The tabs for the Common and Development Options in the Preferences window are now the first tabs.

New in Robocode 1.7.2.1 Beta (Jun 21, 2010)

  • Bugfixes
  • Bug [2867326] - Lockup on start if too many bots in robots dir (cont'd).
  • Fixed some issues with the robot repository when file URLs contains spaces, where robots were sometimes disappearing from the repository.
  • Changes
  • Req [2815450] - Move away from Jikes towards ECJ. Jikes 1.22 has been replaced with the Eclipse Compiler for Java (ECJ) 3.5.2.

New in Robocode 1.7.2.0 (May 31, 2010)

  • Bug: Robots were disabled when skipping 30 skipping non-consecutive turns (or 120 turns when performing I/O operations). Now, Robocode is only disabling robots when the robot skips 30 consecutive turns, which is the original behavior, and which has been broken since version 1.6.1.4.
  • Bug [2994724] - Duplicate version numbers prevents uploading.
  • Bug [2994732] - tzu.TheArtOfWar 1.2 gets NullPointerExceptions.
  • Bug [3003721] - Attempting to install Robocode over an existing install NPEs.
  • Bug [3005547] - The robocode.command is missing the execute permissions bit.
  • Bug [2999719] - Problems with Graphics2D.fill/draw(Shape).
  • Bug [3005111] - NPE when uploading results.
  • Bug [2994560] - "Ignoring" messages in rumble is duplicated.
  • Bug [2975871] - Minor visual bug - Currently selected robot gets covered.
  • Bug: A security exception was thrown with development robots trying to access their data directory.

New in Robocode 1.7.2.0 Beta 3 (Apr 30, 2010)

  • Bug [2976754] - Battle engine consumes more CPU power over time
  • Bug [2972932] - Strange issue first time running roborumble in 1.7.2.0 Beta 2.
  • Bug [2978825] - isTeammate() sometimes returns false with teammates.
  • Bug [2964562] - Cannot extract downloaded robot for editing in Robot Editor.
  • Bug [2976258] - Strange thread exceptions with kid.DeltaSquad in 1.7.
  • Bug [2974178] - Krabb.sliNk.Garm 0.9u freezes often in 1.7.
  • 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.

New in Robocode 1.7.2.0 Beta 2 (Apr 8, 2010)

  • 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.

New in Robocode 1.7.1.5 (Dec 2, 2009)

  • 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

New in Robocode 1.7.1.3 (Jul 9, 2009)

  • 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.

New in Robocode 1.7.1.3 Beta (Jun 17, 2009)

  • 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 in Robocode 1.7.1.2 (May 25, 2009)

  • 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).

New in Robocode 1.7.1.2 Beta (May 9, 2009)

  • 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.

New in Robocode 1.7.1 (Mar 25, 2009)

  • Bugfixes:
  • Bug [2643448] - Editor UNDO does delete the line when no is undo left.
  • Bug [2664844] - Editor: Find/replace dialog (set cursor position).
  • Bug [2699018] - roborumble.sh and teamrumble.sh were broken.
  • Bug [2699028] - NullPointerException in BattlesRunner.runBattlesImpl.
  • Bug [2703301] - Custom event priority was broken.
  • Changes:
  • The New Battle dialog is now larger per default.
  • The layout of the View Options and Sound Options tab in the Preferences has been improved. An error dialog is shown when the input field for the desired TPS is out of range.

New in Robocode 1.7.1 Beta 2 (Mar 12, 2009)

  • Bug [2658090] - Typing to find bot no longer works.
  • Bug [2666598] - API: Typo in Documentation onBulletMissed(BulletMissedEvent).
  • Bug [2658167] - Put back setTime() method of Event, the security is now handled other way, not by hiding the field.
  • Fixed the problem with loading team robots from nested .jar files.
  • On Ubuntu (Linux) the "Default window size" did not work properly.

New in Robocode 1.7.1 Beta (Mar 2, 2009)

  • Bugfixes:
  • Bots referencing robocode.robocodeGL broken. Now, we are now not following refrences to robocode packages.
  • Don't ever punish robots in devel directories by removing from repository.
  • Robot console was wrongly synchronized with battle.
  • Robot packager can be activated once per running.
  • Development robots cause problems with data files.
  • A battleview size exceed 800x600 filled with black.
  • NullPointerException when using -battle option from the cmd-line.
  • Robot Colors don't stick between rounds.
  • Open battle menu dialog is not loading robots.
  • The command line usage of Robocode was not printed out at all when using the -? or -help option.
  • New features:
  • Added getCurrentWorkingDir() + getRobotsDir() to the robocode.control.RobocodeEngine.
  • Request [2446276] - Ranking Panel should be visible when Robocode is minimized. This feature has been added and it is possible to control the behavior from Common Options in the Preferences with the "Don't hide Rankings when main window is minimized", which is enabled per default.
  • Request [2467545] - Command Line option for saving a battle record file. Two new command line options have been added for Robocode, i.e. - record and -recordXML . The -record option records the battle as a binary and zipped battle record. Here I propose that the specified filename should is something like record.br. The -recordXML does the same as the -record option, but saves the battle record as an XML file. Here I suggest that you use a filename like record.br.xml.
  • Request [1749483] - Speedup time required for rebuilding robot database.
  • RoboRumble changes:
  • Changed the link for http://rumble.fervir.com/rumble into http://darkcanuck.net/rumble as the RoboRumble server fervir is down and with unstable ranking. The current ranking at Darkcanuck's server is alive. Almost all clients are point to Darkcanuck's now. Hence, it is updated now.
  • Internal Changes:
  • The robot repository has been updated. It is no longer extracting .jar files.
  • It also remembers last timestamp on file so detection of the changes is really fast. Only data files are extracted now.
  • Data files for non-packed robots were moved to .robotcache as well.
  • VersionManager is now able to detect if the Robocode version was upgraded since last run.
  • Blocking security issue with relative path in getDataFile() method.
  • Improved security in RobotClassLoader.
  • Reimplemented RobotPackager.
  • BulletSnapshot has now method getBulletId which gives identity of bullet for UI.

New in Robocode 1.7.0.2 (Feb 16, 2009)

  • The fix for "Bug [2597046] Compiler classpath not quoted" backfired, as the entire text field in the window with the compiler properties would now be quoted. Hence, the compiler would not be able to compile, and it was not possible to cheage the compiler preferences from the GUI.

New in Robocode 1.7 Beta 2 (Jan 27, 2009)

  • Bugfixes:
  • Ubuntu throws NullPointerException in main when trying to startup Robocode.
  • Installation fail on windows if directory contain space(s).
  • Changes:
  • Improved the version checking for new Robocode versions available for download.

New in Robocode 1.7 Beta (Jan 20, 2009)

  • Bugfixes:
  • Spammy output on robot console windows.
  • Internal changes:
  • Robocode was modularized using the dependency injection framework PicoContainer. This work includes introduction of many interfaces to existing components.
  • Introduced Maven2 as build setup where the whole directory layout is based on the standard Maven structure.
  • Rewritten the RobotClassLoader so it is able to load .jar file in the future.
  • Rewritten security layer to use AccessController and CodeSource for detection of trusted code.
  • Redesigned RobocodeProperties to SettingsManager and introduced ISettingsListener.
  • Implemented RbSerializer to be able to implement IPC (Inter-Process Communication) in future. This should make it possible to extend Robocode for more platforms like e.g. Microsoft .NET.
  • Redesigned RepositoryManager and nearby to hide implementation details.
  • Moved all implementation of Robocode to the package 'net.sf.robocode'. The old package 'robocode' is now used only for API to outer world in order to keep backwards compatibility.

New in Robocode 1.6.2 (Jan 7, 2009)

  • Robot name was missing when replaying XML record.
  • Junior Robot turnAheadRight() bug. When a JuniorRobot was calling turnAheadRight(), turnAheadLeft(), turnBackRight(), or turnBackLeft() - the following exception occurred causing the robot to be terminated: java.lang.ClassCastException: robocode.peer.proxies.StandardRobotProxy
  • Exception when changing between Robot to AdvancedRobot. When a robot was changed from a Robot into an AdvancedRobot and recompiled, the game would cast a ClassCastException if a battle was started or restarted including that particular robot. However, this bug did not occur with new battles where the list of robots was refreshed (by pressing Ctrl+R).

New in Robocode 1.6.2 Beta (Nov 24, 2008)

  • User visible changes:
  • We now support excellent record/replay functionality, including export/import to XML. Record also contains paintings of robots, so you can replay them. Because recording is resource consuming, it is switched off by default, go to preferences dialog to turn it on.
  • In UI we have new button for main battle log, where you can watch systems messages (if you don't like to look at system console). The dialog also contains tab with XML representation of last battle frame, which might help with debugging your robot.
  • Robot dialog was enhanced by new tab page with dump of current robot properties. Hope you will love it, because you can add your own properties from your robot by calling setDebugProperty() method of your robot. See sample.PaintingRobot for example usage.
  • Robot dialog could hint which robot is trying to paint something, paint button becomes green.
  • Robot button was given life-bar + score-bar, so that you can easily see who is winning. You see small red bar on Corners sample button ? That's energy below 25 points. Blue bar is score.
  • Robot visible changes:
  • New method setDebugProperty()
  • Classes of event arguments are more strict now. They are final, so you can't inherit from them, they also hide methods setPriority() and setTime() for security reasons.
  • Team messages are deserialized on receiver robot thread.
  • Robots which are wrong behaving are removed from repository and are not given other chance to run. This is for skipped turns, for unstoppable robots and for robots with class loading troubles.
  • During painting robots can paint only such things which are Java Serializable.
  • Bug fixes & Feature requests:
  • Robots are given unlimited time when recording, painting or debugging with -Ddebug=true
  • Implementation details:
  • Communication from user robot to battle is 90% redesigned!

New in Robocode 1.6.1.4 (Nov 21, 2008)

  • Bugfixes:
  • Loosing robots were not receiving onBattleEnded(BattleEndedEvent) events.
  • A new security issue fix for robots that were able texecute code thru the Event Dispatch Thread (EDT). Robots that try taccess the EDT will be disabled!
  • [2210749] drawArc() does not work as expected: This bug has been fixed. In addition, both drawArc() and fillArc() are now using the Robocode coordinate and angle system.
  • [2157167] Blank console window when compiling. Some systems still had this issue, sa new fix has been applied.
  • New feature:
  • The results and current rankings (during a battle) is now showing the score as percentage(s) in parenthesis right beside the score points like e.g. '7875 (12%)' for the total score in the results and '21 / 2900 (7 / 14%)' with the current rankings.
  • Changes:
  • The command-line option EXPERIMENTAL (true/false) allowing access tthe robot interface peer is now working for the RobocodeEngine class also.