Skip to content

Releases: robocode-dev/tank-royale

0.34.3

09 Jan 21:39

Choose a tag to compare

0.34.3 Pre-release
Pre-release

πŸ“¦ 0.34.3 - GUI Bot Console Performance Improvements

πŸš€ Improvements

  • GUI:
    • Improved performance of the bot console and server log windows under heavy logging.
    • Added batched updates to reduce UI freezes when bots or the server produce a high volume of output.
    • Introduced bounded retention to prevent the console from consuming too much memory and becoming slow over
      time.
    • Added a new configuration setting console-max-characters (default: 10,000) to control the maximum amount of
      text retained in each console window.
      • How to configure:
        • Open the Config -> GUI Options menu in the GUI.
        • Adjust the Console max characters value and click OK to save.
    • Bot Events Panel:
      • Optimized logging to only include events for the current game turn.
      • Improved event dumping to include all relevant events for the monitored bot, including TickEvent.
      • Enhanced formatting of event data with consistent indentation and ANSI colors.
      • Grouped bulletState entries under a bulletStates header for better readability in TickEvent.
  • Other:
    • Replaced Proguard with R8 which is now the default code shrinker for Java projects.

πŸš€ Quick Start

New to Robocode Tank Royale? Follow these steps to get started:

  1. Install Java 11 or newer – Required to run Robocode
  2. Download and install the GUI – Choose between native installer or JAR file (see below)
  3. Download sample bots – Get pre-built bots to try out immediately
  4. Run your first battle – Launch the GUI and start battling!

For detailed guidance, see the [Getting Started] guide and [My First Bot tutorial].


πŸ“„ Documentation

The complete Robocode Tank Royale documentation is available at:
https://robocode-dev.github.io/tank-royale/

Recommended reading order:

  • [Getting Started] – Learn the basics
  • [Installation guide] – Detailed setup instructions
  • [My First Bot tutorial] – Build your first bot
  • [GUI documentation] – Master the user interface

πŸ›  Installing Robocode

Requirements

  • Java 11 or newer is required to run Robocode Tank Royale
  • We recommend using the latest Java version for best performance
  • Download Java from the official Oracle website or use [OpenJDK]

πŸ“– See the [installation guide] for detailed instructions on installing Java and setting up Robocode.

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)

Native installers provide the easiest installation experience. The GUI will be registered with your operating system,
allowing you to launch it from your application menu or desktop shortcut.

Download for your platform:

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

System Requirements:

⚠️ Important: Unsigned Installers

The native installers are not code-signed with platform certificates. This is normal for open-source projects.
Your operating system may display security warnings when installing β€” see the instructions below for your platform.

You can verify installer authenticity using the [SHA256SUMS] and [SHA256SUMS.asc] files provided with this release.

Installation Steps:

πŸͺŸ Windows (MSI)
  1. Download the .msi file
  2. Double-click to run the installer
  3. If Windows SmartScreen appears ("Windows protected your PC"):
    • Click "More info"
    • Click "Run anyway"
  4. If prompted by User Account Control (UAC), click "Yes"
  5. Follow the installation wizard
🍎 macOS (PKG)
  1. Download the .pkg file
  2. Double-click to run the installer
  3. If macOS Gatekeeper blocks it ("cannot be opened because it is from an unidentified developer"):
    • Open System Settings β†’ Privacy & Security
    • Scroll down and click "Open Anyway" next to the blocked installer
    • Or: Right-click the .pkg file and select "Open", then click "Open" in the dialog
    • Or: Run in Terminal: xattr -d com.apple.quarantine robocode-tank-royale-gui-0.34.3.pkg
  4. Enter your administrator password when prompted
  5. Follow the installation wizard
🐧 Linux (RPM/DEB)

RPM (Fedora/CentOS/RHEL):

sudo dnf install ./robocode-tank-royale-gui-0.34.3.x86_64.rpm
# or
sudo rpm -ivh robocode-tank-royale-gui-0.34.3.x86_64.rpm

DEB (Debian/Ubuntu):

sudo apt install ./robocode-tank-royale-gui_0.34.3_amd64.deb
# or
sudo dpkg -i robocode-tank-royale-gui_0.34.3_amd64.deb

Note: Linux packages may show warnings about being unsigned. This is normal for community-distributed software.

After installation, find Robocode Tank Royale GUI in your application menu/launcher and start battling!


Option 2: Portable JAR File

For users who prefer a portable installation or want more control, you can download the GUI as a standalone JAR file.

Download:

Platform Download
All [robocode-tankroyale-gui-0.34.3.jar]

System Requirements:

  • Java 11 or newer must be installed and available on your system PATH

Running the GUI:

Open a terminal (or command prompt on Windows) and run:

java -jar robocode-tankroyale-gui-0.34.3.jar

πŸ’‘ Pro Tips for Better Organization:

Create a dedicated directory for Robocode (e.g., C:\Robocode or ~/Robocode) and place the JAR file there. Then
create a launcher script for easy access:

Windows (run-robocode.bat):

@echo off
java -jar robocode-tankroyale-gui-0.34.3.jar

Linux/macOS (run-robocode.sh):

#!/bin/sh
java -jar robocode-tankroyale-gui-0.34.3.jar

Make the script executable on Linux/macOS:

chmod +x run-robocode.sh

Why use a dedicated directory?

  • Robocode automatically creates configuration files in the same directory as the JAR
  • Makes it easy to manage settings, logs, and optional resources (like the sounds/ folder)
  • Keeps your system organized with all Robocode files in one place

For more details on using the GUI, see the [GUI documentation].


πŸ€– Sample Bots

To start battling immediately, download pre-built sample bots. These bots demonstrate different strategies and
programming styles.

How to install sample bots:

  1. Download the sample bots archive for your preferred language(s)
  2. Extract the archive to a directory on your system (e.g., C:\Robocode\bots\python or ~/robocode/bots/python)
  3. In the GUI, go to Config β†’ Bot Root Directories and add the extracted directory
  4. The bots will now appear in your bot list!

Available sample bots:

Language Download Requirements
🐍 Python [sample-bots-python-0.34.3.zip] [Python] 3.10 or newer
πŸ”· C# [sample-bots-csharp-0.34.3.zip] Microsoft [.NET SDK] 8 or newer
β˜• Java [sample-bots-java-0.34.3.zip] Any [Java SDK] 11 or newer

πŸ“ Each archive contains a README.md file with platform-specific instructions.


πŸ“¦ Bot API

Ready to develop your own bots? Choose your preferred programming language and install the corresponding Bot API.

🐍 Python

Install via pip:

pip install robocode-tank-royale==0.34.3

Or download from Python Package Index (PyPI)

β˜• Java

Option 1: Maven (recommended)
Add to your pom.xml:

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

Option 2: Gradle
Add to your build.gradle:

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

Option 3: Direct JAR download

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

Install via NuGet Package Manager:

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

Or browse: NuGet repository


πŸ”Š Sound Effects

Enhance your Robocode experience with sound effects! Sound files are available separately from the main distribution.

Download: Sounds Repository

Installation:

  1. Visit the sounds repository linked above
  2. Follow the installation instructions to place the sounds/ di...
Read more

0.34.2

08 Jan 20:57

Choose a tag to compare

πŸ“¦ 0.34.2 - Added native installer packages for GUI – 25-Dec-2025

Native installer packages for the GUI have been added for Windows, Linux, and macOS. These packages might still be early
days. If you find any issues, please report them on the
issue tracker.
These packages still require Java 11 or higher to be installed on your system, but they make it easier to install,
uninstall, and run Robocode Tank Royale.
You can still download the JAR version as usual, which works on all platforms with Java 11 or higher installed.

πŸ”§ Changes

  • Replaced Picocli for Clikt for the server, booter, and recorder.

🐞 Bug Fixes

  • #178: Fix .sh scripts to use java instead of javaw
  • Fixed a major bug with the Server, Booter, and Recorder where the application ran when --info or --help was passed
    as a command line argument.

πŸš€ Improvements

  • Bot API for C#/.NET:

    • Updated to the newest dependencies.
  • GUI:

    • Added native installer packages for the GUI (Windows MSI, macOS PKG, Linux RPM, and DEB).
      • Note: Java 11+ is required and the runtime must be discoverable via the JAVA_HOME environment variable. See
        the installation documentation for platform-specific instructions.

πŸš€ Quick Start

New to Robocode Tank Royale? Follow these steps to get started:

  1. Install Java 11 or newer – Required to run Robocode
  2. Download and install the GUI – Choose between native installer or JAR file (see below)
  3. Download sample bots – Get pre-built bots to try out immediately
  4. Run your first battle – Launch the GUI and start battling!

For detailed guidance, see the [Getting Started] guide and [My First Bot tutorial].


πŸ“„ Documentation

The complete Robocode Tank Royale documentation is available at:
https://robocode-dev.github.io/tank-royale/

Recommended reading order:

  • [Getting Started] – Learn the basics
  • [Installation guide] – Detailed setup instructions
  • [My First Bot tutorial] – Build your first bot
  • [GUI documentation] – Master the user interface

πŸ›  Installing Robocode

Requirements

  • Java 11 or newer is required to run Robocode Tank Royale
  • We recommend using the latest Java version for best performance
  • Download Java from the official Oracle website or use [OpenJDK]

πŸ“– See the [installation guide] for detailed instructions on installing Java and setting up Robocode.

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)

Native installers provide the easiest installation experience. The GUI will be registered with your operating system,
allowing you to launch it from your application menu or desktop shortcut.

Download for your platform:

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

System Requirements:

⚠️ Important: Unsigned Installers

The native installers are not code-signed with platform certificates. This is normal for open-source projects.
Your operating system may display security warnings when installing β€” see the instructions below for your platform.

You can verify installer authenticity using the [SHA256SUMS] and [SHA256SUMS.asc] files provided with this release.

Installation Steps:

πŸͺŸ Windows (MSI)
  1. Download the .msi file
  2. Double-click to run the installer
  3. If Windows SmartScreen appears ("Windows protected your PC"):
    • Click "More info"
    • Click "Run anyway"
  4. If prompted by User Account Control (UAC), click "Yes"
  5. Follow the installation wizard
🍎 macOS (PKG)
  1. Download the .pkg file
  2. Double-click to run the installer
  3. If macOS Gatekeeper blocks it ("cannot be opened because it is from an unidentified developer"):
    • Open System Settings β†’ Privacy & Security
    • Scroll down and click "Open Anyway" next to the blocked installer
    • Or: Right-click the .pkg file and select "Open", then click "Open" in the dialog
    • Or: Run in Terminal: xattr -d com.apple.quarantine robocode-tank-royale-gui-0.34.2.pkg
  4. Enter your administrator password when prompted
  5. Follow the installation wizard
🐧 Linux (RPM/DEB)

RPM (Fedora/CentOS/RHEL):

sudo dnf install ./robocode-tank-royale-gui-0.34.2.x86_64.rpm
# or
sudo rpm -ivh robocode-tank-royale-gui-0.34.2.x86_64.rpm

DEB (Debian/Ubuntu):

sudo apt install ./robocode-tank-royale-gui_0.34.2_amd64.deb
# or
sudo dpkg -i robocode-tank-royale-gui_0.34.2_amd64.deb

Note: Linux packages may show warnings about being unsigned. This is normal for community-distributed software.

After installation, find Robocode Tank Royale GUI in your application menu/launcher and start battling!


Option 2: Portable JAR File

For users who prefer a portable installation or want more control, you can download the GUI as a standalone JAR file.

Download:

Platform Download
All [robocode-tankroyale-gui-0.34.2.jar]

System Requirements:

  • Java 11 or newer must be installed and available on your system PATH

Running the GUI:

Open a terminal (or command prompt on Windows) and run:

java -jar robocode-tankroyale-gui-0.34.2.jar

πŸ’‘ Pro Tips for Better Organization:

Create a dedicated directory for Robocode (e.g., C:\Robocode or ~/Robocode) and place the JAR file there. Then
create a launcher script for easy access:

Windows (run-robocode.bat):

@echo off
java -jar robocode-tankroyale-gui-0.34.2.jar

Linux/macOS (run-robocode.sh):

#!/bin/sh
java -jar robocode-tankroyale-gui-0.34.2.jar

Make the script executable on Linux/macOS:

chmod +x run-robocode.sh

Why use a dedicated directory?

  • Robocode automatically creates configuration files in the same directory as the JAR
  • Makes it easy to manage settings, logs, and optional resources (like the sounds/ folder)
  • Keeps your system organized with all Robocode files in one place

For more details on using the GUI, see the [GUI documentation].


πŸ€– Sample Bots

To start battling immediately, download pre-built sample bots. These bots demonstrate different strategies and
programming styles.

How to install sample bots:

  1. Download the sample bots archive for your preferred language(s)
  2. Extract the archive to a directory on your system (e.g., C:\Robocode\bots\python or ~/robocode/bots/python)
  3. In the GUI, go to Config β†’ Bot Root Directories and add the extracted directory
  4. The bots will now appear in your bot list!

Available sample bots:

Language Download Requirements
🐍 Python [sample-bots-python-0.34.2.zip] [Python] 3.10 or newer
πŸ”· C# [sample-bots-csharp-0.34.2.zip] Microsoft [.NET SDK] 8 or newer
β˜• Java [sample-bots-java-0.34.2.zip] Any [Java SDK] 11 or newer

πŸ“ Each archive contains a README.md file with platform-specific instructions.


πŸ“¦ Bot API

Ready to develop your own bots? Choose your preferred programming language and install the corresponding Bot API.

🐍 Python

Install via pip:

pip install robocode-tank-royale==0.34.2

Or download from Python Package Index (PyPI)

β˜• Java

Option 1: Maven (recommended)
Add to your pom.xml:

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

Option 2: Gradle
Add to your build.gradle:

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

Option 3: Direct JAR download

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

Install via NuGet Package Manager:

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

Or browse: NuGet repository


##...

Read more

0.34.1

07 Dec 21:25

Choose a tag to compare

πŸ“¦ 0.34.1 - Fixes on_death in Python Bot API and GUI improvements – 14-Nov-2025

πŸš€ Improvements

  • GUI

    • #174: Prevent overwriting UI scale property (sun.java2d.uiScale) for high DPI displays if already set (via
      command line). Thanks goes to David Martinez PeΓ±a πŸ‘
      • Fixed for the sun.java2d.d3d and sun.java2d.opengl as well.
  • Updated the devcontainer so it uses the current and full tech stack necessary to build all of Robocode Tank Royale.

🐞 Bug Fixes

  • Bot API for Python:
    • The on_death() event handler is now called when the bot dies.

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You
should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI which is a Java application. You can read about how to use the
GUI here.

The Robocode GUI is run from the command line (shell or command prompt) in order to start and view
battles:

java -jar robocode-tankroyale-gui-0.34.1.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
Python sample-bots-python-0.34.1.zip Python 3.10 or newer
C# sample-bots-csharp-0.34.1.zip Microsoft .NET SDK 8 or newer
Java sample-bots-java-0.34.1.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Python:

Available as:

πŸ“¦ Java:

Available as:

πŸ“¦ .NET:

Available as:

0.34.0

19 Oct 18:01

Choose a tag to compare

πŸ“¦ 0.34.0 – Python Support + GUI Improvements – 19-Oct-2025

The Python Bot API, sample bots, and documentation are now complete. πŸŽ‰
We also added Spanish, Catalan/Valencian, and Danish translations. New translations are always welcome!
Additionally, we introduced UI improvements such as UI scaling and a volume slider in the options.

πŸš€ Improvements

  • Bot API

    • #128: Python Bot API + sample bots.
      • A huge thank-you, Yang Li for the tremendous effort in making this a reality! ❀️
    • .NET version has been updated to .NET 8 and C# 12.
  • GUI

    • #168: Added GUI Options dialog with a UI scale setting (100%, 125%, 150%, 175%, 200%, 250%, 300%).
    • #168: Applied full-UI HiDPI scaling using the JVM property sun.java2d.uiScale, based on the saved setting.
    • Added volume slider in the Sound Options dialog.
    • #169: Added Spanish and Catalan/Valencian translations.
      • Thank you, David Martinez PeΓ±a, for contributing the first translations everβ€”and for helping test the Python API! ❀️
    • Added Danish translations as well.
    • Added an option to switch between Spanish, English, and Danish in the GUI Options dialog.

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You
should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI which is a Java application. You can read about how to use the
GUI here.

The Robocode GUI is run from the command line (shell or command prompt) in order to start and view
battles:

java -jar robocode-tankroyale-gui-0.34.0.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
Python sample-bots-python-0.34.0.zip Python 3.10 or newer
C# sample-bots-csharp-0.34.0.zip Microsoft .Net SDK 8 or newer
Java sample-bots-java-0.34.0.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Python:

Available as:

πŸ“¦ Java:

Available as:

πŸ“¦ .Net:

Available as:

0.33.1

08 Sep 19:38

Choose a tag to compare

πŸ“¦ 0.33.1 - Fixes for Recording and Replays - 08-Sep-2025

🐞 Bug Fixes

  • Maven Central:
    • Fixed the names of the artifacts in the Maven Central repository, which were lacking the robocode-tankroyale
      prefix.
  • GUI:
    • #162: Corrected the order of death indicators (skulls) to accurately reflect in-game events.
    • Auto-Record Bug Fix: Resolved an issue where battles were still being recorded after disabling the auto-record
      feature.

πŸš€ Improvements

  • GUI:
    • #165: Enhanced "πŸ”΄REC" Indicator: Improved the visual design of the recording indicator for better clarity and user
      experience.

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI which is a Java application. You can read about how to use the GUI here.

The Robocode GUI is run from the command line (shell or command prompt) in order to start and view
battles:

java -jar robocode-tankroyale-gui-0.33.1.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.33.1.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.33.1.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Java:

Available as:

πŸ“¦ .Net:

Available as:

0.33.0

06 Sep 21:00

Choose a tag to compare

πŸ“¦ 0.33.0 - Added Recording and Replays - 06-Sep-2025

This version adds support for recording and replaying battles (#55: Game replays). All credits go
to Jan Durovec for implementing this cool feature! 🀩

The new recording and replay functionality allows you to:

  • Record battles and save them for later replay
  • View the replay timeline and seek to specific points in time
  • See skull markers on the timeline indicating when bots were killed
  • Study the standard output from bots in their console windows
  • Inspect bot properties and events at any point during the battle

This feature is particularly useful for:

  • Debugging bot behavior
  • Analyzing past battles in detail
  • Learning from recorded matches

πŸš€ Improvements

  • Server and GUI:

    • Add support for enabling/disabling server secrets in GUI and server. Server secrets will be disabled by default.
      In earlier versions, the server secrets were enabled by default, which could be annoying when you want to test
      your bots without having to worry about the server secrets.
  • Recorder:

    • #55: A new recorder application was added, which is a command-line tool for recording battles.
  • GUI:

    • #159: Replay feature added.
    • #160: Added replay timeline and allow seeking.
    • #161: Updated round/turn indicator in the arena panel.

⚠️ Breaking Changes

  • GUI:
    • The GUI configuration file has been renamed from config.properties to gui.properties. If you have a local
      config.properties, rename it to gui.properties to retain your settings.
    • The game type setup file has been renamed from games.properties to game-setups.properties. Rename your
      existing file to game-setups.properties to preserve custom setups.

🐞 Bug Fixes

  • Server, Booter, Recorder:

    • Got rid of WARNING: A restricted method in java.lang.System has been called when running with Java 22 or later.
  • Booter:

    • Bots could not be booted on Linux. Thanks goes to Yang Li for fixing this. ❀️

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI which is a Java application. You can read about how to use the GUI here.

The Robocode GUI is run from the command line (shell or command prompt) in order to start and view
battles:

java -jar robocode-tankroyale-gui-0.33.0.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.33.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.33.0.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Java:

Available as:

πŸ“¦ .Net:

Available as:

0.32.1

01 Jul 22:31

Choose a tag to compare

πŸ“¦ 0.32.1 - No need of default constructor - 01-Jul-2025

πŸš€ Improvements

  • Bot API:
    • The BaseBot() constructor (instead of Bot() constructor) now automatically searches for the bot config file ( .json) and falls back on using environment variables if the config file could not be found.
    • The sample bots could not start up due to this issue.

🐞 Bug Fixes

  • Booter
    • Fixed the escaping issue with double backslash characters.
  • Sample Bot:
    • Fixed a bug in TrackFire.cs where the turret misaligned while attempting to lock onto a target, causing it to oscillate erratically during target acquisition.

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI Application which is a Java application. You can read about how to use the GUI Application here.

The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:

java -jar robocode-tankroyale-gui-0.32.1.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.32.1.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.32.1.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Java:

Available as:

πŸ“¦ .Net:

Available as:

0.32.0

24 Jun 21:01

Choose a tag to compare

πŸ“¦ 0.32.0 - Added Booter Error Log - 24-Jun-2025

This version makes it easier to figure out why a bot will not boot from a bot directory.

πŸš€ Improvements

  • Booter:

    • The Booter now logs errors to standard error. Each error is recorded with the name of the bot directory in which the error occurred.
  • GUI:

    • When booting one or more bots that crash with an error, the error is written to a Booter Error Log window. This window automatically appears and displays the detected errors for each bot directory that caused an error.
  • Bot API:

    • The Bot() constructor now automatically searches for the bot config file (.json) and falls back on using environment variables if the config file could not be found.
    • Due to this change, the Bot() constructor has been removed from all sample bots.

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI Application which is a Java application. You can read about how to use the GUI Application here.

The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:

java -jar robocode-tankroyale-gui-0.32.0.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.32.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.32.0.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Java:

Available as:

πŸ“¦ .Net:

Available as:

0.31.0

19 Jun 20:50

Choose a tag to compare

πŸ“¦ 0.31.0 - Improved Graphical Debugging - 19-Jun-2025

⚠️ Breaking Changes

Bot API Updates

If you are using Color and the getGraphics() method or Graphics property, you may need to update your bot(s).

Changes Implemented:

  • Platform-specific graphics classes and external graphics libraries, such as those for SVG, have been replaced with the following classes:
    • IGraphics
    • SvgGraphics
    • Color
    • Point

Reasons for Changes:

  • Simplify the development and maintenance of the debugging graphics feature.
  • Avoid using platform-specific features and frameworks that are not compatible across all platforms and operating systems.
  • Enhance the speed of SVG serialization, reduce RAM usage, and decrease distribution archive sizes.
  • Standardize the API for debug painting across all Bot APIs (Java, .Net, Python, etc.).

Specific Updates:

  • Java: A new package dev.robocode.tankroyale.botapi.graphics has been introduced.
  • .Net: A new namespace Robocode.TankRoyale.BotApi.Graphics has been introduced.

Additional Information:

  • Sample bots have been updated to use the new classes.

🐞 Bug Fixes

  • BotAPI:
    • #143: .NET bot fails to start with no or invalid country code.
    • #144: .NET bots run only on Windows since 0.30.0.
      • SvgNet requires System.Drawing, which is not available on Linux and macOS. Hence, the new Robocode specific IGraphics interface must be used instead.
    • Fixed the generated bot Bash scripts for .Net so dotnet build will be called if the bin folder is missing.
  • GUI:
    • Fixed multiple issues with the "No bot directory root has been configured" error dialog.

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI Application which is a Java application. You can read about how to use the GUI Application here.

The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view battles:

java -jar robocode-tankroyale-gui-0.31.0.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.31.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.31.0.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Java:

Available as:

πŸ“¦ .Net:

Available as:

0.30.2

02 Jun 19:47
e8f0f84

Choose a tag to compare

πŸ“¦ 0.30.2 - GUI auto-scales the Battle View - 02-Jun-2025

πŸš€ Improvements

  • GUI:
    • The GUI now automatically scales the battle view when it’s first displayed and adjusts it dynamically as the window is resized.
    • Thanks to Jan Durovec for this nice improvement. ❀️

🐞 Bug Fixes

  • Server:
    • #132: Fixed several race conditions and synchronization issues on the server side.
  • BotAPI / Sample Bots:
    • Fixed issue where the Fire sample bot did not lock the radar on its target.
  • Sample Bots:
    • The Fire and MyFirstBot sample bot did not turn perpendicular to the bullet direction anymore, and the RamFire did not drive directly towards its target.
  • Documentation:
    • #136: The turn timeout and ready timeout were incorrectly specified in milliseconds instead of microseconds. 1 millisecond = 1/1,000 of a second, where 1 microsecond = 1/1,000,000 of a second

πŸ“„ Documentation

You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.

πŸ”¨ Try it out

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

πŸ›  Installing Robocode

You need Java 11 as a minimum or newer, e.g. the newest version of Java available.

You can read the installation guide to get more details about installing both Java and Robocode.

β–Ά Running Robocode

The main application is the GUI Application which is a Java application. You can read about how to use the GUI Application here.

The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:

java -jar robocode-tankroyale-gui-0.30.2.jar

πŸ€– Sample bots

If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β†’ Bot Root Directories

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.30.2.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.30.2.zip Any Java SDK 11 or newer

All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.

πŸ“¦ Bot API

In order to start developing bots for Robocode, the following APIs are available.

πŸ“¦ Java:

Available as:

πŸ“¦ .Net:

Available as: