/tank-royale

Git repository for Robocode Tank Royale

Primary LanguageKotlinApache License 2.0Apache-2.0

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 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 world "bot" is used instead of "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 robots 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.

Example of a battle

Documentation

Robocode Tank Royale Docs

Supported platforms

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)

Supported programming languages

Due to the current bot APIs for the JVM and .Net, Robocode is currently able to support these programming languages with the current Bot APIs:

Java (JVM) platform:

.Net platform:

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.

Build tool used

Gradle is being used as build tool for building all artifacts and documentation of Tank Royale, which is a multi-module project.

Maintainer

@flemming-n-larsen

License

Apache License 2.0 © Flemming N. Larsen