tank-royale
tank-royale copied to clipboard
Git repository for Robocode Tank Royale
Robocode Tank Royale
Build the best - destroy the rest!
About
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 a bot, who will have no direct influence on the game him/herself. Instead, the player must write a program with the logic for the brain of the bot. The program contains instructions to the bot about how it should move, scan for opponent bots, fire its gun, and how it should react to various events occurring during a battle.
The name Robocode is short for "Robot code," which originates from the original/first version of the game. Robocode Tank Royale is the next evolution/version of the game, where bots can participate via the Internet/network. All bots run over a web socket.
The game aims 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 bots fight it out until only one is left, like a Battle Royale game. Hence the name Tank Royale.
Note that Robocode contains no gore, blood, people, and politics. The battles are simply for the excitement of the competition we appreciate so much.
Example of a battle
![GIF animation of tanks battling each other on a 2D battlefield](https://github.com/robocode-dev/tank-royale/raw/main/buildDocs/docs/images/robocode-battle-anim.gif)
Documentation
Main page: Robocode Tank Royale Docs
Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
Supported platforms
The Robocode game itself needs Java 11 or newer and can run on these operating systems:
- Windows
- macOS
- Linux
These platforms are currently supported out of the box:
- Java
- .Net
Bots can (in theory) be written for any platform and programming language, as long as they have access to a WebSocket API, and also follow the protocol needed for communicating with the server.
However, these Bot APIs are provided that take care of all the communication with the server in the background, so you only need to deal with the bot logic:
Both implementations are first-class citizens within Tank Royale, and more might follow in the future for other popular platforms. Also, note that sample bots are provided for both APIs.
Supported programming languages
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
Maintainer
License
Apache License 2.0
Copyright
Copyright © 2022 Flemming N. Larsen