Revised Rules
(more details)
Software Requirements
All entries must use BWAPI version 3.6(.1) and run under Windows XP
SP3. No exceptions. For each entry we need a DLL that can be used by
chaoslauncher to start a game or a batch file that starts a proxy bot
(see Submission).
Make sure that each onframe call does not run longer than 42ms. Entries
that slow down games by repeatedly exceeding this time limit will lose games on time. In particular:
In a match a bot LOSES on time iff
>= 2 frames exceed 10 seconds
or >= 10 frames exceed 1 second
or >= 200 frames exceed 55ms
first.
Also, unlike the first Starcraft AI competition, this
year we demand that all source code and data files needed to compile
and run the competition entries will be made available to the public
as free software with a license that
is compatible
with the GNU public license.
We received a variety of opinions on this matter and decided, in the
end, that to foster research it is best to have the next generation of
programmers stand on the shoulders of giants, rather than re-invent
the wheel. Please note, that program authors retain the copyright of
their code. Also, releasing code as free software will allow new
authors to take code from the previous competition and improve
it. This has worked well in the past in the International Planning and
ORTS competitions.
We reserve the right to reject entries if we feel the authors attempt
to obfuscate their code (like using silly or deceiving variable names
or encoding their algorithm in a 10MB FSM transition matrix stored on
disk). Authors who are concerned about the source code leaking
information that has not been published yet, are encouraged to submit
a technical report to their institutions that describes their entries
prior to submitting the code.
To simplify this process we ask authors to only use standard
development tools, that can be invoked via shell commands (such as
Visual C++). In case remote access is not feasible, we will need
detailed instructions for building each DLL.
Hardware Configuration
The tournament will be run on 20 undergraduate lab machines. Each program
will get exclusive access to a PC with an Intel E8500 CPU and 4 GB of RAM.
Format
Each player can choose its race and will play complete games against
other players. Currently, BWAPI (3.6.1) does not support random race
selection, so you need to choose one fixed race. Games are timed. If
the winner of a game is undecided after 1 hour, the player with the
higher Starcraft built-in score at that point in time wins.
Our goal is to maximize the number of played games to make the results
statistically significant. We will play as many round-robin rounds on
20 lab computers in 5 days as possible.
In between rounds storage will be cleared. I.e., any data written to
disk will be removed. Originially, we had planned to allow entries to
store persistent data on disk for opponent modelling
purposes. However, in addition to network file locking problems, this
can create fairness issues if the tournament software is allowed to
schedule games asynchronously (which it does to maximize the number of
played games).
Maps
We have selected 10 maps for the full-game
competition. For each encounter of any two programs a subset of those
maps will be chosen randomly (see MapPicker.java).
The map files are ordered lexicographically:
0: (2)Benzene.scx
1: (2)Destination.scx
2: (2)Heartbreak Ridge.scx
3: (3)Aztec.scx
4: (3)Tau Cross.scx
5: (4)Andromeda.scx
6: (4)Circuit Breaker.scx
7: (4)Empire of the Sun.scx
8: (4)Fortress.scx
9: (4)Python.scx
Bots who registered earlier will host the first game when you are
paired with them, and hosting toggles in subsequent encounters.
|
Submission
Although we only accept 30 entries, we encourage teams 31-35
to submit their bots as well because some teams might withdraw.
For submitting an entry create two zip files: %botname%-src.zip and
%botname%-exe.zip, where %botname% is the name of your entry
(e.g. UAlbertaBot-src.zip and UAlbertaBot-exe.zip). All zip files must
contain a single root directory %botname% in which all other files
reside.
The src-zip %botname% directory must contain all source, library
(including BWAPI and BWSAL, BWTA if necessary, but
no huge libraries or executables that can be downloaded, such as boost
or jdk), and data files files and readme.txt
(sample) that explains how to build your DLL
or exe file. Following the instructions we will try to compile your
submission. If this fails, we will contact you and try to resolve the
issues. If we can't successfully build your DLL or exe files, your
submission will not take part in the tournament. The src zip and
replay files will be made available here after the tournament.
If you submit a DLL bot, the exe-zip %botname% directory must contain
either your DLL (%botname%.dll) and any other files you want present
in bwapi-data\AI\ folder for your bot to use.
Example:
UAlbertaBot\UAlbertaBot.dll
For proxy bots, the exe-zip %botname% directory must contain
all files your bot needs and a batch file
named run.bat that contains the command(s) needed to start your bot.
Your bot MUST exit after one game.
Example: Files in zip archive:
UAlbertaBot\UAlbertaBot.exe
UAlbertaBot\run.bat
run.bat: UAlbertaBot.exe
Submit your entry using the following template via email AFTER we
have released the MD5 checksum of our files:
Subject: SCAI2011 SUBMISSION
Text (copy & paste):
Bot Name :
Contact Person Name (First, Last) :
Contact Person Email Address: :
Affiliation :
Random 32-bit number (hexadec.) :
Race :
DLL or ProxyBot :
Brief Description :
...
Don't forget to attach: %botname%-src.zip and %botname%-exe.zip and
note that you need to submit a new random number (because we
didn't release ours in time). Late entries will be rejected.
Conflict of Interest
Organizing AND participating in events like this can be tricky, in
particular if some choices, like which maps we use, are made
"randomly", and we get access to competitors source code prior to
running the tournament.
We address these problems as follows: 1) for choosing maps we will use
the standard Java pseudo random number generator that will be seeded
by the XOR combination of "random numbers" all program authors provide
when they submit their entry. Our random number is 0x7829D823. 2)
Before accepting zip files, we will distribute the MD5 check sums of
our zip files to all participants. This way, participants can be
confident that we don't change our entry after seeing their source
code.
|