Skip to content

robocode-dev/tank-royale

Repository files navigation

Robocode Tank Royale

Robocode logo

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 AI skills 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

Documentation

Main page: Robocode Tank Royale Docs

Try it out

Please head over to Getting Started if you are new to Robocode or just need a brush-up. Or continue to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.

An Installation guide for installing the GUI application is available, as well the sample bots for demoing some battles in Robocode without any need to code anything yourself (yet).

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:

Maintainer

@flemming-n-larsen

License

Apache License 2.0

Copyright

Copyright © 2022 Flemming N. Larsen