Releases: robocode-dev/tank-royale
0.34.3
π¦ 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 Optionsmenu in the GUI. - Adjust the
Console max charactersvalue and clickOKto save.
- Open the
- How to configure:
- 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
bulletStateentries under abulletStatesheader for better readability inTickEvent.
- 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:
- Install Java 11 or newer β Required to run Robocode
- Download and install the GUI β Choose between native installer or JAR file (see below)
- Download sample bots β Get pre-built bots to try out immediately
- 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:
- Native Installers (Recommended) β Installs as a native application with desktop shortcuts
- 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:
- Java 11 or newer must be installed
- The
JAVA_HOMEenvironment variable must be set to your Java installation directory- Need help? Read this article from Baeldung:
How to Set JAVA_HOME on Windows, macOS, and Linux
- Need help? Read this article from Baeldung:
β οΈ Important: Unsigned InstallersThe 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)
- Download the
.msifile - Double-click to run the installer
- If Windows SmartScreen appears ("Windows protected your PC"):
- Click "More info"
- Click "Run anyway"
- If prompted by User Account Control (UAC), click "Yes"
- Follow the installation wizard
π macOS (PKG)
- Download the
.pkgfile - Double-click to run the installer
- 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
.pkgfile 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
- Enter your administrator password when prompted
- 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.rpmDEB (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.debNote: 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.jarLinux/macOS (run-robocode.sh):
#!/bin/sh
java -jar robocode-tankroyale-gui-0.34.3.jarMake the script executable on Linux/macOS:
chmod +x run-robocode.shWhy 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:
- Download the sample bots archive for your preferred language(s)
- Extract the archive to a directory on your system (e.g.,
C:\Robocode\bots\pythonor~/robocode/bots/python) - In the GUI, go to Config β Bot Root Directories and add the extracted directory
- 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.3Or 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
- Download: [robocode-tankroyale-bot-api-0.34.3.jar]
- Or
browse: Maven Central Repository
π· .NET (C#, F#, VB.NET)
Install via NuGet Package Manager:
dotnet add package Robocode.TankRoyale.BotApi --version 0.34.3Or 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:
- Visit the sounds repository linked above
- Follow the installation instructions to place the
sounds/di...
0.34.2
π¦ 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
javainstead ofjavaw - Fixed a major bug with the Server, Booter, and Recorder where the application ran when
--infoor--helpwas 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_HOMEenvironment variable. See
the installation documentation for platform-specific instructions.
- Note: Java 11+ is required and the runtime must be discoverable via the
- Added native installer packages for the GUI (Windows MSI, macOS PKG, Linux RPM, and DEB).
π Quick Start
New to Robocode Tank Royale? Follow these steps to get started:
- Install Java 11 or newer β Required to run Robocode
- Download and install the GUI β Choose between native installer or JAR file (see below)
- Download sample bots β Get pre-built bots to try out immediately
- 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:
- Native Installers (Recommended) β Installs as a native application with desktop shortcuts
- 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:
- Java 11 or newer must be installed
- The
JAVA_HOMEenvironment variable must be set to your Java installation directory- Need help? Read this article from Baeldung:
How to Set JAVA_HOME on Windows, macOS, and Linux
- Need help? Read this article from Baeldung:
β οΈ Important: Unsigned InstallersThe 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)
- Download the
.msifile - Double-click to run the installer
- If Windows SmartScreen appears ("Windows protected your PC"):
- Click "More info"
- Click "Run anyway"
- If prompted by User Account Control (UAC), click "Yes"
- Follow the installation wizard
π macOS (PKG)
- Download the
.pkgfile - Double-click to run the installer
- 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
.pkgfile 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
- Enter your administrator password when prompted
- 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.rpmDEB (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.debNote: 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.jarLinux/macOS (run-robocode.sh):
#!/bin/sh
java -jar robocode-tankroyale-gui-0.34.2.jarMake the script executable on Linux/macOS:
chmod +x run-robocode.shWhy 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:
- Download the sample bots archive for your preferred language(s)
- Extract the archive to a directory on your system (e.g.,
C:\Robocode\bots\pythonor~/robocode/bots/python) - In the GUI, go to Config β Bot Root Directories and add the extracted directory
- 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.2Or 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
- Download: [robocode-tankroyale-bot-api-0.34.2.jar]
- Or
browse: Maven Central Repository
π· .NET (C#, F#, VB.NET)
Install via NuGet Package Manager:
dotnet add package Robocode.TankRoyale.BotApi --version 0.34.2Or browse: NuGet repository
##...
0.34.1
π¦ 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.d3dandsun.java2d.openglas well.
- Fixed for the
- #174: Prevent overwriting UI scale property (
-
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:
- Python package at the Python Package Index (PyPI)
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.34.1.jar
- Maven package at
the Maven Central Repository
π¦ .NET:
Available as:
- NuGet package at the NuGet repository
0.34.0
π¦ 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
-
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.- Thanks to David Martinez PeΓ±a for proposing the solution that made this possible. πͺ
- 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:
- Python package at the Python Package Index (PyPI)
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.34.0.jar
- Maven package at the Maven Central Repository
π¦ .Net:
Available as:
- NuGet package at the NuGet repository
0.33.1
π¦ 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.
- Fixed the names of the artifacts in the Maven Central repository, which were lacking the
- 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.
- #165: Enhanced "π΄REC" Indicator: Improved the visual design of the recording indicator for better clarity and user
π 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:
- Jar file: robocode-tankroyale-bot-api-0.33.1.jar
- Artifact at Maven Central Repository
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.33.0
π¦ 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.
- Add support for enabling/disabling server secrets in GUI and server. Server secrets will be disabled by default.
-
Recorder:
- #55: A new recorder application was added, which is a command-line tool for recording battles.
-
GUI:
β οΈ Breaking Changes
- GUI:
- The GUI configuration file has been renamed from
config.propertiestogui.properties. If you have a local
config.properties, rename it togui.propertiesto retain your settings. - The game type setup file has been renamed from
games.propertiestogame-setups.properties. Rename your
existing file togame-setups.propertiesto preserve custom setups.
- The GUI configuration file has been renamed from
π Bug Fixes
-
Server, Booter, Recorder:
- Got rid of
WARNING: A restricted method in java.lang.System has been calledwhen running with Java 22 or later.
- Got rid of
-
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:
- Jar file: robocode-tankroyale-bot-api-0.33.0.jar
- Artifact at Maven Central Repository
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.32.1
π¦ 0.32.1 - No need of default constructor - 01-Jul-2025
π Improvements
- Bot API:
- The
BaseBot()constructor (instead ofBot()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.
- The
π 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:
- Jar file: robocode-tankroyale-bot-api-0.32.1.jar
- Artifact at Maven Central Repository
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.32.0
π¦ 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.
- The
π 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:
- Jar file: robocode-tankroyale-bot-api-0.32.0.jar
- Artifact at Maven Central Repository
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.31.0
π¦ 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:
IGraphicsSvgGraphicsColorPoint
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.graphicshas been introduced. - .Net: A new namespace
Robocode.TankRoyale.BotApi.Graphicshas 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 specificIGraphicsinterface must be used instead.
- SvgNet requires
- Fixed the generated bot Bash scripts for .Net so
dotnet buildwill be called if thebinfolder 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:
- Jar file: robocode-tankroyale-bot-api-0.31.0.jar
- Artifact at Maven Central Repository
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.30.2
π¦ 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
FireandMyFirstBotsample bot did not turn perpendicular to the bullet direction anymore, and the RamFire did not drive directly towards its target.
- The
- Documentation:
- #136: The turn timeout and ready timeout were incorrectly specified in
millisecondsinstead of microseconds. 1 millisecond = 1/1,000 of a second, where 1 microsecond = 1/1,000,000 of a second
- #136: The turn timeout and ready timeout were incorrectly specified in
π 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:
- Jar file: robocode-tankroyale-bot-api-0.30.2.jar
- Artifact at Maven Central Repository
π¦ .Net:
Available as:
- Artifact at Nuget repository