Build the best - destroy the rest!

Wednesday, 26 August 2009

Robocode 1.7.1.4 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 1.7.1.3 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



Download Robocode 1.7.1.4 Beta from here

Thursday, 9 July 2009

Robocode 1.7.1.3

This version is a maintenance release of Robocode fixing more bugs.

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.



Download Robocode 1.7.1.3 from here

Monday, 8 June 2009

Robocode 1.7.1.3 Beta

Please welcome a new robot type, the RateControlRobot. This new robot type has been provided by Joshua Galecki and is an extension of the AdvancedRobot. Currently, the RateControlRobot is in its Beta stage.

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.

The RateControlRobot provides these new methods:

  • setVelocityRate(double)

  • setTurnRate(double)

  • setGunTurnRate(double)

  • setRadarTurnRate(double)


These methods overrides setAhead(),setBack(), setTurnRight(), setTurnGunLeft() etc.

For an example, please look into the source code for the new sample.VelociRobot.

We ask the community for feedback for the new RateControlRobot 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.

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


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.


Download Robocode 1.7.1.3 Beta from here

Monday, 25 May 2009

Robocode 1.7.1.2

With this release some additional bugs have been eliminated compared to the beta version.

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



Download Robocode 1.7.1.2 from here

Saturday, 9 May 2009

Robocode 1.7.1.2 Beta

With this beta, we corrected an old bug in Robocode with the robot speed and movement in some situations when a robot is decelerating. That is, a robot would only move 99% according to it's own rules. E.g. it could end with a distance remaining on -0.2 instead of 0, it could have a velocity higher than the set max. velocity, and it could take an extra turn to stop movement when decelerating. However, these 3 caveats does not occur that often. Hence, they should not have a big impact on the robot behavior and rankings on the RoboRumble etc.

If you do experience big differences since version 1.7.1.1, then don't hesitate with contacting us with detailed information about the scenario, so it is possible for us to reproduce and fix.

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.


  • Download Robocode 1.7.1.2 Beta from here

    Friday, 10 April 2009

    Robocode 1.7.1.1

    With this release we have focused on eliminating as many problems seen with RoboRumble as possible. Hence, this version should hopefully prove stable as the new RoboRumble client.

    Bugfixes for RoboRumble


    • Bug [2727675] - Meleerumble using 2 bots instead of 10. Now the MELEEBOTS (number of robots that participate in a melee battle) works as expected.

    • Bug [2742554] - TeamRumble uploading result for Robot instead of team.

    • Bug [2727667] - Not enough java memory allocated in launch scripts. The launch scripts for RoboRumble and TeamRumble were changed so it is allowed to use up to 512 MB heap memory, and MeleeRumble is allowed to use up to 1024 MB.

    • Bug [2740403] - EOFException during repository rebuild. Exception is now reported in a simplified way.

    • Bug [2742891] - JarJar multi-registration. RoboRumble was not reusing the same RobocodeEngine instance.



    Other bugfixes


    • Bug [2627698] - pe.SandboxDT_3.02 stoped working. We had broken semantics of getTeammates() to return empty array when there is no team.

    • Bug [2738985] - Robocode API: Cannot subclass Event in 1.7.1.

    • Bug [2738993] - Errors with some robot classes when rebuilding database.

    • Bug [2711605] - Webpage button lay over robot description.

    • Bug [2723228] - Round number set by user was not saved between run.



    JuniorRobot changes


    • Bug - The event variables scannedXXX and hitXXX on the JuniorRobot was not reset to -1 (or -99) when nothing was scanned or hit.

    • Bug/Req [2500129] - Prevent JuniorRobot to be unresponsive.

    • Change: JuniorRobot will now automatically scan for enemies when it is not moving.



    Download Robocode 1.7.1.1 from here

    Wednesday, 25 March 2009

    Startup tips - harvesting from you

    Hi All,

    We plan to implement startup tips and we are looking for good ones. I mocked up pictures of solution. We would like to implement panel with multiple fonts and links to web. It will be probably driven by XML similar to HTML, we don't have it yet, so the final solution may look different.
    startup tip
    startup tip

    Now you come, we need your help. Please share your best tips with us.

    You could do it by commenting here or on ticket or just send us email.

    We would like to see nice, well formed, short, informative TIPs about Robocode.

    Thanks !
    Pavel & Flemming