Terms Of Usage

Please see the Terms Of Usage Page

Bot Development

Bot Types

The Ladder supports multiple programming languages listed below. Also see the Awesome SC2 AI list.

Python

C++

Can be compiled on Windows or Linux
Windows: Bot called via botname.exe
Linux: Bot called via botname

cpp-sc2
Base C++ API for sc2.
Website: cpp-sc2

CommandCenter
A feature-rich starting bot for C++.
Website: CommandCenter

Java

Version: Java 17 (OpenJDK)
Bot called via botname.jar
Website: ocraft-s2client

.NET Core

GoLang

Bot called via botname
Website: go-sc2ai

Rust

Bot called via botname Website: rust-sc2

NodeJS

Version: 12
Bot called via botname.js
Website: node-sc2/core (Current working branch)

Using existing bots as a reference or starting point

It is generally useful to review some existing bots as reference in order to see how certain problems are solved by other authors, or to utilize these bots as a starting point in order to not have to solve these problems at all.

Some bots on the bot ladders are open source and can either be downloaded or provide links to their source.
Browse the list of AI Arena bots https://aiarena.net/bots/.

Note that if you choose to copy an existing bot, please make sure you have the bot author's permission and that you make attempts to modify/improve the bot in some way. It's also nice to note the origin of the bot in your new bot's biography on the website.

Alkurbatov also maintains a list of some open source bots: https://github.com/alkurbatov/suvorov-bot/wiki/Open-source-StarCraft2-bots

Maps

You can download current and old maps from the maps page

Bot Zip

To compete on the AI Arena ladder, you'll need to register an account, zip up your bot files and upload them as a new bot.

To make sure the bot works on the ladder you must adhere to the following standards:

For a successful upload the Bot must be packed using zip. (Max 50 MB)
Please make sure that the file the bot is called via (e.g. the executable) is in the root path after extraction (Don't zip the directory).

Right:

MyBot.zip
- MyBot.exe
- data/
- etc

Wrong:

MyBot.zip
- MyBot/
  - MyBot.exe
  - data/
  - etc

Data

The bots may write to a ./data directory. Any files in the data directory will persist between games.

The data can be downloaded via profile page.