Skip to content

Releases: robocode-dev/tank-royale

0.23.0

29 Apr 18:37
Compare
Choose a tag to compare

πŸ“¦ 0.23.0 - Fixing movement bugs in bot APIs - 29-Apr-2024

πŸͺ² Bug Fixes

  • Bot API:
    • #80: Fixed a major bug causing the body, gun, and radar to move in a wrong angle, which could be seen with
      the Walls sample bot.
    • #85: Fixed a major bug in server.rules.math::calcNewBotSpeed. Thanks goes to Mark (mnbrandl) for fixing this! 😊
  • Server:
    • #83: Bots receives skipped-turn-event events while dead.

πŸš€ Improvements

  • Bot API:
    • Extended the GameStartedEvent with the InitialPosition property containing the starting position and shared
      direction of the body, gun, and radar. This helped on fixing #80
    • Renamed the "Angle" property of InitialPosition to "Direction".

πŸ“„ 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.23.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.23.0.zip Microsoft .Net SDK 6.0 or newer
Java sample-bots-java-0.23.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.22.2

29 Mar 22:43
Compare
Choose a tag to compare

πŸ“¦ 0.22.2 - Fixing issues with Bot Console - 29-Mar-2024

πŸš€ Improvements

  • GUI:
    • Console windows: Added support for 8-bit and 24-bit ANSI colors.

πŸͺ² Bug Fixes

  • Bot API:
    • Entire lines output to System.out and System.err were sometimes missing in the bot console.
  • GUI:
    • Bot Console: Turn numbers was sometimes written in the middle of the output, and newlines could occur in the wrong
      places.

πŸ“„ 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.22.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.22.2.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.22.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:

0.22.1

07 Jan 11:26
Compare
Choose a tag to compare

πŸ“¦ 0.22.1 - GUI improvements for Linux - 07-Jan-2024

πŸͺ² Bug Fixes

  • GUI:
    • [#81]: Fixed tooltips they are consistent on the entire UI, and works on NixOS (Linux) as well.
    • Fixed the TPS slider, which was not displayed correctly - especially with the height.
    • Added border to the Bot Root Directories Config dialog.

πŸš€ Improvements

  • GUI:
    • Improved the Bot Console and Server Console to use anti-aliased text.

πŸ“„ 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.22.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.22.1.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.22.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.22.0

03 Dec 20:35
Compare
Choose a tag to compare

πŸ“¦ 0.22.0 - Improved ANSI support - 03-Dec-2023

πŸš€ Improvements

  • Bot API:

    • When running a bot from the command line, stdout and stderr will also be printed out in the bot console.
  • GUI:

    • The Bot Console and Server Log have been totally rewritten to improve performance (is not used HTML rendering
      anymore)
    • The logo in the server log in now shown with ANSI colors per default (might not work on all systems?)
    • The bot console now writes out the turn numbers from the previous turn, when output from the bot is written out.

πŸͺ² Bug Fixes

  • GUI:
    • #75: The GUI could get stuck and become unresponsive when displaying the busy pointer on Ubuntu.
    • #77: Unreadable Server Log on NixOS.
    • The scores presented after the battle has ended was not accumulated for all rounds, and hence incorrect.
    • The Properties tab of the Bot Console did not show any values when initialized, e.g. when game is paused.
    • Some stdout text from the bot were sometimes missing in the Bot Console. Solved by using the EDT.

πŸ“„ 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.22.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.22.0.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.22.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.21.0

02 Oct 20:23
Compare
Choose a tag to compare

πŸ“¦ 0.21.0 - Improved scoring - 02-Oct-2023

πŸš€ Improvements

  • Bot API:
    • Added stop(boolean overwrite) and setStop(boolean overwrite) to overwrite the saved movement from a previous
      call to setStop() with current movement values. These methods provide backwards compatibility with the original
      Robocode with the [Robocode API Bridge] (in progress).
    • Due to the removal of Java's Thread.kill() and .Net's Thread.Abort(), the main thread of the bot is no longer
      being killed by those methods is those threads could not be interrupted. Instead, the bot process it shut down
      with an error message:
      The thread of the bot could not be interrupted causing the bot to hang. So the bot was stopped by force.

πŸͺ² Bug Fixes

  • Scoring:
    • Fixed various scoring issues when comparing to original Robocode.
  • Bot API:
    • Fixed race condition when adding custom events.
  • Bot Console:
    • Events are only printed out while the bot is alive or has just died.
    • The DeathEvent was missing.

πŸ“„ 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.21.0.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.21.0.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.21.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.20.1

14 Sep 22:41
Compare
Choose a tag to compare

πŸ“¦ 0.20.1 - Added Events to bot console - 15-Sep-2023

πŸš€ Improvements

  • Bot Console (in GUI):
    • Added a new tab on the Bot Console that continuously dumps the bot events as they occur.
    • Bot property column values on bot consoles are now written in bold and with a monospace font.

πŸ“„ 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.20.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.20.1.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.20.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.20.0

23 Aug 19:55
Compare
Choose a tag to compare

πŸ“¦ 0.20.0 - Added support for teams and droids - 23-Aug-2023

πŸš€ Improvements

  • Team support:
    • Added support for teams, where a team is a group of bots that work together to battle against other teams (or bots). Each team member can communicate with the other teammates, which is crucial to share information and coordinate movement and attacks.
  • Droid interface:
    • A Droid interface was added that turns a bot into a droid bot, which has no radar but has 120 initial energy points instead of the normal 100 starting points. The droid is intended for team bots.
  • Sample Bots:
    • MyFirstTeam has been added to demonstrate how to set up a team.
    • MyFirstLeader is a team bot that has been added to demonstrate a (leader) bot that is responsible for scanning enemy bots and sending the coordinates of the current target, to fire at, to the teammates.
    • MyFirstDroid is a team bot that is a droid, and hence comes with no radar, and relies entirely on the MyFirstLeader to send data about which target coordinate to fire at.
  • Bot API:
    • Added the TeamMessageEvent which is received when another team member has sent a message.
    • Added these new methods to support teams:
      • getTeammateIds() to get the ids of all teammates in a team.
      • isTeammate(botId) to check if a bot with a specific id is a teammate or opponent.
      • broadcastTeamMessage(message) broadcasts a message to all team members.
      • sendMessage(botId, message) sends a message to a specific team member.
      • onMessageReceived(TeamMessageEvent) is an event handler to take action when a team message is received.
    • Added the Droid interface (no scanner, but 120 initial energy points).
  • Booter:
    • Updated to support booting teams besides bots.
    • Changed the name of the run command into boot.
    • Changed command option -T into -g for filtering game rules (-t is now used for the team-only option).
    • Added --botsOnly and corresponding -b option flag for filtering on bots only (excluding teams).
    • Added --teamsOnly and corresponding -t option flag for filtering on teams only (excluding bots).
  • GUI:
    • Added Directory Filter dropdown to filter on bots and teams.
    • The results window now aggregates scores for teams as well as bots and got a wider "Name" column. Some column names were changed, and tooltips were added to fields containing values/scores.
  • Schema:
    • Renamed bot-results-for-bot and bot-results-for-observer into results-for-bot and results-for-observer as participants now include teams and not just bots.

πŸͺ² Bug Fixes

  • GUI:
    • The GUI could get stuck and become unresponsive when displaying the busy pointer.

πŸ“„ 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.20.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.20.0.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.20.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.19.3

04 Aug 20:01
Compare
Choose a tag to compare

πŸ“¦ 0.19.3 - Maintenance - 04-Aug-2023

πŸš€ Improvements

  • Server and Booter:
    • The command-line options and commands are now case-insensitive.
    • Changed --botSecrets and --controllerSecrets into --bot-secrets and --controller-secrets.
  • GUI:
    • The standard output and standard error messages are now being cached within the GUI for the current round for the individual bots, so the history of the round is available when opening the bot consoles.
    • Changed the display name of the bot on the bot buttons and bot console title.

πŸͺ² Bug Fixes

  • Server:
    • Allow bots to connect to non-localhost addresses (PR [#69]).
  • Bot API:
    • Fixed broken unit test for .Net.
  • GUI:
    • Fixed the issue, where the battle graphics was not displayed when starting the battle.
    • Fixed calculation of 1st, 2nd, and 3rd places.

πŸ“„ 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.19.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.19.3.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.19.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.19.2

05 Apr 18:41
Compare
Choose a tag to compare

πŸ“¦ 0.19.2 - Added bot properties tab - 05-Apr-2023

πŸš€ Improvements

  • GUI:
    • A new Properties tab was added to the bot console, which shows the values of all bot properties for the current turn. This is useful for viewing the exact values and for debugging a bot.
    • When displaying an arena bigger than the window showing the battle, the window is now zooming into the battle arena automatically so that the visual field fits into the window.

πŸͺ² Bug Fixes

  • GUI:
    • When changing the game type for a battle, the arena did not change visually to accommodate a new size of the battle arena.
  • Server:
    • [#66]: The server is not accepting the full range of ports.

πŸ“„ 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.19.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.19.2.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.19.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:

0.19.1

26 Feb 14:46
Compare
Choose a tag to compare

πŸ“¦ 0.19.1 - Maintenance - 26-Feb-2023

πŸš€ Improvements

  • GUI:
    • Console windows for bots and the server now supports 3-bit and 4-bit ANSI colors (foreground and background) and simple text formatting.
    • Added bot died info to the bot console.
    • Direct3D and OpenGL acceleration is now disabled under Windows. You can add those yourself when you start up the GUI using the java command. Read more about it here.

πŸͺ² Bug Fixes

  • Server:
    • [#60]: The round-ended event was not sent, in the round when the game ended.
  • GUI:
    • Joined Bots list was not updated (removing bots) when the game is aborted.
    • The properties sun.java2d.d3d, sun.java2d.noddraw, and sun.java2d.opengl is now omitted under macOS.
    • Fixed label colors for fields showing country codes (with flags).
    • Sometimes flags were "empty" when clicking on a joined bot.
  • Bot API for .Net:
    • Issue where the Game Types field was overwritten by Country Codes (could be seen on the UI).

πŸ“„ 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.19.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.19.1.zip Microsoft .Net SDK 5.0 or newer
Java sample-bots-java-0.19.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: