Skip to content

Releases: robocode-dev/tank-royale

1.3.1

Choose a tag to compare

@github-actions github-actions released this 13 Sep 19:51

[1.3.1] - 2026-09-13 - Server jar startup fix

🐞 Bug Fixes

  • Server:
    • Fixed the server jar failing to start with a VerifyError on launch, caused by a Clikt 5.1.0 / R8 bytecode incompatibility. Clikt is pinned back to 5.0.3.

πŸ”§ Changes

  • Release process:
    • Executable jars (booter, server, recorder, gui) are now smoke-tested by running --version before a release is published, so a jar that fails to start can no longer ship undetected.
    • The recorder jar is now built and attached to GitHub releases (previously missing entirely).
    • The booter jar is attached to GitHub releases again (previously omitted).

Robocode Tank Royale 1.3.1

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-1.3.1.msi
🍎 macOS robocode-tank-royale-gui-1.3.1.pkg
🐧 Linux robocode-tank-royale-gui-1.3.1.rpm (RPM) / robocode-tank-royale-gui-1.3.1.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-1.3.1.jar

Running: java -jar robocode-tankroyale-gui-1.3.1.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-1.3.1.zip Python 3.10 or newer with venv
πŸ”· C# sample-bots-csharp-1.3.1.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-1.3.1.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-1.3.1.zip Node.js 22 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

Create and activate a virtual environment before installing the API:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install robocode-tank-royale==1.3.1

On Windows PowerShell, use py -3 -m venv .venv, activate it with .\.venv\Scripts\Activate.ps1, and then run the python -m pip command above.

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:1.3.1'

Direct JAR: robocode-tankroyale-bot-api-1.3.1.jar

πŸ”· .NET (C#, F#, VB.NET)

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

🟦 TypeScript / JavaScript

npm install @robocode.dev/tank-royale-bot-api

More info: robocode.dev/api | PyPI | Maven Central | NuGet | npm

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


1.2.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 15:40

[1.2.0] - 2026-09-05 - Runner compatibility precondition

🐞 Bug Fixes

  • Server:
    • Fixed bot death events never reaching bots, so onDeath and onBotDeath handlers never fired.

πŸš€ Improvements

  • Runner:
    • Added an optional behavior-version precondition that rejects incompatible servers before starting bot processes.

Robocode Tank Royale 1.2.0

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-1.2.0.msi
🍎 macOS robocode-tank-royale-gui-1.2.0.pkg
🐧 Linux robocode-tank-royale-gui-1.2.0.rpm (RPM) / robocode-tank-royale-gui-1.2.0.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-1.2.0.jar

Running: java -jar robocode-tankroyale-gui-1.2.0.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-1.2.0.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-1.2.0.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-1.2.0.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-1.2.0.zip Node.js 22 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==1.2.0

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:1.2.0'

Direct JAR: robocode-tankroyale-bot-api-1.2.0.jar

πŸ”· .NET (C#, F#, VB.NET)

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

🟦 TypeScript / JavaScript

npm install @robocode.dev/tank-royale-bot-api

More info: robocode.dev/api | PyPI | Maven Central | NuGet | npm

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


1.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 15:16
9a7c4e1

[1.1.0] - 2026-08-04 - Rumble foundations

🐞 Bug Fixes

  • Bot API (Java, .NET, Python):
    • Fixed a crash when a bot calls setInterruptible() outside an event handler. The call is now simply ignored, as there is no current event to mark as interruptible. (The TypeScript Bot API was not affected.)
  • GUI:
    • Fixed replay playback freezing silently at the end of a recorded battle. The playback timer
      was not being restarted or stopped once the last turn was processed, leaving the GUI stuck
      on the final frame with no indication that the replay had actually finished.

πŸš€ Improvements

  • GUI, Server, and Runner:
    • Added the selectable twinduel preset (800Γ—800, exactly four participants, 75 rounds); the server advertises it among the built-in game types.
  • Bot API (Java, .NET, Python, TypeScript):
    • Current server handshakes expose a positive behaviorVersion compatibility epoch while older handshakes remain readable.
  • Booter:
    • Bot and team configuration files may include an optional SPDX license identifier, which is preserved in directory listings.
  • Rumble:
    • Bootstrapped the community-owned robocode-dev/rumble-bots source catalog with portable validation, generated catalog CI, governance, and a smokeable sample bot.
  • Bot API (Java, .NET, Python, TypeScript):
    • A bot now fails with a clear error message when connecting to a server with an incompatible version, instead of appearing to join the battle but standing idle without scoring. Per SemVer, the major versions of the Bot API and server must be equal (and the minor versions as well for major version 0).

Robocode Tank Royale 1.1.0

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-1.1.0.msi
🍎 macOS robocode-tank-royale-gui-1.1.0.pkg
🐧 Linux robocode-tank-royale-gui-1.1.0.rpm (RPM) / robocode-tank-royale-gui-1.1.0.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-1.1.0.jar

Running: java -jar robocode-tankroyale-gui-1.1.0.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-1.1.0.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-1.1.0.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-1.1.0.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-1.1.0.zip Node.js 22 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==1.1.0

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:1.1.0'

Direct JAR: robocode-tankroyale-bot-api-1.1.0.jar

πŸ”· .NET (C#, F#, VB.NET)

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

🟦 TypeScript / JavaScript

npm install @robocode.dev/tank-royale-bot-api

More info: robocode.dev/api | PyPI | Maven Central | NuGet | npm

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


1.0.2

Choose a tag to compare

@github-actions github-actions released this 18 May 15:09

[1.0.2] - 2026-05-18 - Minor bug fix for GUI

🐞 Bug Fixes

  • GUI:

    • #214: Fixed crash when playing sound effects on Linux systems where the audio format of the
      sound files (PCM 24000 Hz) is not supported by the system's audio mixer. The error was
      propagating uncaught from the audio playback path and crashing the WebSocket thread. Sound
      playback failures are now silently ignored so the game continues normally without sound.
  • Bot API (Java, .NET, Python, TypeScript):

    • #215: Fixed a NullPointerException that could occur randomly when a bot called a blocking
      method (e.g. turnGunLeft) from inside an event handler that triggered a nested dispatch.

Robocode Tank Royale 1.0.2

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-1.0.2.msi
🍎 macOS robocode-tank-royale-gui-1.0.2.pkg
🐧 Linux robocode-tank-royale-gui-1.0.2.rpm (RPM) / robocode-tank-royale-gui-1.0.2.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-1.0.2.jar

Running: java -jar robocode-tankroyale-gui-1.0.2.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-1.0.2.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-1.0.2.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-1.0.2.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-1.0.2.zip Node.js 22 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==1.0.2

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:1.0.2'

Direct JAR: robocode-tankroyale-bot-api-1.0.2.jar

πŸ”· .NET (C#, F#, VB.NET)

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

🟦 TypeScript / JavaScript

npm install @robocode.dev/tank-royale-bot-api

More info: robocode.dev/api | PyPI | Maven Central | NuGet | npm

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


1.0.1

Choose a tag to compare

@github-actions github-actions released this 08 May 15:36

[1.0.1] - 2026-05-08 - Minor bug fix for GUI

🐞 Bug Fixes

  • GUI:
    • #212: Fixed NullPointerException on Nix OS when starting a battle. Game setup defaults were
      not being properly initialized if the properties file was empty or corrupted, causing the
      application to crash when attempting to start a game.

Robocode Tank Royale 1.0.1

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-1.0.1.msi
🍎 macOS robocode-tank-royale-gui-1.0.1.pkg
🐧 Linux robocode-tank-royale-gui-1.0.1.rpm (RPM) / robocode-tank-royale-gui-1.0.1.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-1.0.1.jar

Running: java -jar robocode-tankroyale-gui-1.0.1.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-1.0.1.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-1.0.1.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-1.0.1.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-1.0.1.zip Node.js 22 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==1.0.1

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:1.0.1'

Direct JAR: robocode-tankroyale-bot-api-1.0.1.jar

πŸ”· .NET (C#, F#, VB.NET)

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

🟦 TypeScript / JavaScript

npm install @robocode.dev/tank-royale-bot-api

More info: robocode.dev/api | PyPI | Maven Central | NuGet | npm

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


1.0.0

Choose a tag to compare

@github-actions github-actions released this 03 May 15:21

[1.0.0] - 2026-05-03 - Version 1: Stable release with dark and light themes

This is a major milestone: version 1.0.0 marks Robocode Tank Royale as a stable, production-ready
game. The 1.0 release introduces full dark and light theme support in the GUI, powered by the
FlatLaf look-and-feel library, making the interface polished and visually consistent across
platforms. From this release onward, the project follows semantic versioning with a commitment to
API stability.

🐞 Bug Fixes

  • GUI:

    • Fixed the Tank Color Mode setting ("Bot Colors (default)") reverting to "Bot Colors
      (Debug Only)" after restarting the GUI. The Options dialog was re-saving the color mode
      from the radio button state on OK, which could override the immediately saved selection
      if the dialog state had been refreshed in between.
    • Fixed Bot Colors (Once) not reliably locking the first bot-defined color for each tank
      part, causing late color updates to fall back to default colors instead.
    • Fixed the graphical debugging toggle and breakpoint mode toggle resetting to off when a
      battle is restarted. Both toggles now retain their state and re-apply the policy to the
      new game automatically. Toggle preferences are stored in persistent in-memory maps keyed
      by the bot's stable WebSocket session ID, so they survive frame recreation, console
      close/reopen, and bot ID reassignment across restarts.
  • Server:

    • Fixed "unsupported gameType: custom" error when starting a game with the Custom game type
      preset. The server now accepts all four built-in game types (classic, 1v1, melee,
      custom) by default instead of only classic. Use the --games flag to restrict the
      server to specific game types when needed (e.g., for competition servers).
  • Runner:

    • Fixed BattleRunner ignoring BattleSetup.defaultTurnsPerSecond and always starting
      battles at max speed instead.
  • Bot API (.NET):

    • Fixed C# bots sometimes losing turn-1 movement, colors, and debug painting when a battle
      was restarted from the GUI, which could show up on every second restart.
  • Bot API (Java, Python, TypeScript):

    • Fixed stale debug graphics being resent after debugging was disabled, which could make old
      debug painting reappear on later turns or restarts.
    • Fixed turn-1 event handlers running before run() had initialized bot state, which could
      corrupt movement or colors set at the start of a round.
  • Sample Bots (Java, .NET, Python, TypeScript):

    • Fixed PaintingBot drawing ghost circles at the previous round's last-known target position
      at the start of each new round. The scanned-bot state was not reset between rounds, causing
      onTick to draw a stale circle until a new scan occurred. Fixed by resetting scannedTime
      to 0 at the start of run().

Robocode Tank Royale 1.0.0

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-1.0.0.msi
🍎 macOS robocode-tank-royale-gui-1.0.0.pkg
🐧 Linux robocode-tank-royale-gui-1.0.0.rpm (RPM) / robocode-tank-royale-gui-1.0.0.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-1.0.0.jar

Running: java -jar robocode-tankroyale-gui-1.0.0.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-1.0.0.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-1.0.0.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-1.0.0.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-1.0.0.zip Node.js 22 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==1.0.0

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:1.0.0'

Direct JAR: robocode-tankroyale-bot-api-1.0.0.jar

πŸ”· .NET (C#, F#, VB.NET)

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

🟦 TypeScript / JavaScript

npm install @robocode.dev/tank-royale-bot-api

More info: robocode.dev/api | PyPI | Maven Central | NuGet | npm

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


0.42.0

Choose a tag to compare

@github-actions github-actions released this 22 Apr 20:46

[0.42.0] - 2026-04-22 - First release of the TypeScript Bot API

This is the first official release of the TypeScript Bot API, making TypeScript a first-class
member of the Bot API family alongside Java, .NET, and Python. The groundwork was laid in 0.41.0;
this release ships the TypeScript API as a fully supported platform for writing bots.

🐞 Bug Fixes

  • Bot API (Java):

    • Fixed JDK reflection warning about Gson mutating final fields in Point during
      deserialization. Gson now constructs Point via its constructor instead of reflective
      field mutation, which will be blocked in a future JDK release.
  • Bot API (Java, .NET, Python, TypeScript):

    • #202, #210: Fixed events (ScannedBotEvent, TickEvent, etc.) firing one turn late.
      The bot API dispatched events after go() returned, so run() loop code could read
      the new tick state before the corresponding events had fired. Events now fire before
      execute() returns, matching Classic Robocode semantics: events for turn N always fire
      before the bot reads turn N state in run().
  • GUI:

    • Fixed ArrayIndexOutOfBoundsException in BasicListUI caused by SortedListModel
      returning inconsistent sizes during concurrent updates.
  • Booter:

    • Removed misleading bot-dir prefix from per-line stderr output; fixed Log atomicity.
  • TypeScript Bot API:

    • Fixed debug graphics not appearing in PaintingBot.
  • Bot API (Java, .NET, Python, TypeScript):

    • Fixed setGunTurnRate(), setRadarTurnRate(), setTurnRate(), and setTargetSpeed()
      values being silently reset to zero after the first turn when using the continuous
      (rate-based) movement API on Bot. Bots that set a turn or speed rate in run() and
      relied on it persisting across turns now behave correctly for the full round.
  • Sample bots:

    • Renamed VelocityBot β†’ VelociBot on all platforms (Java, .NET, Python, TypeScript),
      matching the original classic Robocode VelociRobot name more closely.
    • Fixed VelociBot not shooting at scanned bots. An erroneous setRadarTurnRate(15) call
      caused the radar to spin at 30Β°/turn while the gun spun at 15Β°/turn, so the gun was never
      aimed at the enemy when a scan event fired. Removed the redundant radar rate β€” the radar
      already follows the gun automatically since the radar turn rate is cumulative on top of
      the gun turn rate.

Robocode Tank Royale 0.42.0

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-0.42.0.msi
🍎 macOS robocode-tank-royale-gui-0.42.0.pkg
🐧 Linux robocode-tank-royale-gui-0.42.0.rpm (RPM) / robocode-tank-royale-gui-0.42.0.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-0.42.0.jar

Running: java -jar robocode-tankroyale-gui-0.42.0.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-0.42.0.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-0.42.0.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-0.42.0.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-0.42.0.zip Node.js 22 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==0.42.0

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:0.42.0'

Direct JAR: robocode-tankroyale-bot-api-0.42.0.jar

πŸ”· .NET (C#, F#, VB.NET)

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

🟦 TypeScript / JavaScript

npm install @robocode.dev/tank-royale-bot-api

More info: robocode.dev/api | PyPI | Maven Central | NuGet | npm

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


0.41.0

Choose a tag to compare

@github-actions github-actions released this 19 Apr 21:28

[0.41.0] - 2026-04-19 - Bot API library updater and stability improvements

This release lays the groundwork for an upcoming TypeScript Bot API. The TypeScript API is
functional but still under test and lacks documentation, so it is not included in this release.
The cross-platform test infrastructure, semantic alignment across all Bot APIs, and Python internals
refactoring introduced here were all necessary steps to make the TypeScript API a first-class
member of the Bot API family β€” that work is already done and waiting.

✨ Features

  • GUI:

    • #207: Added bot API library updater. On startup, the GUI scans all configured bot
      directories for outdated or missing library files (Java .jar, .NET .nupkg,
      Python .whl, TypeScript .tgz) and offers to update them in one click.
      A "Don't ask again" option is available for users who manage libraries manually.
  • Bot API (Java, .NET, Python, TypeScript):

    • #208: Added missing rules constants to the Constants class: INACTIVITY_ZAP (0.1),
      RAM_DAMAGE (0.6), STARTING_GUN_HEAT (3.0), TEAM_MESSAGE_MAX_SIZE (32768), and
      MAX_NUMBER_OF_TEAM_MESSAGES_PER_TURN (10).

🐞 Bug Fixes

  • Bot API (Python):

    • Fixed Python bots failing to connect to the server when the server's handshake included
      a features field β€” the JSON deserializer crashed with KeyError: 'dict' and the bot
      never joined the game.
    • Fixed Python bots throwing BotException: Tick event is not available at round
      boundaries, which could cause the bot thread to terminate unexpectedly or silently skip
      event handlers (e.g. on_scanned_bot) between rounds.
  • Bot API (Java, .NET, Python, TypeScript):

    • #202: Fixed radar and gun commands set in run() before the first go() being silently
      dropped on turn 1. Commands such as setTurnRadarRight(Double.MAX_VALUE) in run() now
      take effect from turn 1 as expected.

πŸ”§ Changes

  • Server / GUI:

    • Raised the default ready timeout from 1 second to 10 seconds. This prevents bots using
      runtimes that need startup time (JVM, Python, .NET) from being silently excluded from a
      battle when the server starts before they have finished loading. The setting remains
      adjustable in the Setup Rules dialog.
  • Bot API (Java, .NET, Python, TypeScript) / Server:

    • Significantly expanded the test bed for both the server and all Bot API implementations,
      adding cross-platform conformance tests that verify all four Bot APIs behave identically for
      the same inputs β€” making it easier to catch regressions and keep the APIs in sync across
      languages. As part of this work, the Python Bot API internals were refactored to align more
      closely with the Java, .NET, and TypeScript implementations, achieving true 1-to-1 semantic
      parity across all platforms and making the codebase easier to maintain and debug going
      forward.

Robocode Tank Royale 0.41.0

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-0.41.0.msi
🍎 macOS robocode-tank-royale-gui-0.41.0.pkg
🐧 Linux robocode-tank-royale-gui-0.41.0.rpm (RPM) / robocode-tank-royale-gui-0.41.0.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-0.41.0.jar

Running: java -jar robocode-tankroyale-gui-0.41.0.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-0.41.0.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-0.41.0.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-0.41.0.zip Any Java SDK 11 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==0.41.0

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:0.41.0'

Direct JAR: robocode-tankroyale-bot-api-0.41.0.jar

πŸ”· .NET (C#, F#, VB.NET)

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

More info: robocode.dev/api | PyPI | Maven Central | NuGet

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


0.40.2

Choose a tag to compare

@github-actions github-actions released this 14 Apr 21:43

[0.40.2] - 2026-04-14 - Bot API stability and intent fixes

🐞 Bug Fixes

  • Bot API (Java):

    • #207: Fixed Java 26 warning about mutating final fields via reflection during
      deserialization of RoundStartedEvent and RoundEndedEvent. Gson now deserializes
      into the mutable schema classes first, then constructs the immutable bot API event
      objects via their constructors.
  • Bot API (Java, .NET, Python, TypeScript):

    • #202: Fixed bots receiving a SkippedTurnEvent on turn 1 when the OS scheduler delayed
      the bot thread's first time slice by more than the turn timeout. The bot API now sends
      default intent immediately after the bot thread wakes up for the first turn, ensuring turn 1
      is never skipped due to scheduling latency.
    • #202: Fixed an edge case where the pre-warmed bot thread could bypass the tick-arrival
      wait at the start of rounds 2+ if the previous round's tick state was still set.
  • Bot API (.NET):

    • Fixed console output is becoming corrupted after a bot reconnects to the server in a
      multi-game session.
    • Fixed a rare crash where an interrupted thread flag could leak into unrelated operations
      after a bot disconnects.
  • Bot API (Java, .NET, Python):

    • Fixed rescan() / setRescan() having no effect. The rescan flag was cleared internally
      before the intent was sent to the server, so the server never received it.

Robocode Tank Royale 0.40.2

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-0.40.2.msi
🍎 macOS robocode-tank-royale-gui-0.40.2.pkg
🐧 Linux robocode-tank-royale-gui-0.40.2.rpm (RPM) / robocode-tank-royale-gui-0.40.2.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-0.40.2.jar

Running: java -jar robocode-tankroyale-gui-0.40.2.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-0.40.2.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-0.40.2.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-0.40.2.zip Any Java SDK 11 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==0.40.2

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:0.40.2'

Direct JAR: robocode-tankroyale-bot-api-0.40.2.jar

πŸ”· .NET (C#, F#, VB.NET)

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

More info: robocode.dev/api | PyPI | Maven Central | NuGet

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources


0.40.1

Choose a tag to compare

@github-actions github-actions released this 12 Apr 19:30

[0.40.1] - 2026-04-12 - First-turn skip fix + breakpoint disconnect fix

🐞 Bug Fixes

  • Server:

    • #206: Fixed bots disconnecting from the server after ~80 seconds while paused at a
      debugger breakpoint.
  • Bot API (Java, .NET, Python):

    • #202: Fixed bots receiving a SkippedTurnEvent on turn 1 and missing their first chance
      to act.

Robocode Tank Royale 0.40.1

πŸš€ Quick Start

New to Robocode Tank Royale?

  1. Install Java 11+ β†’ Download GUI β†’ Get sample bots β†’ Start battling!

πŸ“– Complete documentation: robocode.dev | Advanced strategies: book.robocode.dev

πŸ›  Installing Robocode

Requirements: Java 11+ (whichjdk.com) | Detailed setup: robocode.dev/installation

Choose Your Installation Method

You have two options to install and run the Robocode GUI:

  1. Native Installers (Recommended) – Installs as a native application with desktop shortcuts
  2. Portable JAR File – Run directly from the command line without installation

Both options require Java 11 or newer.


Option 1: Native Installers (Recommended)

Download for your platform:

Platform Installer
πŸͺŸ Windows robocode-tank-royale-gui-0.40.1.msi
🍎 macOS robocode-tank-royale-gui-0.40.1.pkg
🐧 Linux robocode-tank-royale-gui-0.40.1.rpm (RPM) / robocode-tank-royale-gui-0.40.1.deb (DEB)

⚠️ Note: Installers are unsigned (normal for open-source projects). Your OS may show security warnings - choose "Run anyway" or similar. Verify using SHA256SUMS if needed.

Option 2: Portable JAR File

Download: robocode-tankroyale-gui-0.40.1.jar

Running: java -jar robocode-tankroyale-gui-0.40.1.jar

πŸ“ Tip: Create a dedicated folder for better organization. See GUI documentation for details.

πŸ€– Sample Bots

Download pre-built bots to start battling immediately:

  1. Download the archive for your preferred language
  2. Extract to a directory (e.g., C:\Robocode\bots\python)
  3. In GUI: Config β†’ Bot Root Directories β†’ Add the extracted directory
Language Download Requirements
🐍 Python sample-bots-python-0.40.1.zip Python 3.10 or newer
πŸ”· C# sample-bots-csharp-0.40.1.zip Microsoft .NET SDK 8 or newer
β˜• Java sample-bots-java-0.40.1.zip Any Java SDK 11 or newer

πŸ“¦ Bot API

Ready to develop your own bots? Install the API for your preferred language:

🐍 Python

pip install robocode-tank-royale==0.40.1

β˜• Java

Maven:

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

Gradle:

implementation 'dev.robocode.tankroyale:robocode-tankroyale-bot-api:0.40.1'

Direct JAR: robocode-tankroyale-bot-api-0.40.1.jar

πŸ”· .NET (C#, F#, VB.NET)

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

More info: robocode.dev/api | PyPI | Maven Central | NuGet

πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects!

Download & Installation: Sounds Repository

Follow the repository instructions to install sounds in the correct location.

πŸ“š Additional Resources