ArticlePDF Available

StarCraft AI Competitions, Bots and Tournament Manager Software


Abstract and Figures

Real-Time Strategy (RTS) games have become an increasingly popular test-bed for modern artificial intelligence techniques. With this rise in popularity has come the creation of several annual competitions, in which AI agents (bots) play the full game of StarCraft: Broodwar by Blizzard Entertainment. The three major annual StarCraft AI Competitions are the Student StarCraft AI Tournament (SSCAIT), the Computational Intelligence in Games (CIG) competition, and the Artificial Intelligence and Interactive Digital Entertainment (AIIDE) competition. In this paper we will give an overview of the current state of these competitions, describe the bots that compete in them, and describe the underlying open-source tournament manager software that runs them.
Content may be subject to copyright.
StarCraft AI Competitions, Bots
and Tournament Manager Software
Michal ˇ
y, David Churchill, Kyung-Joong Kim, Martin ˇ
y, and Richard Kelly
Abstract—Real-Time Strategy (RTS) games have become an
increasingly popular test-bed for modern artificial intelligence
techniques. With this rise in popularity has come the creation of
several annual competitions, in which AI agents (bots) play the
full game of StarCraft: Broodwar by Blizzard Entertainment.
The three major annual StarCraft AI Competitions are the
Student StarCraft AI Tournament (SSCAIT), the Computational
Intelligence in Games (CIG) competition, and the Artificial
Intelligence and Interactive Digital Entertainment (AIIDE) com-
petition. In this paper we will give an overview of the current state
of these competitions, describe the bots that compete in them,
and describe the underlying open-source tournament manager
software that runs them.
Real-time Strategy (RTS) games are a genre of video games
in which players manage economic and strategic tasks by
gathering resources and building bases, increase their military
power by researching new technologies and training units, and
lead them into battle against their opponent(s). They serve as
an interesting domain for Artificial Intelligence (AI) research
and education, since they represent well-defined, complex
adversarial systems [1] which pose a number of interesting AI
challenges in the areas of planning, dealing with uncertainty,
domain knowledge exploitation, task decomposition, spatial
reasoning, and machine learning [2].
Unlike turn-based abstract board games like chess and go,
which can already be played by AI at super-human skill levels,
RTS games are played in real-time, meaning the state of the
game will continue to progress even if the player takes no
action, and so actions must be decided in fractions of a second.
In addition, individual turns in RTS games (game frames)
can consist of issuing simultaneous actions to hundreds of
units at any given time [3]. This, together with their partially
observable and non-deterministic nature, makes the RTS game
genre one of the hardest game AI challenges today, attracting
the attention of the academic research community, as well as
commercial companies. For example, Facebook AI Research,
Microsoft, and Google DeepMind have all recently expressed
Michal ˇ
y is with the Artificial Intelligence Center at Czech Technical
University in Prague. Email:
David Churchill and Richard Kelly are with Department of
Computer Science, Memorial University of Newfoundland. Emails:,
Martin ˇ
y is with Deptartment of Cybernetics and Artificial Intelli-
gence, Technical University in Koˇ
sice. Email:
Kyung-Joong Kim is with Department of Computer Science and Engineer-
ing, Sejong University. Email:
This research was supported in part by Basic Science Research Program
through the National Research Foundation of Korea (NRF) funded by the
Ministry of Science, ICT & Future Planning (2017R1A2B4002164)
interest in using the most popular RTS game of all time:
Starcraft as a test environment for their AI research [4].
Meanwhile, the academic community has been using
StarCraft as a domain for AI research since the advent of
the Brood War Application Programming Interface (BWAPI)
in 2009 [5]. BWAPI allows programs to interact with the
game engine directly to play autonomously against human
players or against other programs (bots). The introduction of
BWAPI gave rise to many scientific publications over the last 8
years, addressing many sub-problems inherent to RTS games.
A comprehensive overview can be found in [6], [7] or [2].
In addition to AI research, StarCraft and BWAPI are often
used for educational purposes as part of AI-related courses
at universities, including UC Berkeley (US), Washington
State University (US), University of Alberta (CA), Comenius
University (SK), Czech Technical University (CZ) and most
recently Technical University Delft (NL), where a new course
entitled “Multi-agent systems in StarCraft” has been opened
for over 200 students. The educational potential of StarCraft
has recently been extended even further, when Blizzard Enter-
tainment released the game entirely for free in April 2017.
Widespread use of StarCraft in research and education has
lead to a creation of three annual StarCraft AI competitions.
The first competition was organized at the University of
California, Santa Cruz in 2010 as part of the AAAI Artificial
Intelligence and Interactive Digital Entertainment (AIIDE)
conference program. The following year gave rise to two
other annual competitions – the Student StarCraft AI Tour-
nament (SSCAIT), organized as a standalone long-term event
at Comenius University and Czech Technical University, and
the CIG StarCraft AI competition co-located with the IEEE
Computational Intelligence in Games (CIG) conference.
In this paper, we will talk about these three major StarCraft
AI competitions and provide the latest updates on each of
them, with the following 3 sections detailing the SSCAIT,
AIIDE, and CIG Starcraft AI Competitions. We will then
describe the state-of-the-art bots under active development
which compete in these competitions, and the AI methods they
use. Finally, we will introduce the open-source Tournament
Manager Software powering the competitions.
The Student StarCraft AI Tournament (SSCAIT) is the
StarCraft AI competition with the highest number of total
participants. There are three fundamental differences between
SSCAIT and the remaining two competitions:
1) SSCAIT is an online-only event. Unlike AIIDE or CIG,
it is not co-located with a scientific conference / event.
2) There are two phases of SSCAIT each year: a compe-
titive tournament phase, lasting for up to four weeks
and a ladder phase which runs for the rest each year.
In other words, SSCAIT is live at all times with only a
few short interruptions for maintenance.
3) Games are played one at a time and are publicly
streamed live on The
AIIDE and CIG competitions instead play as many
games as possible at maximum speed, with no broadcast.
SSCAIT’s tournament phase takes place every winter in late
December and early January.
A. SSCAIT History
The first SSCAIT was organized in 2011 by Michal
y, as a part of the “Fundamentals of Artificial Intelli-
gence” course at Comenius University in Bratislava, Slovakia.
It started as a closed event, with 50 local students competing
for extra points for their course evaluation. Since the event
received a lot of positive feedback from the participants,
the organizers decided to open it for the international public
and for non-students next year (although the word “Student”
remained in the competition name for historic reasons).
SSCAIT changed significantly over the course of 2012 –
both in terms of the format and technology behind it. The
organizers implemented a collection of simple Python and
AHK scripts that were able to run and evaluate the bot
games automatically. This allowed for the creation of 24/7
bot ladder with online live stream, similar to the one available
today.2The live-streamed ladder simplifies the bot debugging
process (since bot authors can watch their creations play all
kinds of AI opponents), encourages continuous development
over the whole year and accelerates the growth of StarCraft
AI research community.
The registration of new bots on the ladder was simplified in
2013 with the introduction of web-based user interface for bot
creators. They can now upload new versions of their bots to
the ladder at any time. In 2014, the custom automation scripts
were replaced by Tournament Manager Software, developed
originaly for AIIDE competition (details in section VI), which
needed to be heavily modified in order to work with SSCAIT
user and game databases and to support the ladder format.
Further modifications and the introduction of Dockerized
multi-platform version of StarCraft [8] are planned soon.
Currently, SSCAIT is organized by the Games & Simula-
tions Research Group3– part of Artificial Intelligence Center
at Czech Technical University in Prague.
B. SSCAIT 2017/18 Tournament & Ladder
The activity of bot programmers and the general public
surrounding SSCAIT has grown considerably over the course
2The SSCAIT bot ladder was inspired by an older automated StarCraft bot
ladder, available at that time at
Fig. 1. SSCAIT live stream running in HD resolution and controlled by the
custom observer script [9].
of the past year, with new members to the organizing team
making a number of improvements to the live stream, and
better community engagement during the Ladder phase.
First, the ladder phase was updated, with SSCAIT introduc-
ing so-called “weekly reports”. Every weekend, there is a 1-2
hour long segment of curated AI vs. AI matches with insightful
commentary on the live stream. Second, a voting system was
implemented, allowing bot programmers and viewers to select
which bots will play the next ladder match on live stream.
This not only supports viewer engagement, but also greatly
simplifies bot debugging process. Bot programmers can now
quickly test their newest updates against specific opponents.
This change might have contributed to the significant increase
in bot update frequency. Approximately 5-6 bots are updated
every day, in contrast to 0-2 updates per week in 2015.
Another update was the introduction of “minitournaments”
to SSCAIT. These are easily configurable, irregular and unof-
ficial short competitions, taking up to one day. The format
of these minitournaments and the selection of participants
is usually up to the stream viewers and moderators. Visual
quality of the stream was improved by updating the custom
observer script [9] which now moves the camera fluently
to the most interesting parts of the game in real time and
displays SSCAIT-related information on top of the game. The
stream was also upgraded to HD using a “resolution hack”
(Figure 1). The overall number of stream views has increased
to 376,920 views on and additional 434,216 views
on over the past 12 months. Two additional
metrics were added to the ladder ranking system due to popular
demand: ELO rating [10], which is used in adversarial games
like chess, and “SSCAIT rank”, based on so-called “ICCUP
ranking system”, typical for competitive StarCraft.
SSCAIT Tournament Phase Updates: The 2017/18 install-
ment of SSCAIT’s tournament phase took place during four
weeks at the end of December 2017 and beginning of January
2018 and sported 78 participants. The tournament was divided
into two divisions:
Student Division: Round Robin tournament of 6006 games,
where every bot played two games against every opponent.
Only the bots created by individual students were considered
“student” bots and were eligible for victory in this division.
Other bots were tagged as “mixed-division” bots (they played
Fig. 2. SSCAIT 2017/18 mixed division double elimination bracket.
the games, but could not win the student division title).
Winners of the student division in 2017/18 were:
1) Wulibot, University of Southern California (USA) with
124 wins
2) LetaBot (Martin Rooijackers), University of Maastricht
(Netherlands) with 109 wins
3) Carsten Nielsen, Technical University of Denmark (Den-
mark) with 101 wins
The student division of SSCAIT exists so that the students
stand a chance of winning in the presence of more experienced,
non-student participants and team-created bots.
Mixed Division: After the student division ended, sixteen
bots with the most wins among all the participants were
selected for the additional mixed division double elimination
bracket, consisting of 30 matches (best of 3, 5, or 7 games),
which can be seen in Figure 2.
CherryPi, created by the Facebook AI Research team won
the mixed division by beating KillerBot by Marian Devecka
4-2 in the finals. Interestingly, CherryPi encountered KillerBot
earlier in the tournament (in winner’s round 3) and lost that
match 0-3, dropping down to the losers bracket. The bot
then managed to win the whole losers bracket, meet Killerbot
again in the finals and win by exploiting its experience from
their previous games. More information about CherryPi can be
found in Section V. All the elimination bracket games were
published as videos with commentary on SSCAIT YouTube
channel4and as replay files on SSCAIT website.5
The AIIDE Starcraft AI Competition is the longest running
annual Starcraft competition, and has been held every year
since 2010 along with the AAAI Artificial Intelligence and
Interactive Digital Entertainment conference. Unlike the CIG
and SSCAIT competitions, the AIIDE competition requires
(since 2011) that bot source code be submitted, and that the
code will be published for download after the competition has
finished. Running 24 hours a day for 2 weeks with games
played at super-human speed, the competition is a single
round-robin format with the winner being the bot with the
highest win percentage when the time limit has been reached.
A. AIIDE StarCraft AI Competition History
The AIIDE Starcraft AI Competition was first run in 2010
by Ben Weber at the Expressive Intelligence Studio at Univer-
sity of California, Santa Cruz, as part of the AIIDE (Artificial
Intelligence and Interactive Digital Entertainment) conference.
A total of 26 entrants competed in four different game modes
which varied from simple combat battles to the full game
of Starcraft. As this was the first year of the competition,
and little infrastructure had been created, each game of the
tournament was run manually on two laptop computers and
monitored by hand to record the results. Also, no persistent
data was kept for bots to learn about opponents between
matches. The 2010 competition had 4 different tournament cat-
egories in which to compete. Tournament 1 was a flat-terrain
unit micro-management battle consisting of four separate unit
composition games. Tournament 2 was another micro-focused
game with non-trivial terrain. Tournament 3 was a tech-limited
StarCraft game on a single known map with no fog-of-war
enforced. Players were only allowed to choose the Protoss
race, with no late game units allowed.
Tournament 4 was considered the main event, which in-
volved playing the complete game of StarCraft: Brood War
with fog-of-war enforced. The tournament was run with a
random pairing double-elimination format with each match
being best of 5 games. A map pool of 5 well-known profes-
sional maps were announced to competitors in advance, with
a random map being chosen for each game. Tournament 4
was won by Overmind - a Zerg bot created by a large team
from the University of California, Berkeley, who defeated the
Terran bot Krasi0 by Krasimir Krastev in the finals.
From 2011 to 2016, the AIIDE competition was hosted by
the University of Alberta, and was organized and run each
year by David Churchill and Michael Buro. Due to the low
number of entries to Tournaments 1, 2, and 3 from the 2010
AIIDE competition, it was decided that the AIIDE competition
for 2011 would only consist of the full game of Starcraft
(with the same rules as the 2010 Tournament 4), with no
smaller micromanagement tournaments. The 2011 tournament
rules were also updated so that all entrants must submit the
source code of their bot and allow it to be published after
the competition is over, which was done for several reasons.
The first reason was to lower the barrier to entry for future
competitions - since programming a Starcraft AI bot was
very time consuming, future entrants could download and
modify the source code of previous bots to save considerable
effort. Another reason was to more easily prevent cheating -
with thousands of games being played in the tournament, no
longer could each game be manually inspected to detect if
any cheating tactics were being employed, which would be
more easily detected by inspecting the source code. The final
reason was to help advance the state of the art in Starcraft AI
by allowing future bots to borrow strategies and techniques
of previous bots by inspecting their source code - ideally, all
bots in future competitions should be at least as strong as the
bots from the previous year.
Since the first competition was run by a single person on
two laptops, games were played by manually starting the
Starcraft game and creating and joining games by hand. As
the physical demand was quite high, a simple random-pairing
double-elimination tournament was played with approximately
60 games in total. This caused some negative feedback that this
elimination-style tournament was quite dependent on pairing
luck, so for the 2011 competition all chance was eliminated
from the tournament by playing a round robin style format.
Playing a round robin format requires far more games to be
played, and it would no longer be possible to run each game
manually. In the summer of 2011, the StarCraft AI Tournament
Manager software was written (see section VI) which could
automatically schedule and play round robin tournaments
of Starcraft on an arbitrary number of locally networked
computers. The initial version of this software allowed for
a total of 2340 games to be played in the same time period
as the 2010 competition’s 60 games, with each bot playing
each other bot a total of 30 times. There were 10 total maps
in the competition, chosen from expert human tournaments
that were known to be balanced for each race, which were
available for download several months in advance on the
competition website. The AIIDE competition was modeled on
human tournaments where the map pool and opponents are
known in advance in order to allow for some expert knowledge
and opponent modeling.
The 2012 AIIDE competition brought a major change to the
functionality of the StarCraft AI Competitions: persistent file
storage, which allowed the bots to learn throughout the course
of the competition. The tournament managing software was
updated so that each bot had access to a read folder and a write
folder contained on a shared folder which was accessible to all
the client machines. During each round bots could read from
their ’read’ folder and write to their ’write’ folder, and at the
end of each round robin (one game between each bot pairing
on a single map) the contents of the write folder were copied
to the read folder, giving access to all information written
about previous rounds. This new functionality was used by
several bots to implement strategy selection, in which their bot
Bot Race Games Win Loss Win %
ZZZKBot Zerg 2966 2465 501 83.11
PurpleWave Protoss 2963 2440 523 82.53
Iron Terran 2965 2417 548 81.52
cpac Zerg 2963 2104 859 71.01
Microwave Zerg 2962 2099 863 70.86
CherryPi Zerg 2966 2049 917 69.08
McRave Protoss 2964 1988 976 67.07
Arrakhammer Zerg 2963 1954 1009 65.95
selected which of several strategies to use based on the results
of previous rounds vs. the same opponent, which typically
increased their win rates over time during the competitions.
The AIIDE competitions between 2013 and 2016 did not
have any major rule changes, and continued to use the same
pool of 10 maps for each competition. Competition appeared
to stagnate between 2011 and 2013, with a relatively low
number of entrants, and saw the same 3 bots (Aiur, Skynet,
and UAlbertaBot) trading 1st, 2nd, and 3rd place during these
years. The 2014 to 2016 competitions however saw many new
entries to the competition, with new bots taking the top 3
positions each year. Top 3 finishers of each year’s competition
can be seen in Table IV. Improvements to the tournament
software and hardware infrastructure allowed for more games
to be played each year, which can be seen in Figure 4.
B. 2017 AIIDE Competition
The 2017 AIIDE competition6had a total of 28 competitors,
and the round robin games ran on 14 virtual machines for
two weeks. A total of 110 rounds of round robin play were
completed, with each bot playing 2970 games for a total
of 41580 games. Any bot that achieved a win rate of 30%
or higher in the 2016 competition which did not receive
a new submission was automatically entered into the 2017
competition. No new rules or maps were used for the 2017
tournament that were not in place for the 2016 tournament.
The AIIDE tournament manager software had been updated
with new features, such as support for BWAPI version 4.2.0,
and the ability for client machines to be listed with special
properties, such as GPU computation ability. In combination
with this update, a hardware upgrade for the tournament
allowed for GPU computation support for any bots that
required it, however no 2017 bots used the feature. The 2017
competition had the closest top 3 finish of any competition
yet, with the top 3 bots separated by less than 2% win rate,
and 3rd-6th place bots also separated by less than 2% win
rate. Statistics for the top 8 finishers can be seen in table I.
The win percentage over time of the top 3 bots of the
competition can be seen in Figure 3, and demonstrates the
importance of implementing some form of opening modeling
/ learning over time. Although Iron (shown in green) led for the
vast majority of the competition, it did not implement any form
of learning over the course of the competition, and its win rate
slowly dropped over time. ZZZKBot (blue) and PurpleWave
Fig. 3. Win percentage over time for the top 3 bots of the 2017 AIIDE
StarCraft AI Competition. 1st place ZZZKBot shown in blue, 2nd place
PurpleWave in black, and 3rd place Iron in green.
(black) implemented strategy selection learning, and their win
rates slowly climbed to the point where they overtook Iron
near round 85 of 110.
The CIG StarCraft AI Competition has been a part of the
program of the IEEE Computational Intelligence in Games
(CIG) conference since August 2011. Since the date of the CIG
competition was usually just before the AIIDE competition,
many of the bots submitted to both competitions ended up
being nearly identical, therefore the CIG competition has
several rule differences with AIIDE in order to keep the
results interesting. The biggest rule difference was that the
CIG competition did not disclose which maps would be used
for the competition, meaning that the bots could not use any
hard-coded map information like they could for AIIDE.
A. CIG Competition History
The CIG conference is well known for hosting and organiz-
ing many AI related competitions, such as the Mario AI Com-
petition and the General Video Game Playing Competition,
and in 2010 the first CIG StarCraft AI Competition was held.
Organized by Johan Hagelback, Mike Preuss, and Ben Weber,
the CIG 2010 competition was to have a single game mode
similar to the tech-limited Tournament 3 from the AIIDE 2010
competition, but using the Terran race instead of the Protoss
race. Unfortunately the first year of the CIG competition had
several technical problems, and no winner could be announced
for the competition. Mike Preuss and his team members then
successfully organized the CIG competition each year from
2011 to 2013. Since 2014, the Sejong University team (led
by Kyung-Joong Kim) has organized the CIG competition at
the IEEE CIG conference. In order to provide a more diverse
competition, CIG rules and settings have changed each year,
shown in Table IV.
Throughout its history, CIG has had multiple changes in the
selection of tournament management software, open-source
policy and map pool announcement policy. The tournament
management software (see section VI) is used to distribute
the matches over multiple machines on the network and to
Bot Race Games Win Loss Win %
ZZZKBot Zerg 1984 1628 356 82.06
tscmoo Random 1992 1541 451 77.36
PurpleWave Protoss 2021 1360 661 67.29
LetaBot Terran 2026 1363 663 67.28
UAlbertaBot Random 2005 1315 690 65.59
Overkill Zerg 2024 1270 754 62.75
automate the competition operation. Although CIG organizers
developed their own JAVA-based TM sofware, the AIIDE TM
has been used for the competition since 2014 (see details in
Section VI). Since 2016, CIG has enforced an open source
code policy, and all of the bots’ source code are published after
the competition. Unlike the AIIDE competition, the CIG map
pool was not known to the participants before the competition
to promote generalization ability of the entries. However,
it was found that participants usually did not exploit map
knowledge, and so since 2016 maps in the CIG competition
have been announced in advance.
In the 2016 competition, the organizers introduced a second
stage to the competition such that half of the entries advance to
the second stage based on the win ratio of the first stage. This
was inspired by the Simulated Car Racing Competition [11]
which adopted a two-stage competition divided into a qual-
ification stage and a main race. Since the single-pool round
robin format is based on win percentage only, it is important to
get high average win ratio against all the opponents. The CIG
organizers introduced two pools with the intent to reduce the
chance that the top ranking bots win just by exploiting lower
ranked bots to boost their win ratio. Bots were randomly split
into two groups, and then the top half of bots from each group
were brought together for a final stage group, to be played as
round robin, with all learned information being deleted before
the beginning of the final stage.
B. 2017 CIG Competition
In the 2017 CIG competition, the two stage format was
changed back to the single group format. The reason was
that the participants did not seem to change their strategy
to consider the two-stage tournament, and it did not seem
to have much of an effect on the final results. In the future,
CIG organizers consider adopting the SWISS-system widely
used in the board game community. In this setting, a player
does not play against all the other opponents. Instead, the
participants are paired with the opponents with similar scores.
Such systems usually produce final outcomes similar to round-
robin while playing fewer total games.
In 2017, CIG organizers tried to play as many games as
possible, and reached 125 rounds with 190 games per round,
which resulted in 23750 games in the two-round format. Cur-
rently, AI bots often use multiple pre-prepared strategies and
adapt them or their selection against specific opponents. The
more games played during a tournament, the more experience
allows them to learn which strategies are good against which
opponents. As in the 2017 AIIDE competition, many bots
implemented learning strategies which dramatically increased
Bot Created Rules ML HS IO SIM
CherryPi 2017 Yes No No Yes Yes
cpac 2017 Yes No Yes No Yes
ForceBot 2017 Yes No No No No
Iron 2016 Yes No No No No
KillAll 2017 Yes Yes Yes No Yes
Krasi0bot 2010 Yes Yes Yes Yes Yes
LetaBot 2014 Yes No Yes Yes Yes
McRave 2017 Yes No No No Yes
MegaBot 2016 Yes No No Yes Yes
PurpleWave 2017 Yes No Yes Yes Yes
StarcraftGP 2015 Yes Yes No No No
Steamhammer 2016 Yes No Yes Yes Yes
tscmoo 2015 Yes Yes Yes Yes Yes
UAlbertaBot 2010 Yes No Yes Yes Yes
ZZZKbot 2015 Yes Yes No Yes No
their win rates over time. Detailed results of the top 6 bots in
the competition can be seen in table II.
After the 2017 CIG competition Sejong University orga-
nized a special event where human players were matched
against the AI bots. The human players included one novice
player (ladder rating around 1100), one middle-level player
(around 1500), and a professional gamer: Byung-Gu Song.
AI bots in the event were ZZZKBot (winner of CIG 2017),
tscmoo bot (2nd place in CIG 2017) and MJBOT, an AI
bot specially designed against human players. MJBOT has
been developed since June 2017 by Cognition Intelligence
Laboratory to beat novice/middle-level human players. Each
human player played a single game against each AI bot (9
games). The novice human player lost two games against
ZZZKBOT and TSCMOO, but won the game against MJBOT,
which was not able to finish the game due to a programming
bug. In the next session, the middle-level human player lost
all three games against the AI bots. Finally, the professional
human player Byung-Gu Song won against all the AI bots7.
This suggests that the AI bots have a potential to compete
against novice and middle-level players, but not professionals.
Over the years, StarCraft AI competitions have motivated
many individuals and groups to implement a variety of bots ca-
pable of playing complete StarCraft 1v1 games. The structure
of most current bots emerges from the attempts to decompose
the game into a hierarchy of smaller subproblems, such as
higher-level strategy, tactics, combat unit control, terrain anal-
ysis and intelligence gathering. For more information about
the individual challenges, refer to [2], [6].
Bots vary in complexity, and while many are rule-based,
top-performing bots are now employing more sophisticated
AI techniques such as real-time search/planning, pre-trained
neural network controllers, and online learning during the
competition games. In this section, we provide an overview
of a selection of bots and discuss some of the AI approaches
they implement. We only mention those bots that were active
in one of the 2017 competitions, have recently been updated,
and employ some more complex AI techniques.
CherryPi: CherryPi is a TorchCraft [12] Zerg bot devel-
oped by Facebook AI Research team. It is implemented
as a collection of heterogenous modules that can be
added, removed, or configured via the command line.
This design allows individual modules to be easily re-
placed with learning-powered modules, or to do narrow
experiments using only a subset of them. The modules
communicate by exchanging two kinds of data elements
via the blackboard architecture: Key-value pairs and so-
called UPC objects (Unit, Position, Command), which
have a generic enough meaning to be loosely interpreted
by other modules. In general, a UPC represents a prob-
ability distribution of units, a probability distribution
of positions and a single command. Build orders are
represented as a set of prioritized requests pushed into a
queue that fills in requirements and applies optimizations
(like allocating resources for just-in-time construction).
Fight-or-flight decisions are made by clustering units and
running a combat simulation. CherryPi’s combat simu-
lation works similarly to SparCraft simulation package
(see UAlbertaBot) with a naive “attack-the-closest-target”
policy for enemy behavior. A threat-aware path-finding is
used to find the least dangerous routes to a safety. The
selection of high-level strategy across multiple games is
based on UCB1 algorithm, selecting from a fixed list of
strategies against each race. The bot uses TorchCraft to
communicate with BWAPI over TCP, which allows it to
run on a different host than StarCraft.
cpac: A Zerg bot created by a 13-person team from
China, cpac combines hard-coded rules with a multi-layer
perceptron network for unit production. The network is
trained on state-action pairs extracted from a large data
set of BroodWar games 8. The core of cpac bot is based
on the bots UAlbertaBot and Steamhammer (see below).
ForceBot: ForceBot is a Zerg bot written in GOAL –
an agent-based programming language designed on top
of BWAPI for programming cognitive agents.9Since
the GOAL language is designed to implement multi-
agent systems, all of ForceBot’s units have their own
corresponding agent with specific beliefs and goals. Each
agent more or less follows a rule-based AI pattern.
Iron:10 Iron bot won the 2016 AIIDE competition, and
is a decentralized multi-agent system, with each unit
controlled by a highly autonomous individual agent, able
to switch between 25 behaviors. All its units share one
simple aim: go to the main enemy base and destroy it.
It often seems like a harasser bot, which is due to its
units having mainly individual behavior. There are also
8 Brood War Data Mining
Competition Year TM Software Open-Source Maps 1st Place 2nd Place 3rd Place
AIIDE 2010 Manual Optional Unannounced Overmind Krasi0 Chronos
AIIDE 2011 AIIDE TM Forced Announced Skynet UAlbertaBot Aiur
AIIDE 2012 AIIDE TM Forced Announced Skynet Aiur UAlbertaBot
AIIDE 2013 AIIDE TM Forced Announced UAlbertaBot Skynet Aiur
AIIDE 2014 AIIDE TM Forced Announced IceBot Ximp LetaBot
AIIDE 2015 AIIDE TM Forced Announced tscmoo ZZZKBot Overkill
AIIDE 2016 AIIDE TM Forced Announced Iron ZZZKBot tscmoo
AIIDE 2017 AIIDE TM Forced Announced ZZZKBot PurpleWave Iron
CIG 2011 Manual Optional Unannounced Skynet UAlbertaBot Xelnaga
CIG 2012 AIIDE TM Optional Unannounced Skynet UAlbertaBot Xelnaga
CIG 2013 Java-based TM Optional Unannounced Skynet UAlbertaBot Aiur
CIG 2014 AIIDE TM Forced Unannounced IceBot Ximp LetaBot
CIG 2015 AIIDE TM Optional Unannounced ZZZKBot tscmoo Overkill
CIG 2016 AIIDE TM Forced Announced tscmoo Iron LetaBot
CIG 2017 AIIDE TM Forced Announced ZZZKBot tscmoo PurpleWave
SSCAIT 2011 Custom Optional Announced Roman Danielis N/A N/A
SSCAIT 2012/13 Custom Optional Announced DementorBot Marcin Bartnicki UAlbertaBot
SSCAIT 2013/14 Custom Optional Announced Ximp WOPR UAlbertaBot
SSCAIT 2014/15 AIIDE TM + Mod Optional Announced LetaBot WOPR UAlbertaBot
SSCAIT 2015/16 AIIDE TM + Mod Optional Announced LetaBot Carsten Nielsen UAlbertaBot
SSCAIT 2016/17 AIIDE TM + Mod Optional Announced LetaBot Wulibot Zia Bot
SSCAIT 2017/18 AIIDE TM + Mod Optional Announced Wulibot LetaBot Carsten Nielsen
so-called “expert” agents who autonomously recommend
how resources should be spent and what units should be
trained, based on heuristics.
KillAll: KillAll is a Zerg bot based on the Overkill bot
by Sijia Xu, and most of its functionality is rule-based.
However, its production module uses Q-learning to select
unit types to produce based on the current situation.
Krasi0bot: Krasi0bot has competed every year since
2010, and is still being actively developed. According
to the author it originally started as a rule-based bot, and
currently makes some use of genetic algorithms, neural
networks and potential fields. As the bot is not open-
source, these details cannot be verified. Krasi0bot plays
the Terran race, and is known for its strong defensive
capabilities, and wide variety of strategies implemented.
LetaBot:11 LetaBot won the 2014, 2015, and 2016 SS-
CAIT tournaments. It uses Monte Carlo Tree Search
(MCTS) to plan the movement of groups of units around
the map. A similar approach has previously been used by
the author of Nova bot, Alberto Uriarte [13]. It employs
cooperative pathfinding for resource gathering and text
mining to extract build orders from Liquipedia articles.
McRave: All the decisions of McRave bot are based on
current enemy unit composition – there are no hard-coded
tech choices. The bot also builds an opponent model and
uses it to select build orders.
MegaBot:12 For every game, MegaBot [14] chooses one
of three approaches, each of which is implemented as a
different bot (Skynet, Xelnaga or NUSBot). Algorithm
selection is modeled as a multi-armed bandit. At the
beginning of the game, an algorithm is selected using
epsilon-greedy strategy. After the game, the reward is per-
ceived (+1, 0, -1 for victory, draw and loss, respectively)
and the value of the selected algorithm is updated via
an incremental version of recency-weighted exponential
average (Q-learning update rule).
PurpleWave:13 The decision making of PurpleWave bot
is mainly based on hierarchical task networks. For micro-
management, it uses a hybrid squad/multi-agent approach
and nearest neighbors clustering. The bot then simulates
the outcomes of battles and suggests tactics for squads
by min-maxing tactical approaches by each side (e.g.
“charge in”, “run away”, or “fight with workers”). In
the end, each unit takes the tactical suggestion under
advisement, but behaves independently. The units choose
between approximately two dozen simple, reusable state-
less behaviors. The bot heuristics include using potential
fields for unit movement. Strategies are chosen based on
results of previous games, race, map, and number of start-
ing positions. It has a graph of strategy selections, like
opening build orders paired with mid game transitions
and late-game compositions.
StarcraftGP: StarcraftGP is the first StarCraft meta-bot –
a program that autonomously creates a program that au-
tonomously plays StarCraft [15]. Currently, StarcraftGP
v0.1 is using (Linear) Genetic Programming and it is able
to directly write C++ code. Its first creations: Salsa and
Tequila, have been the first bots not directly written by a
human to participate in international competitions.
2010 2011 2012 2013 2014 2015 2016 2017
AIIDE 17 13 10 818 22 21 28
CIG 10 10 813 14 18 20
SSCAIT 50 52 50 42 46 46 78
Starcraft AI Competitions - Total Entrants
2010 2011 2012 2013 2014 2015 2016 2017
AIIDE 70 2340 8279 5579 10251 20788 18882 41580
CIG 40 4050 2500 4680 2730 14787 23750
SSCAIT 100 1326 1190 861 1035 1980 6006
Starcraft AI Competitions - Total Games Played
Fig. 4. Statistics for each of the 3 major annual StarCraft AI Competitions: AIIDE, CIG, and SSCAIT, since the first competition in 2010. Shown on the left
is the number of total entrants for each competition, and on the right are the total number of games played in each competition.
Steamhammer:14 The Zerg bot Steamhammer, developed
by Jay Scott, and its random-race version Randomham-
mer are based on UAlbertaBot (see below), employing
sophisticated combat simulation to predict the outcome
of battles. The bots also use hierarchical reactive control
for the units. For Protoss and Terran production, Ran-
domhammer uses branch-and-bound search, while Zerg
is currently rule-based.
tscmoo:15 tscmoo won the 2015 AIIDE and 2016 CIG
competitions. The bot uses no external libraries: it has its
own combat simulation code to predict the outcome of
battles, it does not use BWTA16 to analyze the terrain
and it even has its own threat-aware path-finding for
individual units. The bot is one of the most strategically
diverse, and selects among its many strategies based on
their success in previous games. Recent versions of the
bot experimented with recurrent neural networks for high-
level strategy and build order decisions.
UAlbertaBot:17 UAlbertaBot has competed in every ma-
jor StarCraft AI Competition since 2010, and won
the 2013 AIIDE competition. UAlbertaBot uses a dy-
namic heuristic-search based Build-Order Search System
(BOSS) to plan all its build-orders in real time, as well as
a StarCraft combat simulation system called SparCraft for
estimating the outcome of in-game battles. The bot uses
the results of previous games against specific opponents
to choose a strategy to implement at the beginning of
each game, with each strategy being defined in an external
JSON configuration file. Its development has focused on
its ease of use and modification, and as such has become
the basis of more than 10 other bots in current competi-
tions, including LetaBot, Overkill, and Steamhammer. In
2017 UAlbertaBot became CommandCenter18, the first
bot capable of playing both BroodWar and StarCraft 2.
ZZZKbot:19 ZZZKBot, a Zerg bot developed by Chris
Coxe, was the winner of the 2017 AIIDE and CIG
competitions. Its overall strategy implements 4 simple 1-
base rush strategies: 4-pool, Speedlings, Hydralisks, and
Mutalisks. If the initial rush does not end the game, the
bot switches to either Mutalisks or Guardians for the
late game, while researching upgrades for all its units.
The bot records win/loss information for each opponent,
and uses this information to pick the best combination
of strategy parameters for future games in a rule-based
manner. The majority of the bots rules for unit control
and micromanagement are simple rule-based behaviors
based on expert knowledge prioritization.
We can observe over the past few years that StarCraft
AI bots are indeed getting stronger overall. In the AIIDE
and CIG competitions, several bots from previous years are
intentionally left in the next year to serve as a benchmark
for progress, and we see each time that these benchmark
bots do worse over time. Also, expert players and enthusiasts
observe replays and note how they feel bots have gotten
better or worse over time. Most notably, many of these expert
players feel that the bots have been gradually adapting a more
’standard’ playing style than earlier bots, who traditionally
did one strategy such as a rush, but not much else. More
modern bots have developed mid and even late game tactics
that were not seen in earlier rushing bots. Overall, bots seem
to be getting better at army composition, build-order selection,
building placement, and overall game strategy.
While the strongest bots currently play at an amateur human
level, expert players have noted that they still appear to be
weak in a few key areas. Most importantly, bots still seem quite
weak at adapting their strategies dynamically during a match
in response to information gained about their opponent. The
majority of bots employ a playbook of several strategies that
they choose from at the start of a match and follow through
to the end of the game, with only a few bots attempting to
dramatically change things if the opponent does something
unexpected. This means that bots are still quite vulnerable to
human players who are more easily able to change strategies
and tactics as a game goes on. Current bots also seem quite
Fig. 5. The Tournament Manager Software running in a computer lab for the
CIG competition, which distributes bot games to multiple machines.
vulnerable to the human ability to quickly identify bot patterns
and behavior, and exploit this quickly during a match. For
example, one human player during a human vs. machine match
noted that one bot unit would chase his Zergling when it got
close to the bots’ units, and proceeded to run the Zergling next
to the bot army, and then lead the bot on a wild goose chase
throughout the entire map. The entire time, the bot may have
been reasoning that its army could win the fight against the
single Zergling unit, while not realizing that the human was
just buying time until its army was ready for the final attack.
This also illustrates one of the biggest challenges in all of
artificial intelligence: understanding the long term effects of
actions which have delayed rewards. An expert human is able
to quickly understand that they are being exploited in such a
way, and that it will have negative effects down the road, and
is able to stop the behavior. This long-term vision that is so
intuitive to humans remains a problem for current RTS AI.
All three StarCraft AI competitions covered in this paper
use the same open-source tool (with different parameters)
to automate the bot games. The tool is called StarCraft AI
Tournament Manager (TM) 20 and was created / maintained by
David Churchill and Richard Kelly for the AIIDE competition.
It allows tournaments of thousands of bot vs. bot games to
be played automatically on any number of physical or virtual
machines, as seen in Figure 5. The original version of the
software was created in 2011 for the AIIDE StarCraft AI
Competition. The CIG StarCraft AI Competition has used the
TM software since 2012, and SCCAIT has used a modified
version of the tournament manager since 2014.
The TM software supports both round robin and one vs.
all tournaments for testing one bot against others. The server
stores all bot and map files, as well as results and replay
files generated by the BroodWar clients. Files are sent over
Java sockets between the server and client machines. The
tournament manager supports bots using different versions of
BWAPI, and support for new versions can easily be added,
allowing bots written in any version of BWAPI to play in the
same tournament. Each client machine currently requires an
installation of StarCraft: BroodWar version 1.16.1.
Fig. 6. Tournament Manager server GUI
The TM software uses a server-client architecture dis-
tributed over multiple physical or virtual machines connected
via LAN, with one machine acting as a server (coordinating
the matchups and processing results) and any number of other
machines acting as clients (running the bots and StarCraft).
The tournament manager is written entirely in Java. The clients
should run on Windows machines due to system requirements
of StarCraft, while the server is fully platform-independent.
All the data sent and received is compressed and passed
through Java sockets over TCP/IP.
A. Server
When running the software, one machine acts as a server for
the tournament. The server machine holds central repository of
all the bot files, their custom I/O data files, cumulative results,
and replay files. The server monitors and controls each client
remotely and displays the tournament’s progress in real time
via the server GUI (see Figure 6), also writing the current
results to an HTML file every few seconds.
The server program has a threaded component which moni-
tors client connections and detects disconnections, maintaining
a current list of clients. Each client is in one of the following
states at all times (column “Status” in Figure 6):
READY: Client is ready to start a game of StarCraft.
STARTING: Client has started the StarCraft LAN lobby
but the match has not yet begun.
RUNNING: A game of StarCraft is currently in progress
on the client machine.
SENDING: Client has finished the game and is sending
results and data back to the server.
The server’s main scheduling loop tries to schedule the next
game from the games list every 2 seconds. A new game is
started whenever both of these conditions are true:
1) two or more Clients are in READY state, and
2) no clients are in STARTING state.
Once these two conditions are met, the server sends the
required bot files, BWAPI version used by the bots, map file,
and DLL injector to the client machines. The state of those
clients is then set to STARTING.
Each client is handled by a separate thread in the server, and
if the client is STARTING, RUNNING, or SENDING, it sends
periodic status updates back to the server once per second for
remote monitoring. Data updates include current game time,
time-out information, map name, game ID, etc. When a client
finishes a game, it also sends the results, I/O data files created
by the bots and replay files, which are all stored on the server.
This process is repeated until the tournament has finished.
Shutting down the server via the GUI will cause all the
client games to stop and all clients to shut down and properly
clean up remote machines. The tournament can be resumed
upon re-launching the server as long as the results file, games
list, and settings files do not change. If the server is shut
down with games in progress (results not yet received by the
server), those games will be rescheduled and played again.
The server GUI can send commands to the client machines,
take screenshots of the client machine desktops, and remove
clients from the tournament. Individual client machines can be
added and removed without stopping the current tournament.
B. Client
The client software can be run on as many machines as
needed. After an initial setup of the client machine (installing
StarCraft, required libraries, etc.) the client software connects
to the server machine via TCP/IP and awaits instructions.
The client machine will stay idle until it receives instructions
from the server that a game should be run. Once the client
receives the instructions and required files from the server,
it ensures that no current StarCraft processes are running,
ensures a clean working StarCraft directory, records a current
list of the running processes on the client machine, writes
the BWAPI settings file, and starts the game. When the game
starts, a custom BWAPI Tournament Module DLL is injected
into the StarCraft process. It updates a special GameState file
on the hard drive every few frames – this is used to monitor
the current state of the running StarCraft game. The client
software watches this file to check for various conditions, such
as bot time-outs, crashes, game frame progression, and game
termination. While the game is running, the client also sends
the contents of the GameState file to the server once per second
for centralized monitoring.
Once the game has ended or was terminated for any reason,
the results of the game, replay files, and bot’s I/O data files
are sent to the server. After this, the client shuts down any
processes on the machine which were not running when the
game began, to prevent crashed proxy bots or stray threads
from hogging system resources from future games. StarCraft
is shut down, the machine is cleaned of any files written during
the previous game, and the client state is reverted to READY.
Since 2017, client machines can be labeled with custom
properties such as extra ram or GPU, and bots can be labeled
with matching custom requirements. Only clients that have
all the requirements of a bot will be used for hosting that
bot, and clients with special properties will be reserved to be
used last to increase their availability for bots requiring them.
The TM software also supports both DLL based bots and bots
with their own executable file which interface with BWAPI.
This server-client architecture has allowed tens of thousands
of games to be played in AI competitions each year.
In this paper we have given an overview of the 3 major
annual StarCraft AI competitions, introduced the open-source
software powering them, and described some of the top
performing bot participants. As seen in Figure 4, each year,
participation in these competitions has continued to rise, as
well as the number of games played between bots in the
competitions. In the past 2-3 years, the bots in these competi-
tions have become more strategically complex and functionally
robust, employing a range of state-of-the-art AI techniques
from the fields of heuristic search, machine learning, neural
networks, and reinforcement learning. For many researchers,
StarCraft AI competitions continue to be the environment of
choice to showcase state-of-the art techniques for real-time
strategic AI systems. With the increase in participation in
StarCraft AI competitions, combined with the surge in activity
in the field of RTS AI from hobbyist programmers, academic
institutions, and industry researchers, we are hopeful that we
may see a StarCraft AI capable of challenging human experts
within the next few years.
[1] M. Buro, “Call for AI research in RTS games,” in Proceedings of the
4th Workshop on Challenges in Game AI, 2004, pp. 139–142.
[2] S. Ontan´
on, G. Synnaeve, A. Uriarte, F. Richoux, D. Churchill, and
M. Preuss, “A survey of real-time strategy game AI research and com-
petition in StarCraft,” IEEE Transactions on Computational Intelligence
and AI in Games, vol. 5, pp. 293–311, 2013.
[3] M. Buro and D. Churchill, “Real-time strategy game competitions,AI
Magazine, vol. 33, no. 3, p. 106, 2012.
[4] E. Gibney, “What google’s winning go algorithm will do next.Nature,
vol. 531, no. 7594, pp. 284–285, 2016.
[5] A. Heinermann, “Broodwar API,”,
2013. [Online]. Available:
[6] D. Churchill, M. Preuss, F. Richoux, G. Synnaeve, A. Uriarte, S. On-
on, and M. Certick`
y, “Starcraft bots and competitions,” Encyclopedia
of Computer Graphics and Games, 2016.
[7] S. Ontan´
on, G. Synnaeve, A. Uriarte, F. Richoux, D. Churchill, and
M. Preuss, “RTS AI: Problems and Techniques,Encyclopedia of
Computer Graphics and Games, 2015.
[8] J. Mal ´
y, M. ˇ
Sustr, and M. ˇ
y, “Multi-platform Version of
StarCraft: Brood War in a Docker Container: Technical Report,” arXiv
preprint, 2018.
[9] B. P. Mattsson, T. Vajda, and M. ˇ
y, “Automatic observer script
for StarCraft: Brood War bot games (technical report),arXiv preprint
arXiv:1505.00278, 2015.
[10] A. E. Elo, The rating of chessplayers, past and present. Arco Pub.,
[11] D. Loiacono, P. L. Lanzi, J. Togelius, E. Onieva, D. A. Pelta, M. V.
Butz, T. D. Lonneker, L. Cardamone, D. Perez, Y. S ´
aez et al., “The
2009 simulated car racing championship,” IEEE Transactions on Com-
putational Intelligence and AI in Games, vol. 2, no. 2, pp. 131–147,
[12] G. Synnaeve, N. Nardelli, A. Auvolat, S. Chintala, T. Lacroix, Z. Lin,
F. Richoux, and N. Usunier, “Torchcraft: a library for machine learning
research on real-time strategy games,” arXiv preprint arXiv:1611.00625,
[13] A. Uriarte and S. Ontan´
on, “High-level representations for game-tree
search in rts games,” in Tenth Artificial Intelligence and Interactive
Digital Entertainment Conference, 2014.
[14] A. Tavares, H. Azp´
urua, A. Santos, and L. Chaimowicz, “Rock, pa-
per, starcraft: Strategy selection in real-time strategy games,” in 12th
Artificial Intelligence and Interactive Digital Entertainment Conference
(AIIDE), 2016, pp. 93–99.
[15] P. Gar´
anchez, A. Tonda, A. M. Mora, G. Squillero, and J. Merelo,
“Towards automatic starcraft strategy generation using genetic program-
ming,” in Computational Intelligence and Games (CIG), 2015 IEEE
Conference on. IEEE, 2015, pp. 284–291.
... Our survey of StarCraft evaluations found only task-based evaluations using StarCraft match winners (e.g. (Churchill, Buro, and Kelly 2019)) or overviews of the tournaments in general (Čertickỳ and Churchill 2017;Čertickỳ et al. 2018). In contrast, abilitybased evaluations focus on characteristics that enable per-formance across several tasks. ...
Full-text available
Managing risk with imperfect information is something humans do every day, but we have little insight into the abilities of AI agents to do so. We define two risk management strategies and perform an ability-based evaluation using StarCraft agents. Our evaluation shows that nearly all agents mitigate risks after observing them (react), and many prepare for such risks before their appearance (anticipate). For this evaluation, we apply traditional causal effect inference and causal random forest methods to explain agent behavior. The results highlight different risk management strategies among agents, others strategies that are common to agents, and overall encourage evaluating agent risk management abilities in other AI domains.
Full-text available
Professional StarCraft game players are likely to focus on the management of the most important group of units (called the main force) during gameplay. Although macro-level skills have been observed in human game replays, there has been little study of the high-level knowledge used for tactical decision-making, nor exploitation thereof to create AI modules. In this paper, we propose a novel tactical decision-making model that makes decisions to control the main force. We categorized the future movement direction of the main force into six classes (e.g., toward the enemy’s main base). The model learned to predict the next destination of the main force based on the large amount of experience represented in replays of human games. To obtain training data, we extracted information from 12,057 replay files produced by human players and obtained the position and movement direction of the main forces through a novel detection algorithm. We applied convolutional neural networks and a Vision Transformer to deal with the high-dimensional state representation and large state spaces. Furthermore, we analyzed human tactics relating to the main force. Model learning success rates of 88.5%, 76.8%, and 56.9% were achieved for the top-3, -2, and -1 accuracies, respectively. The results show that our method is capable of learning human macro-level intentions in real-time strategy games.
Reinforcement learning has shown an outstanding performance in the applications of games, particularly in Atari games as well as Go. Based on these successful examples, we attempt to apply one of the well-known reinforcement learning algorithms, Deep Q-Network, to the AI Soccer game. AI Soccer is a 5:5 robot soccer game where each participant develops an algorithm that controls five robots in a team to defeat the opponent participant. Deep Q-Network is designed to implement our original rewards, the state space, and the action space to train each agent so that it can take proper actions in different situations during the game. Our algorithm was able to successfully train the agents, and its performance was preliminarily proven through the mini-competition against 10 teams wishing to take part in the AI Soccer international competition. The competition was organized by the AI World Cup committee, in conjunction with the WCG 2019 Xi’an AI Masters. With our algorithm, we got the achievement of advancing to the round of 16 in this international competition with 130 teams from 39 countries.
Many attempts have been made to promote cooperation for multi-agent systems. However, several issues that draw less attentions but may dramatically degrade the cooperation performance still exist, such as redundant information interactions among neighbors, and difficulties in understanding complex and dynamic environments from high-level cognition. To address these limitations, a cognition-driven multi-agent policy (CDMAP) learning framework is proposed in this paper. It includes a cognition difference network (CDN), a coupling cognition network (CCN), and a policy optimization network (PON). CDN is designed based on a variational auto-encoder, where a concept of cognition difference is defined to prune redundant interactions among agents for more efficient communication. Based on the pruned topology, CCN captures the hidden representations of the surrounding environment. The novelty lies in that several coupling graph attention layers are incorporated, each graph with different but coupling adjacent matrices, yielding a comprehensive state understanding from multiple representation spaces. Based on the captured hidden states, PON generates the final policies, where QMIX is adopted as a value factorization method to alleviate the credit-assignment problem. At last, CDMAP is evaluated through two representative multi-agent games including Google Research Football and StarCraft II. The results demonstrate its superior effectiveness compared with existing methods. Animated demonstrations and performance video of the learned strategy are provided in .
Full-text available
The latest achievements in the field of reinforcement learning have encouraged the development of vision-based learning methods that compete with human-provided results obtained on various games and training environments. Convolutional neural networks together with Q-learning-based approaches have managed to solve and outperform human players in environments such as Atari 2600, Doom or StarCraft II, but the niche of 3D realistic games with a high degree of freedom of movement and rich graphics remains unexplored, despite having the highest resemblance to real-world situations. In this paper, we propose a novel testbed to push the limits of deep learning methods, namely an OpenAI Gym-like environment based on Dark Souls III, a notoriously difficult role-playing game, where even human players have reportedly struggled. We explore two types of architectures, Deep Q-Network and Deep Recurrent Q-Network, providing the results of a first incursion into this new problem class. The source code for the training environment and baselines is made available.
Human game observers, who control in-game cameras and provide viewers with an engaging experience, are a vital part of electronic sports (Esports) which has emerged as a rapidly growing industry in recent years. However, such a professional human observer poses several problems. For example, they are prone to missing events occurring concurrently across the map. Further, human game observers are difficult to afford when only a small number of spectators are spectating the game. Consequently, various methods to create automatic observers have been explored, and these methods are based on defining in-game events and focus on defined events. However, these event-based methods necessitate detailed predefined events, demanding high domain knowledge when developing. Additionally, these methods cannot show scenes that contain undefined events. In this paper, we propose a method to overcome these problems by utilizing multiple human observational data and an object detection method, Mask R-CNN, in a real-time strategy game (e.g., StarCraft).By learning from human observational data, our method can observe scenes that are not defined as events in advance. The proposed model utilizes an object detection mechanism to find the area where the human spectator is interested. We consider the pattern of the two-dimensional spatial area that the spectator is looking at as the object to find, rather than treating a single unit or building as an object which is conventionally done in object detection. Consequently, we show that our automatic observer outperforms both current rule-based methods and human observers. The game observation video that compares our method and the rule-based method is available at
Full-text available
In real-time strategy games, players collect resources, control various units, and create strategies to win. The creation of winning strategies requires accurately analyzing previous games; therefore, it is important to be able to identify the key situations that determined the outcomes of those games. However, previous studies have mainly focused on predicting game results. In this study, we propose a methodology to predict outcomes and to identify information about the turning points that determine outcomes in StarCraft Ⅱ, one of the most popular real-time strategy games. We used replay data from StarCraft Ⅱ that is similar to video data providing continuous multiple images. First, we trained a result prediction model using 3D-residual networks (3D-ResNet) and replay data to improve prediction performance by utilizing in-game spatiotemporal information. Second, we used gradient-weighted class activation mapping to extract information defining the key situations that significantly influenced the outcomes of the game. We then proved that the proposed method outperforms by comparing 2D-residual networks (2D-ResNet) using only one time-point information and 3D-ResNet with multiple time-point information. We verified the usefulness of our methodology on a 3D-ResNet with a gradient class activation map linked to a StarCraft Ⅱ replay dataset.
Full-text available
We present a dockerized version of a real-time strategy game StarCraft: Brood War, commonly used as a domain for AI research, with a pre-installed collection of AI developement tools supporting all the major types of StarCraft bots. This provides a convenient way to deploy StarCraft AIs on numerous hosts at once and across multiple platforms despite limited OS support of StarCraft. In this technical report, we describe the design of our Docker images and present a few use cases.
Full-text available
We present TorchCraft, an open-source library that enables deep learning research on Real-Time Strategy (RTS) games such as StarCraft: Brood War, by making it easier to control these games from a machine learning framework, here Torch. This white paper argues for using RTS games as a benchmark for AI research, and describes the design and components of TorchCraft.
Conference Paper
Full-text available
From an AI point of view, Real-Time Strategy (RTS) games are hard because they have enormous state spaces, they are real-time and partially observable. In this paper, we explore an approach to deploy game- tree search in RTS games by using game state abstraction, and explore the effect of using different abstractions over the game state. Different abstractions capture different parts of the game state, and result in different branching factors when used for game-tree search algorithms. We evaluate the different representations using Monte Carlo Tree Search in the context of StarCraft.
Conference Paper
Full-text available
Among Real-Time Strategy games few titles have enjoyed the continued success of StarCraft. Many research lines aimed at developing Artificial Intelligences, or " bots " , capable of challenging human players, use StarCraft as a platform. Several characteristics make this game particularly appealing for researchers, such as: asymmetric balanced factions, considerable complexity of the technology trees, large number of units with unique features, and potential for optimization both at the strategical and tactical level. In literature, various works exploit evolutionary computation to optimize particular aspects of the game, from squad formation to map exploration; but so far, no evolutionary approach has been applied to the development of a complete strategy from scratch. In this paper, we present the preliminary results of StarCratfGP, a framework able to evolve a complete strategy for StarCraft, from the building plan, to the composition of squads, up to the set of rules that define the bot's behavior during the game. The proposed approach generates strategies as C++ classes, that are then compiled and executed inside the OpprimoBot open-source framework. In a first set of runs, we demonstrate that StarCraftGP ultimately generates a competitive strategy for a Zerg bot, able to defeat several human-designed bots.
Full-text available
RTS games - such as StarCraft by Blizzard Entertainment and Command and Conquer by Electronic Arts - are popular video games that can be described as real-time war simulations in which players delegate units under their command to gather resources, build structures, combat and support units, scout opponent locations, and attack. The winner of an RTS game usually is the player or team that destroys the opponents' structures first. Unlike abstract board games like chess and go, moves in RTS games are executed simultaneously at a rate of at least eight frames per second. In addition, individual moves in RTS games can consist of issuing simultaneous orders to hundreds of units at any given time. If this wasn't creating enough complexity already, RTS game maps are also usually large and states are only partially observable, with vision restricted to small areas around friendly units and structures. Complexity by itself, of course, is not a convincing motivation for studying RTS games and building AI systems for them. What makes them attractive research subjects is the fact that, despite the perceived complexity, humans are able to outplay machines by means of spatial and temporal reasoning, long-range adversarial planning and plan recognition, state inference, and opponent modeling, which - we hypothesize - are enabled by powerful hierarchical state and action abstractions. Copyright © 2012, Association for the Advancement of Artificial Intelligence. All rights reserved.
Full-text available
This short report describes an automated BWAPI-based script developed for live streams of a StarCraft Brood War bot tournament, SSCAIT. The script controls the in-game camera in order to follow the relevant events and improve the viewer experience. We enumerate its novel features and provide a few implementation notes.
Conference Paper
The correct choice of strategy is crucial for a successful real-time strategy (RTS) game player. Generally speaking, a strategy determines the sequence of actions the player will take in order to defeat his/her opponents. In this paper we present a systematic study of strategy selection in the popular RTS game StarCraft. We treat the choice of strategy as a game itself and test several strategy selection techniques, including Nash Equilibrium and safe opponent exploitation. We adopt a subset of AIIDE 2015 StarCraft AI tournament bots as the available strategies and our results suggest that it is useful to deviate from Nash Equilibrium to exploit sub-optimal opponents on strategy selection, confirming insights from computer rock-paper-scissors tournaments.
AlphaGo’s techniques could have broad uses, but moving beyond games is a challenge.