0.15.0
0.15.0 - Added fire assistance - 17-Aug-2022
Improvements
Fire assistance:
- Added fire assistance known from the original Robocode game. Fire assistance is useful for bots with limited aiming capabilities as it will help the bot by firing directly at a scanned bot when the gun is fired, which is a very simple aiming strategy.
- When fire assistance is enabled the gun will fire towards the center of the scanned bot when all these conditions
are met:- The gun is fired (
setFire
andfire
) - The radar is scanning a bot when firing the gun (
onScannedBot
,setRescan
,rescan
) - The gun and radar are pointing in the exact the same direction. You can call
setAdjustRadarForGunTurn(false)
to align the gun and radar and make sure not to turn the radar beside the gun.
- The gun is fired (
- When calling
setAdjustRadarForGunTurn(true)
then fire assistance will automatically be disabled, and when callingsetAdjustRadarForGunTurn(false)
then fire assistance will automatically be disabled. - Added new
setFireAssist(enable)
to enable and disable the fire assistance explicitly.
GUI:
- Updated various hover help texts for the dialog used for starting battles.
Bot info:
- The
gamesTypes
field is no longer required with the JSON config file of a bot. When it omitted, the bot will be able to participate in all game types. When defined, the bot will only be able to participate in battles with the game type(s) defined within this field. - The
gameTypes
field has been removed from the sample bots, as all sample bots can participate in any game type. At least for now.
Bugfixes:
- GUI & Booter:
- Fixed major bug as the GUI and booter did not filter out bots based on their selected game types.
- Fixed issue with parsing JSON bot info file for the optional fields
description
,countryCodes
,homepage
,
causing an issue with loading a bot, when these fields were omitted. - Fixed issue with parsing json content within the JSON bot info due to text encoding.
- Bot API:
- Corrected the description of the
onScannedBot()
event handler.
- Corrected the description of the
- Server:
- TPS: When TPS was set to 0 and the battle was restarted, the battle ran in max TPS.
Documentation
You can read more about Robocode Tank Royale here:
https://robocode-dev.github.io/tank-royale/
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 to be preinstalled on your system. I recommend newer versions of Java, e.g. version 18.
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.15.0.jar
robocode-tankroyale-gui-0.15.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.15.0.zip
Java: sample-bots-java-0.15.0.zip
Note that the C# bots need Microsoft .Net SDK 5.0 or newer and 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 a jar file: robocode-tankroyale-bot-api-0.15.0.jar
Available as an artifact on the Sonatype Nexus Repository here. At some point after this release the artifact will also become available from the Maven Central Repository.
.Net:
Available as artifact on the Nuget repository:
https://www.nuget.org/packages/Robocode.TankRoyale.BotApi/0.15.0
dotnet add package Robocode.TankRoyale.BotApi --version 0.15.0