robocode-dev/tank-royale
robocode-dev/tank-royale has 273 GitHub stars and 58 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-09 20:53 UTC. Last push 2026-11-02.
Git repository for Robocode Tank Royale
Crecimiento de estrellas medido
- in 24h
- +1
- in 7 days
- Actualización retrasada
- in 15 days
- Actualización retrasada
- in 1 month
- Actualización retrasada
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
OriginalRobocode 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 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

🌟 Explore More
| Resource | Why it matters | Link |
|---|---|---|
| 📘 The Book of Robocode | The advanced companion to Tank Royale docs with deeper strategy content on movement, targeting, radar control, energy management, and competition-level tactics. | Open the Book |
| 🖥️ Tank Royale Viewer | A dedicated web-based viewer for showing live battles, analyzing recordings, and putting matches on big screens during competitions. | Open the Viewer |
📘 The Book of Robocode
Want to go beyond the fundamentals? The Book of Robocode is the advanced companion to these docs and covers both Robocode and Robocode Tank Royale.
Start here:
🖥️ Tank Royale Viewer
Want to visualize battles in style? Check out the Tank Royale Viewer — a web-based viewer for watching Robocode Tank Royale matches in real time.
Created by Jan Durovec, it is especially useful for:
- displaying live battles on big monitors during competitions
- analyzing recorded battles
- showcasing tournament and championship matches
📚 Documentation
Main page: Robocode Tank Royale Docs
🚀 Start here
| If you want to... | Start here |
|---|---|
| Install and run Tank Royale | Installation guide |
| Learn the basics | Getting Started |
| Build your first bot | My First Bot |
| Learn advanced strategy | The Book of Robocode |
| Watch battles in a dedicated viewer | Tank Royale Viewer |
| Run battles headlessly from code | Battle Runner API docs |
🏆 Tank Royale Rumble
Explore the community-ranked competition: learn how to submit a bot, run ranked battles, or view current rankings.
💻 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
- TypeScript / JavaScript
Bots can be written in any language that can access a WebSocket API and follows the protocol.
The following official Bot APIs provide full client implementations. They are maintained by the Tank Royale project and are semantically 1:1 with the Java reference implementation, so a bot author moving between them does not have to relearn behavior:
| Language | API |
|---|---|
| Python | Python Bot API |
| Java (JVM) | Java/JVM Bot API |
| .NET | .NET Bot API |
| TypeScript / JavaScript | TypeScript Bot API |
The official set is closed at these four languages. Bot APIs for other languages are welcome as community Bot APIs: independent projects maintained beside official Tank Royale rather than by it, which we are happy to link from the API documentation. See the Contributing Guide for how that works and what it would take to reopen the official set.
Additional languages supported by the Java/JVM API:
- Java
- Groovy
- Kotlin
- Scala
- Jython
- Clojure
Supported .NET languages:
- C#
- F#
- Visual Basic
- IronPython
⚙️ Battle Runner API
The Battle Runner API lets you run battles programmatically from any JVM application — no GUI required. Use it for automated testing, benchmarking, or building tournament systems.
BattleRunner.create { embeddedServer() }.use { runner ->
val results = runner.runBattle(
setup = BattleSetup.classic { numberOfRounds = 10 },
bots = listOf(BotEntry.of("/path/to/MyBot"), BotEntry.of("/path/to/EnemyBot"))
)
println("Winner: ${results.results.first().name}")
}
Available on Maven Central as dev.robocode.tankroyale:robocode-tankroyale-runner.
See the Battle Runner API docs or the
module README for full documentation.
🚧 Work in progress
- 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
📄 License
©️ Copyright
Copyright © 2022 Flemming N. Larsen
Explorar proyectos relacionados
sindresorhus/awesome
😎 Listas Awesome sobre todo tipo de temas interesantes [NOTA: Las pull requests están temporalmente desactivadas hasta que tenga ocasión de ponerme al día con las existentes]
534,888 estrellasEbookFoundation/free-programming-books
:books: Libros de programación disponibles de forma gratuita
401,465 estrellasnilbuild/developer-roadmap
Hojas de ruta interactivas, guías y otros contenidos educativos para ayudar a los desarrolladores a crecer en su carrera.
371,758 estrellasvinta/awesome-python
La lista definitiva que responde a «Quiero hacer X en Python, ¿qué herramienta debería usar?».
333,858 estrellas