Build the best - destroy the rest!
Robocode is a programming game where the goal is to code a bot in the form of a virtual tank to compete against other bots in a virtual battle arena. The player is the programmer of the bot, who will have no direct influence on the game. Instead, the player must write a program for the brain of the bot. The program is telling how the bot must behave and react to events occurring in the battle arena.
The name Robocode originates from an older version of the game and is a short for "Robot code". With this new version, the term "bot" is preferred over "robot".
The game is designed to help you learn how to program and improve your programming skills and have fun while doing it. Robocode is also useful when studying or improving machine learning in a fast-running real-time game.
Robocode's battles take place on a battlefield, where small automated tank bots fight it out until only one is left like a Battle Royale Game. Hence the name Tank Royale.
Please notice that Robocode contains no gore, no blood, no people, and no politics. The battles are simply for the excitement of the competition that we love so much.
Main page: Robocode Tank Royale Docs
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
The Robocode game itself needs Java 11 or newer for running, and has been tested to run on:
- Windows
- macOS
- Linux
Bots can (in theory) be written for any platform and programming language, as long as they have access to a WebSocket API.
However, to handle all the trivial communication between a bot and the server, Bot APIs are provided for:
- Java (JVM) platform and
- Microsoft .Net platform
Both implementations are first class citizens within Tank Royale.
Next platform to support will be:
- Web platform (JavaScript or WebAssembly)
Due to the current bot APIs for the JVM and .Net, Robocode (should be) able to support these programming languages with the current Bot APIs:
-
Java (JVM) platform: These (and more) programming languages are available:
-
.Net platform: These programming languages (and more) are available:
- C#, F#, Visual Basic, and IronPython
Note that sample bots are only provided for Java and C# for now. But sample bots for other programming languages might arrive in the future.
Gradle is being used as build tool for building all artifacts and documentation of Tank Royale, which is a multi-module project.