Build the best – destroy the rest!
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.
You write a program that controls the bot's movement, scanning, and firing — all logic lives inside your code. You never control the bot directly during a battle.
Robocode Tank Royale is the next evolution of the classic Robocode game, originally created in 2001 by Mathew A. Nelson. Tank Royale modernises the architecture so that bots can participate over the Internet using WebSocket, and supports multiple programming languages.
The original Robocode project lives at robocode.sourceforge.io and on GitHub at github.com/robo-code.
All Tank Royale packages and artifacts are published under the robocode.dev domain namespace:
| Platform | Package identifier |
|---|---|
| Maven / JVM | dev.robocode.tankroyale:* |
| NuGet / .NET | Robocode.TankRoyale.* |
| PyPI / Python | robocode_tank_royale |
Bots can be written in any language that can open a WebSocket connection and speak the Tank Royale protocol. Full client Bot APIs are available for:
- 🐍 Python
- ☕ Java / JVM (also Kotlin, Groovy, Scala, Clojure, Jython)
- 🎯 .NET (also C#, F#, Visual Basic, IronPython)
- 📖 Documentation
- 💻 Tank Royale repository
- 📚 The Book of Robocode
- 🏠 Classic Robocode home page
- 🐙 Classic Robocode on GitHub
Thank you, JetBrains, for supporting non-commercial Open Source projects by providing licenses for Open Source development, including Robocode Tank Royale. ❤️