Skip to content

1.0.0

Choose a tag to compare

@github-actions github-actions released this 03 May 15:21
· 431 commits to main since this release

[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