Skip to content

1.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Oct 19:30
· 140 commits to main since this release

[1.4.0] - 2026-10-01 - Batched team messages

✨ Features

  • Bot API (Java, .NET, Python, TypeScript): Added ordered TeamMessageBatch APIs for broadcast and directed team messages. A batch is delivered as one event on the next turn. Team messages from the same turn are handled in the order they were sent, do not count toward the 256-event queue limit, and are discarded once older than two turns.
  • Server and Bot APIs: Accepted up to 64 team-message packets and 128 logical payloads per bot per turn, with a 48 KiB UTF-8 limit per encoded packet and a 256 KiB UTF-8 limit for the compact teamMessages array. Invalid client calls fail before enqueue; invalid server intents are rejected as a whole. Messages to a teammate that has left the game are dropped without disconnecting the sender.
  • Server: Added batch protocol version 1 to bot handshakes. A sender can use batches only when every recipient advertises support.
  • Bot API (Java, .NET, Python, TypeScript): Added optional BotInfo.teamMemberName metadata for full team-addressing names and getBotName(botId) lookup for the bot itself and teammates.
  • Protocol and Server: Added an optional botNames map to game-started-event-for-bot. The server uses selected roster order for duplicate suffixes and omits opponent names.

📚 Documentation

  • Documented batch usage and the count, byte, delivery, compatibility, and rejection rules across the Bot APIs and protocol references.

🐞 Bug Fixes

  • Server:
    • Corrected team survival scoring so only opponents earn points for a bot's death and every living member of the last team receives the last-survivor bonus.
    • Fixed observer results omitting a bot or team when their IDs and scores tied.
    • Fixed a long-standing turn-scheduling race that could cause turns to be skipped when bots responded while the next-turn timer was being re-armed, and corrected pacing so server processing time and late wake-ups do not compound.

Robocode Tank Royale 1.4.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.4.0.msi
🍎 macOS robocode-tank-royale-gui-1.4.0.pkg
🐧 Linux robocode-tank-royale-gui-1.4.0.rpm (RPM) / robocode-tank-royale-gui-1.4.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.4.0.jar

Running: java -jar robocode-tankroyale-gui-1.4.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.4.0.zip Python 3.10 or newer with venv
🔷 C# sample-bots-csharp-1.4.0.zip Microsoft .NET SDK 8 or newer
☕ Java sample-bots-java-1.4.0.zip Any Java SDK 11 or newer
🟦 TypeScript sample-bots-typescript-1.4.0.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.4.0

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.4.0</version>
</dependency>

Gradle:

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

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

🔷 .NET (C#, F#, VB.NET)

dotnet add package Robocode.TankRoyale.BotApi --version 1.4.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