Skip to content

flemming-n-larsen/tank-royale

 
 

Repository files navigation

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 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.

Example of a battle

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 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 (should be) able to support these programming languages with the current Bot APIs:

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

About

Git repository for Robocode Tank Royale

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 39.5%
  • Java 30.4%
  • C# 29.9%
  • Stylus 0.2%