Introduction

Welcome to the home of the annual IEEE CoG StarCraft AI competition which is organized by the Cognition & Intelligence Lab (CILab) at Dept. of Computer Engineering in Sejong University, Seoul, Korea. It is sponsored by the IEEE Conference on Games (CoG).

During this competition, programs (“bots”) will play 1v1 Starcraft Broodwar games against each other using BWAPI, a software library that makes it possible to connect programs to the Starcraft: BroodWar game engine.

The purpose of this competition is to foster the development & evaluation of progress in AI development applied to real-time strategy (RTS) games and solve challenging issues in RTS game AI such as uncertainty, real-time processing, and managing & coordinating agents. Where feasible, the competition strives for openness, transparency, reusability and reproducibility, both in the way the competition rules are defined and evaluated, and in the bots themselves.

RTS games pose a much greater challenge for AI research than chess because of hidden information, vast state and action spaces, and the requirement to act quickly. The best human players still have the upper hand in RTS games, but in the years to come this will likely change, thanks to competitions like this one. IEEE CoG StarCraft competitions have shown significant progress in the development and evolution of new StarCraft bots. For the evolution of the bots, participants have used various approaches to write AI bots and it has enriched game AI and methods such as HMM, Bayesian model, CBR, Potential fields, and reinforcement learning. However, it is still quite challenging to develop AI for the game because it should handle many units and buildings while considering resource management and high-level tactics.

 

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 three versions of BWAPI that is 3.7.4, 4.1.2, and 4.2.0)

  • Instructions for setting up the environment are available Video, Download “Hellow World!” Project
  • 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.