Getting Started

The competition will use StarCraft Brood War 1.16.1. You must possess a legal copy of the game.

Bots for StarCraft shall use the Broodwar API, which provides hooks into StarCraft and enables the development of custom AI for StarCraft. Interfaces in many languages are available to query the current state of the game and issue orders to units.


The following material is a bit outdated, as it was prepared by Ben Weber for the AIIDE StarCraft competition in 2010 (and not everything has been updated since then). However, it still provides a valuable starting point if you want to start designing and implementing a bot from scratch. Please note, that the referenced BWAPI versions are not used any more for our competition. (we go with two versions of BWAPI that is 3.7.4 as well as the newest version of BWAPI released before June, 2015, which will be 4.X)

  • Instructions for setting up the environment are available here
  • An introduction to the Broodwar API is available here
  • Instructions for building a bot that communicates with a remote process are available here.
  • A JNI (Java) bridge to the BWAPI by Ben Weber is available here

Additional Software

  • Sparcraft : an open source StarCraft combat simulater. It can be used to create standalone combat simulations or be imported into an existing BWAPI-based StarCraft bot to provide additional AI functionality.
  • Tournament Manager Software : This program helps to play a lot of games of StarCraft automatically.
  • BWSAL (BWAPI Standard Add-on Library) : This library aims to develop several add-ons for BWAPI, which are scour manager, worker mamanger, supply manager, etc.
  • BWTA2 (Brood War Terrain Analyzer): a fork of BWTA, an add-on for BWAPI that analyzes the map and computes the regions, chokepoints, and base locations.
  • BWEM (Brood War Easy Map): C++ library that analyzes Brood War’s maps and provides relevant information such as areas, choke points an base locations.