Releases: robocode-dev/tank-royale
0.23.0
π¦ 0.23.0 - Fixing movement bugs in bot APIs - 29-Apr-2024
πͺ² Bug Fixes
- Bot API:
- 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".
- Extended the GameStartedEvent with the InitialPosition property containing the starting position and shared
π 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:
- Jar file: robocode-tankroyale-bot-api-0.23.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.22.2
π¦ 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
andSystem.err
were sometimes missing in the bot console.
- Entire lines output to
- GUI:
- Bot Console: Turn numbers was sometimes written in the middle of the output, and newlines could occur in the wrong
places.
- Bot Console: Turn numbers was sometimes written in the middle of the output, and newlines could occur in the wrong
π 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:
- Jar file: robocode-tankroyale-bot-api-0.22.2.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.22.1
π¦ 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:
- Jar file: robocode-tankroyale-bot-api-0.22.1.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.22.0
π¦ 0.22.0 - Improved ANSI support - 03-Dec-2023
π Improvements
-
Bot API:
- When running a bot from the command line,
stdout
andstderr
will also be printed out in the bot console.
- When running a bot from the command line,
-
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.
- The Bot Console and Server Log have been totally rewritten to improve performance (is not used HTML rendering
πͺ² 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:
- Jar file: robocode-tankroyale-bot-api-0.22.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.21.0
π¦ 0.21.0 - Improved scoring - 02-Oct-2023
π Improvements
- Bot API:
- Added
stop(boolean overwrite)
andsetStop(boolean overwrite)
to overwrite the saved movement from a previous
call tosetStop()
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'sThread.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.
- Added
πͺ² 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:
- Jar file: robocode-tankroyale-bot-api-0.21.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.20.1
π¦ 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:
- Jar file: robocode-tankroyale-bot-api-0.20.1.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.20.0
π¦ 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).
- Added the
- Booter:
- Updated to support booting teams besides bots.
- Changed the name of the
run
command intoboot
. - 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.
- Added
- Schema:
- Renamed
bot-results-for-bot
andbot-results-for-observer
intoresults-for-bot
andresults-for-observer
as participants now include teams and not just bots.
- Renamed
πͺ² 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:
- Jar file: robocode-tankroyale-bot-api-0.20.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.19.3
π¦ 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:
- Jar file: robocode-tankroyale-bot-api-0.19.3.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.19.2
π¦ 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:
- Jar file: robocode-tankroyale-bot-api-0.19.2.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.19.1
π¦ 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
, andsun.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 byCountry Codes
(could be seen on the UI).
- Issue where the
π 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:
- Jar file: robocode-tankroyale-bot-api-0.19.1.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository