Skip to content

Releases: robocode-dev/tank-royale

0.13.1

18 May 16:25
Compare
Choose a tag to compare

0.13.1 - Fixing event queue + country codes

Bugfixes

  • Bot APIs:
    • Fixed issue with turning the body, gun, and radar as first and only
      thing (#23).
    • Fixed issue with rescanning and interrupting current event handler. Redesigned the event queue.
    • Fixed issue with dangling threads not been stopped (interrupted) correctly.
  • Bot API for .Net:
    • Fixed issue with country codes (on macOS) which also caused boot up problems for .Net based bots running under
      macOS (#20).
    • Fixed issue with bots stopping doing actions when battle is restarted. E.g. the Corners sample bot was affected by
      this issue.

Documentation

You can read more about Robocode Tank Royale here:
https://robocode-dev.github.io/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.13.1.jar

robocode-tankroyale-gui-0.13.1.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.13.1.zip
Java: sample-bots-java-0.13.1.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.13.1.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.13.1

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

0.13.0

03 May 19:22
Compare
Choose a tag to compare

0.13.0 - Bot API for .Net 6

Changes

  • Bot API:
    • Upgraded the .Net version of the bot API for .Net 6.0 as .Net 5.0 is soon EOL.
    • The id was removed from BotResults, and GameEndedEvent will only return a single BotResult containing
      the battle results for the bot (instead of a list containing results from all bots).
    • Added setting and getting 'adjusting radar for body turn'.
    • The scan() and setScan() methods were renamed to rescan() and setRescan().
    • Added setInterruptible(boolean interruptible) / Interruptable = [bool] to allow restarting an event handler
      while it is processing an earlier event.
  • GUI:
    • A tooltip text has been added to the 'Start button' that shows the minimum or maximum number of participants
      required for starting the battle.
  • Protocol:
    • Removal of the speed field of the bullet-state as the speed can be calculated as: 20 - 3 x power.
      Hence, there is no need to transfer this information over the network.
    • Moved id from bot-results-for-bot to bot-results-for-observer.
    • The scan field on bot-intent was renamed to rescan.

Bugfixes

  • Bot API:
    • Blocking bot functions do not stop bot after
      finishing (#17).
    • Fixed issue where event queue would overflow with unhandled events when a Bot´s run() method has ended.
  • GUI:
    • The 'Start game' button is now disabled when the minimum or maximum number of participants is not met.

Documentation

You can read more about Robocode Tank Royale here:
https://robocode-dev.github.io/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.13.0.jar

robocode-tankroyale-gui-0.13.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.13.0.zip
Java: sample-bots-java-0.13.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.13.0.jar

Available as an artifact on the Maven Central Repository
https://search.maven.org/artifact/dev.robocode.tankroyale/robocode-tankroyale-bot-api/0.13.0/jar

.Net:

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

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

0.12.0

18 Apr 11:42
Compare
Choose a tag to compare

0.12.0 - Single stepping battle

Changes

  • GUI:
    • Added 'Next turn' button beside the pause button in with the control panel to useful for single-stepping a
      battle, e.g. when debugging your bot.
    • Improvements to the battle dialog for selecting game type and bots for a new battle.
      • Added button for setting up rules.
      • Added tooltip texts.
  • Protocol: Removal of rgb-value type from the protocol of Bot APIs.
  • Bot API: The Color.fromRgb() has been replaced by Color.fromString().

Bugfixes

  • Bot API: Make sure the bot terminates (system exit) upon a connection error to prevent dangling bot processes, which is
    usually occurring when terminating the UI, which closes the bot connections.
  • GUI: When dragging the battle arena, the graphics were not updated while dragging.

Documentation

You can read more about Robocode Tank Royale here:
https://robocode-dev.github.io/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.12.0.jar

robocode-tankroyale-gui-0.12.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.12.0.zip
Java: sample-bots-java-0.12.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.12.0.jar

Available as an artifact on the Maven repository:

<dependency>
  <groupId>dev.robocode.tankroyale</groupId>
  <artifactId>robocode-tankroyale-bot-api</artifactId>
  <version>0.12.0</version>
</dependency>

.Net:

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

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

0.11.2

12 Apr 18:11
Compare
Choose a tag to compare

0.11.2 - Fix restart issue

Bugfixes

  • Battle does not restart (#10).
  • Bot API did not stop thread when GameAbortedEvent occurred (when restarting).
  • When restarting, a two or more games could be started on the server.

Documentation

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

Running Robocode

You need Java 11 as minimum or newer to be preinstalled on your system. 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.11.2.jar

robocode-tankroyale-gui-0.11.2.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.11.2.zip
Java: sample-bots-java-0.11.2.zip

Note that the C# bots need Microsoft .Net SDK 5.0 or newer 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.11.2.jar

Available as an artifact on the Maven repository: https://mvnrepository.com/artifact/dev.robocode.tankroyale/robocode-tankroyale-bot-api

<dependency>
  <groupId>dev.robocode.tankroyale</groupId>
  <artifactId>robocode-tankroyale-bot-api</artifactId>
  <version>0.11.2</version>
</dependency>

.Net:

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

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

v0.11.1

07 Apr 19:33
Compare
Choose a tag to compare

0.11.1 - Patch for the GUI

Bugfixes

  • ConcurrentModificationException could occur for BotSelectionPanel.updateJoinedBots(). Could not create a new battle.
  • Fixed issue with starting a new battle from the menu with Battle → 'Start Battle' a second time.

Changes

  • "Restart server" has been renamed into "Reboot Server", and the server and battle is fully stopped, and bots are
    disconnected. Confirmation dialog for rebooting now differ between the reboot is a user action or due to a changed
    server setting.
  • Control panel (Pause/Resume, Stop, Restart, TPS) is now always shown when first battle has been started. Various
    improvements were done to the control panel.
  • A busy cursor is now (automatically) shown when an operation takes some time to perform.

Documentation

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

Running Robocode

You need Java 11 as minimum or newer to be preinstalled on your system. 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.11.1.jar

robocode-tankroyale-gui-0.11.1.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.11.0.zip (reusing version 0.11.0)
Java: sample-bots-java-0.11.0.zip (reusing version 0.11.0)

Note that the C# bots need Microsoft .Net SDK 5.0 or newer 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.11.0.jar (reusing version 0.11.0)

Available as an artifact on the Maven repository: https://mvnrepository.com/artifact/dev.robocode.tankroyale/robocode-tankroyale-bot-api

<dependency>
  <groupId>dev.robocode.tankroyale</groupId>
  <artifactId>robocode-tankroyale-bot-api</artifactId>
  <version>0.11.1</version>
</dependency>

(The version 0.11.0 and 0.11.1 of the bot api artifact are identical)

.Net:

Available as artifact on the Nuget repository:
https://www.nuget.org/packages/Robocode.TankRoyale.BotApi/ (reusing version 0.11.0)

dotnet add package Robocode.TankRoyale.BotApi

v0.11.0

02 Apr 22:34
Compare
Choose a tag to compare

0.11.0 - Initial position feature

Bugfixes

  • Fixes for building Java artifacts to deploy to Maven artifactory.
  • Bot API: Replaced the environment variable BOT_URL (deprecated) with BOT_HOMEPAGE.
  • Bot API for .Net: Added missing public Bot(BotInfo, Uri, string serverSecret) constructor.

Changes

  • Implemented initial position feature:
    • Add an initialPosition field in the JSON file for your bot with a value like 50,50,90 to request a starting
      coordinate at (50,50) with the bot heading toward 90°.
    • A --enable-initial-position (or the short version -I) must be set to enable the initial positions feature on
      the server. If initial position is not enabled, the bot will start at a random position.
    • Initial positions can be set from the menu with Config → Debug Options → Enable initial start position.
    • The Target.json file of the Target sample has been updated with an initialPosition to demonstrate this feature.
  • Updated the SpinBot sample bot for C# to demonstrate the use of BotInfo.FromConfiguration(IConfiguration).
  • The config file named misc.properties has been renamed into config.properties and the server-url setting was
    moved to the server.properties file.
  • When the server settings are changed on the GUI, the user will be asked if the server should be rebooted to let the
    changes take effect.

Documentation

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

Running Robocode

You need Java 11 or newer to be preinstalled on your system. 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.11.0.jar

robocode-tankroyale-gui-0.11.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.11.0.zip
Java: sample-bots-java-0.11.0.zip

Note that the C# bots need Microsoft .Net SDK 5.0 or newer 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:

Java:
Available as a jar file: robocode-tankroyale-bot-api-0.11.0.jar (reusing version 0.11.0)
(Artifact from Maven does not work. Work is in progress to fix this for version 0.12.0.

Available as an artifact on the Maven repository: https://mvnrepository.com/artifact/dev.robocode.tankroyale/robocode-tankroyale-bot-api
<dependency>
  <groupId>dev.robocode.tankroyale</groupId>
  <artifactId>robocode-tankroyale-bot-api</artifactId>
  <version>0.11.0</version>
</dependency>

.Net:

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

dotnet add package Robocode.TankRoyale.BotApi

v0.10.0

14 Mar 19:21
Compare
Choose a tag to compare

About

This release is an early alpha version meant for people to try out and give feedback on.

0.10.0 - Bot API improvements

Bug fixes:

  • Fixed MyFirstBot.java (sample bot) not running.
  • Various bug fixes were found in the Bot APIs, and missing get/set methods were added.
  • Selected bots were not removed from the New Battle dialog when bots are disconnecting.
  • Booter did not transfer environment variables to bot processes from GUI.

Changes:

  • Moved documentation from robocode.dev to GitHub Pages
  • Changed the default server port from 80 to 7654 to avoid the use of sudo before java command (ports above 1023
    does not need sudo)
  • Bot APIs: Moved constants to a Constants class.
  • Bot APIs: Introduced a Color class for representing colors.
  • Bot API for .Net: Some Set/Get methods were refactored into properties for e.g. speed, turn rates, and colors.
  • Bot API for .Net: Lots of optimizations were made.

Improvements:

  • Bot handshake has been extended to include server secret with the bot-handshake and the BaseBot class has been
    extended for setting this as input parameter in the constructor.
  • Server secret has been split into controller/observer secrets and bot secrets
    • It is now possible to supply multiple server secrets
  • Client is disconnected when sending a wrong secret to the server.
    • Bot API now writes out status-code and the reason for disconnecting when it is due to a wrong secret.

Documentation

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

Running Robocode

You need Java 11 or newer to be preinstalled on your system. 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.10.0.jar

robocode-tankroyale-gui-0.10.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.10.0.zip
Java: sample-bots-java-0.10.0.zip

Note that the C# bots need Microsoft .Net SDK 5.0 or newer 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 an artifact on the Maven repository:
https://mvnrepository.com/artifact/dev.robocode.tankroyale/robocode-tankroyale-bot-api

<dependency>
  <groupId>dev.robocode.tankroyale</groupId>
  <artifactId>robocode-tankroyale-bot-api</artifactId>
  <version>0.10.0</version>
</dependency>

NOTE: There is an issue with downloading this artifact with Maven or Gradle. I am working on fixing this.
In the meanwhile, you can download the jar archive and include it in your project.

.Net:

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

dotnet add package Robocode.TankRoyale.BotApi

v0.9.12

23 Feb 22:13
Compare
Choose a tag to compare

About

This is the first release of Robocode Tank Royale.
This release is an early alpha version meant for people to try out and give feedback on.

Documentation

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

Running Robocode

You need Java 11 or newer to be preinstalled on your system. You can read the installation guide to get more details about installing Java and Robocode.

The Robocode application (GUI) can be run from the command-line:

On Windows:

java -jar robocode-tankroyale-gui-0.9.12.jar

On macOS and Linux:

sudo java -jar robocode-tankroyale-gui-0.9.12.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.9.12.zip
Java: sample-bots-java-0.9.12.zip

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

Bot API

In order to develop bots for Robocode, you'll need one of the provided APIs.
There is a Java version available with this release as a .jar archive: robocode-tankroyale-bot-api-0.9.12.jar
Later on, the Bot API will be made available on a Maven repository as well via Sonatype.

And the .Net version of the Bot API is available from Nuget here: https://www.nuget.org/packages/Robocode.TankRoyale.BotApi/