Skip to content

0.16.0

Compare
Choose a tag to compare
@flemming-n-larsen flemming-n-larsen released this 31 Aug 14:24

0.16.0 - Introduction of boot id - 31-Aug-2022

The boot id has been introduced to make it easier to identify which bots have booted locally. Previously, only the host and port were available on the server side, making it hard to identify the bots started from a controller. Now the boot id uniquely identifies a booted bot.

Previously, a process id (pid) was used to uniquely identify a bot being booted, but the pid has been replaced by the new boot id.

  • Schema:
    • The bot-handshake has been extended to include the bootId when the bot is booted locally. This field may be empty when a bot has not been booted by the Booter.
  • Booter:
    • Now generates a unique boot id for each booted bot, and sends this to the bot via the new BOOT_ID environment variable.
  • Bot API:
    • Takes the boot id from the BOOT_ID environment variable and includes this within the bot bot-handshake when it is sent to the server.

Bugfixes:

  • Bot API:
    • Fixed waitFor(Condition) so it executes before checking the condition the first time.
  • Server
    • Fixed major bug where the firepower was not limited at the server side.
    • Adjusted gun to fire at gun direction for a new turn.
  • GUI:
    • Issue with reading huge bot list from the booter when reading from stdin.

Documentation

You can read more about Robocode Tank Royale here:
https://robocode-dev.github.io/tank-royale/

Try it out

Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.

Running Robocode

You need Java 11 as a minimum or newer to be preinstalled on your system. I recommend newer versions of Java, e.g. version 18.
You can read the installation guide to get more details about installing Java and Robocode.

The Robocode GUI application must be run from the command line in order to start and view battles:

java -jar robocode-tankroyale-gui-0.16.0.jar

robocode-tankroyale-gui-0.16.0.jar

Note that you need to download sample bots and install those into directories on your system, and add these directories from the menu:

Config → Bot Root Directories

Sample bots

These sample bots are currently available:

C#: sample-bots-csharp-0.16.0.zip
Java: sample-bots-java-0.16.0.zip

Note that the C# bots need Microsoft .Net SDK 5.0 or newer and must be preinstalled.

Bot API

In order to develop bots for Robocode, you'll need one of the provided APIs for the Java/JVM or .Net platform.

Java:

Available as a jar file: robocode-tankroyale-bot-api-0.16.0.jar

Available as an artifact on the Sonatype Nexus Repository here. At some point after this release the artifact will also become available from the Maven Central Repository.

.Net:

Available as artifact on the Nuget repository:
https://www.nuget.org/packages/Robocode.TankRoyale.BotApi/0.16.0

dotnet add package Robocode.TankRoyale.BotApi --version 0.16.0

This discussion was created from the release 0.16.0.