Skip to content

Releases: robocode-dev/tank-royale

0.29.0

19 Jan 15:09
Compare
Choose a tag to compare

πŸ“¦ 0.29.0 - All about colors - 19-Jan-2024

This version causes a breaking change for the Color class. The Color class was removed and replaced with the Color class used with the used platform (Java or C#).

πŸš€ Improvements

  • Server:
    • Replaced SLF4J's SimpleLogger with own implementation based on the SLF4J API to provide ANSI colors on log levels.
  • Bot API:
    • Replaced using Robocode's Color class with java.awt.Color for Java and System.Drawing.Color for C#.
  • Sample Bots:
    • Updated to use the Color class from the used platform (Java or C#).

πŸ“„ 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.29.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.29.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.29.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.28.1

01 Jan 14:33
Compare
Choose a tag to compare

πŸ“¦ 0.28.1 - Fixed Survival Scores

🐞 Bug Fixes

  • Server:
    • #122: Fixed the scoring issue with Survival Score and Last Survivor Bonus, which became too large after multiple rounds.
    • The server now only listens to the wildcard IP address (0.0.0.0), meaning it will listen on all available network interfaces for the specified port (IPv4 and IPv6) on the system.

πŸ“„ 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.28.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.28.1.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.28.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.28.0

21 Dec 20:24
Compare
Choose a tag to compare

πŸ“¦ 0.28.0 - Inherited Socket Support - 21-Dec-2024

πŸš€ Improvements

  • Server:
    • #115: Inherited Socket Support: You can now start the server with an inherited socket from another process by setting:
      --port=inherit or -p=inherit.
    • Socket Activation: This enables the use of Socket Activation, such as with systemd or xinetd on Linux.
    • Lazy Loading: With socket activation, the server will only start when a client accesses the port for the first time.
    • Setup Guide: A detailed guide for setting up socket activation for the Robocode server is provided here.
    • Acknowledgements: Special thanks to Tobias Zimmermann for bringing this feature to Robocode! ❀️
    • Java WebSocket: Gratitude to Marcel Prestel for providing and maintaining the excellent Java WebSocket library, making WebSockets accessible for small stand-alone Java applications without the need for a traditional server. πŸ†

🐞 Bug Fixes

  • Bot API:
    • The internal event handling for state updates in the Bot API is now separated from bot event queue handling.
      Internal events are processed immediately, while bot events are eventually processed through the event queue,
      if at all.

πŸ“„ 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.28.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.28.0.zip Microsoft [.Net SDK] 6.0 or newer
Java sample-bots-java-0.28.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.27.0

02 Dec 20:09
Compare
Choose a tag to compare

πŸ“¦ 0.27.0 - Lots of bug fixes - 02-Dec-2024

This version fixes various issues, some found when running legacy bots with the [Robocode API Bridge].

πŸš€ Improvements

  • Bot API for .Net:
    • Improved performance of event handling by replacing ImmutableList and ImmutableHashSet with List and
      HashSet protected with lock blocks.
  • Bot API for Java:
    • Improved performance of event handling by replacing CopyOnWriteArrayList with
      synchronizedList(new ArrayList<>()).

🐞 Bug Fixes

  • Server:
    • #117: Server process consumed 100% of a CPU core even when the game is paused (due to nano timing).
      • Thank you, Tobias Zimmermann, for spotting and fixing this nasty issue! ❀️
  • Bot API:
    • #1: Wrapped bot throws an exception. Fixes in both
      the Bot API and Robocode API Bridge caused by the Tank
      Royale Bot APIs.
    • #119: Battle was not starting on Windows 11 and 10 after installing Docker Linux subsystem.
    • Bridged bots run multiple threads after round 2 due to old thread(s) hanging that could not be stopped.
    • Bridged bots could not be restarted as they got a connection error with the WebSocket when restarting.
    • .Net bots sometimes exited when running at max speed without any exceptions occurring.

πŸ“„ Documentation

You can read the Robocode Tank Royale documentation here.

πŸ”¨ Try it out

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

β–Ά Running 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.

The main application is the GUI Application which is a Java application.
You can read more 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.27.0.jar

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

πŸ€– Sample bots

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.27.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.27.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.26.1

03 Nov 12:19
Compare
Choose a tag to compare

πŸ“¦ 0.26.1 - Various bug fixes

πŸš€ Improvements

  • Server:
    • When no bullets or functioning bots remain, the round ends immediately as a draw to speed things up.
  • Bot API and schema:
    • The enemyCount field was moved from TickEvent for the bot (tick-event-for-bot) into BotState. This change
      provides an observer with the enemy count for each bot, which is useful for the UI to display the current enemy
      count for a specific bot. This also benefits the properties in the Bot Console.

🐞 Bug Fixes

  • Bot API:
    • Old events was not removed, causing Maximum event queue size has been reached.
  • GUI:
    • The Properties of the Bot Console did not show the correct enemy count for a bot.
  • Server:
    • The enemy count in TickEvent was not calculated correctly for individual bots as well as for team bots.

πŸ“„ Documentation

You can read the Robocode Tank Royale documentation here.

πŸ”¨ Try it out

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

β–Ά Running 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.

The main application is the GUI Application which is a Java application.
You can read more 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.26.1.jar

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

πŸ€– Sample bots

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.26.1.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.26.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.26.0

20 Oct 09:31
Compare
Choose a tag to compare

πŸ“¦ 0.26.0 - Support for remote servers

πŸš€ Improvements

  • GUI:
    • Replaced the Server -> Select Server with Config -> Server Config which makes it possible choose between
      using a local or remote server. In addition, it is possible to add, edit, and remove remote servers, and it is
      possible to specify a controller and a bot secret to allow the GUI and bots to access the remote server.
    • If a booted bot process exits, it is now removed from the active New Battle window.
  • Booter:
    • When a pid of a bot process cannot be found, the Booter writes out a load {pid} to indicate that a process could
      not be found with the provided pid.

🐞 Bug Fixes

  • GUI
    • Control Panel was shown when server was stopped or rebooted.

πŸ“„ Documentation

You can read the Robocode Tank Royale documentation here.

πŸ”¨ Try it out

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

β–Ά Running 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.

The main application is the GUI Application which is a Java application.
You can read more 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.26.0.jar

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

πŸ€– Sample bots

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.26.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.26.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.25.0

11 Oct 17:06
Compare
Choose a tag to compare

πŸ“¦ 0.25.0 - Fix for Ranks and Event Queue improvements - 11-Oct-2024

🐞 Bug Fixes

  • Server:
    • #108: The ranks were wrong as they did not reflect the total score and placements
  • Bot API:
    • An interruptible event was not interrupted when setInterruptible(true) was called. The event queue contained
      more bot events than it should, due to this bug.
    • The event queue and dispatcher was improved so it is closer to the implementation for the original Robocode.

πŸ“„ Documentation

You can read the Robocode Tank Royale documentation here.

πŸ”¨ Try it out

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

β–Ά Running 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.

The main application is the GUI Application which is a Java application.
You can read more 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.25.0.jar

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

πŸ€– Sample bots

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.25.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.25.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.24.4

19 Sep 19:04
Compare
Choose a tag to compare

πŸ“¦ 0.24.4 - Support for IPv6 endpoints

Improvements

  • GUI:
    • Improved the support for IPv6 endpoints.

🐞 Bug Fixes

  • GUI:
    • #96: When starting a battle when a remote server was selected, no window was opened when starting a battle. Now an error message will show up plus the dialog for selecting a (local) server.
  • Server
    • #85: Fixed edge case when crossing the speed of 0, when target speed is 0.

πŸ“„ Documentation

You can read the Robocode Tank Royale documentation here.

πŸ”¨ Try it out

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

β–Ά Running 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.

The main application is the GUI Application which is a Java application.
You can read more 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.24.4.jar

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

πŸ€– Sample bots

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.24.4.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.24.4.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.24.3

26 Aug 20:34
Compare
Choose a tag to compare

πŸ“¦ 0.24.3 - Bugfixes - 26-Aug-2024

🐞 Bug Fixes

  • Server
    • #101: The ServerHandshake now includes the GameSetup containing information about the current game setup.
    • #104: ServerHandshake.version was returning a string with the name of the server + version instead of just the version.

πŸ“„ Documentation

You can read the Robocode Tank Royale documentation here.

πŸ”¨ Try it out

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

β–Ά Running 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.

The main application is the GUI Application which is a Java application.
You can read more 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.24.3.jar

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

πŸ€– Sample bots

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.24.3.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.24.3.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.24.2

22 Aug 20:44
Compare
Choose a tag to compare

πŸ“¦ 0.24.2 - Bugfixes - 22-Aug-2024

πŸš€ Improvements

  • Server:
    • [#101]: The ServerHandshake now includes the GameSetup containing information about the current game setup.
    • [#102]: Double events were sent to observers and controllers from the server.

πŸ“„ Documentation

You can read the Robocode Tank Royale documentation here.

πŸ”¨ Try it out

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

β–Ά Running 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.

The main application is the GUI Application which is a Java application.
You can read more 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.24.2.jar

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

πŸ€– Sample bots

These sample bots are currently available:

Platform Archive Requirements
C# sample-bots-csharp-0.24.2.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.24.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: