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.
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.
Main page:
Robocode Tank Royale Docs
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.
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
- Bot API for WebAssembly (Wasm)
- JavaScript
- TypeScript
- Robocode API bridge for Tank Royale – see the robocode-api-bridge project.
Huge thanks to every contributor — you make this project shine! 🙌
Copyright © 2022 Flemming N. Larsen

