tank-royale

tank-royale

Git repository for Robocode Tank Royale

Stars: 238

Visit
 screenshot

Robocode Tank Royale 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.

README:

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 that competes against other bots in a virtual battle arena.

The player writes a program that controls the bot’s movement, scanning, firing, and reactions to events during a battle. All logic lives inside this program – you never control the bot directly.

The name Robocode is short for “Robot code” and comes from the original version here.
Robocode Tank Royale is the next evolution, where bots can play over the Internet via WebSocket.

This project aims to help you learn programming, improve AI skills in a fast‑running real‑time game, and have fun while competing.

⚔️ Example of a battle

GIF animation of tanks battling each other on a 2D battlefield

🖥️ Tank Royale Viewer

Want to visualize battles in style? Check out the Tank Royale Viewer—a beautiful web-based viewer for watching Robocode Tank Royale matches in real-time! Created by Jan Durovec, this tool is perfect for displaying live battles on big monitors during competitions, analyzing recorded battles, and showcasing championship matches.

📚 Documentation

Main page:
Robocode Tank Royale Docs

The Book of Robocode

The Book of Robocode 📖 is a comprehensive guide covering Robocode as well as Robocode Tank Royale—from basics to advanced strategies like wave surfing, guess-factor targeting, and movement techniques. It builds on two decades of community knowledge and foundational research from RoboWiki contributors.

🚀 Try it out

If you are new to Robocode or just need a refresher, start with the Getting Started guide.
For hands‑on coding, continue to the My First Bot tutorial.

The Installation guide covers how to install the GUI, and includes sample bots for quick demos.

💻 Supported platforms

Robocode runs on Java 11 or newer and supports Windows, macOS, and Linux out of the box.
Bot APIs are available for:

  • Python
  • Java (JVM)
  • .NET

Bots can be written in any language that can access a WebSocket API and follows the protocol.

The following Bot APIs provide full client implementations:

Language API
Python Python Bot API
Java (JVM) Java/JVM Bot API
.NET .NET Bot API

Additional languages supported by the Java/JVM API:

  • Java
  • Groovy
  • Kotlin
  • Scala
  • Jython
  • Clojure

Supported .NET languages:

  • C#
  • F#
  • Visual Basic
  • IronPython

🚧 Work in progress

  • Bot API for WebAssembly (Wasm)
    • JavaScript
    • TypeScript
  • Robocode API bridge for Tank Royale – see the robocode-api-bridge project.

Thanks to the contributors

Huge thanks to every contributor — you make this project shine! 🙌

👨‍💻 Maintainer

@flemming-n-larsen

Buy Me A Coffee

📄 License

Apache License 2.0

©️ Copyright

Copyright © 2022 Flemming N. Larsen

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for tank-royale

Similar Open Source Tools

For similar tasks

For similar jobs