v0.10.0
About
This release is an early alpha version meant for people to try out and give feedback on.
0.10.0 - Bot API improvements
Bug fixes:
- Fixed MyFirstBot.java (sample bot) not running.
- Various bug fixes were found in the Bot APIs, and missing get/set methods were added.
- Selected bots were not removed from the New Battle dialog when bots are disconnecting.
- Booter did not transfer environment variables to bot processes from GUI.
Changes:
- Moved documentation from robocode.dev to GitHub Pages
- Changed the default server port from 80 to 7654 to avoid the use of
sudo
beforejava
command (ports above 1023
does not needsudo
) - Bot APIs: Moved constants to a Constants class.
- Bot APIs: Introduced a Color class for representing colors.
- Bot API for .Net: Some Set/Get methods were refactored into properties for e.g. speed, turn rates, and colors.
- Bot API for .Net: Lots of optimizations were made.
Improvements:
- Bot handshake has been extended to include server secret with the bot-handshake and the BaseBot class has been
extended for setting this as input parameter in the constructor. - Server secret has been split into controller/observer secrets and bot secrets
- It is now possible to supply multiple server secrets
- Client is disconnected when sending a wrong secret to the server.
- Bot API now writes out status-code and the reason for disconnecting when it is due to a wrong secret.
Documentation
You can read more about Robocode Tank Royale here:
https://robocode-dev.github.io/tank-royale/
Running Robocode
You need Java 11 or newer to be preinstalled on your system. You can read the installation guide to get more details about installing Java and Robocode.
The Robocode GUI application must be run from the command line in order to start and view battles:
java -jar robocode-tankroyale-gui-0.10.0.jar
robocode-tankroyale-gui-0.10.0.jar
Note that you need to download sample bots and install those into directories on your system, and add these directories from the menu:
Config → Bot Root Directories
Sample bots
These sample bots are currently available:
C#: sample-bots-csharp-0.10.0.zip
Java: sample-bots-java-0.10.0.zip
Note that the C# bots need Microsoft .Net SDK 5.0 or newer must be preinstalled.
Bot API
In order to develop bots for Robocode, you'll need one of the provided APIs for the Java/JVM or .Net platform.
Java:
Available as an artifact on the Maven repository:
https://mvnrepository.com/artifact/dev.robocode.tankroyale/robocode-tankroyale-bot-api
<dependency>
<groupId>dev.robocode.tankroyale</groupId>
<artifactId>robocode-tankroyale-bot-api</artifactId>
<version>0.10.0</version>
</dependency>
NOTE: There is an issue with downloading this artifact with Maven or Gradle. I am working on fixing this.
In the meanwhile, you can download the jar archive and include it in your project.
.Net:
Available as artifact on the Nuget repository:
https://www.nuget.org/packages/Robocode.TankRoyale.BotApi/
dotnet add package Robocode.TankRoyale.BotApi