Skip to content

ZZZKBot v1.2 (used in AIIDE 2016)

Compare
Choose a tag to compare
@chriscoxe chriscoxe released this 05 Nov 16:44

The exact archive file (ZZZKBot-1.2.zip) that I submitted to the AIIDE 2016 Starcraft AI Competition on 7th September 2016. It won 2nd place by achieving second rank out of twenty one in the competition (http://www.starcraftaicompetition.com) which is run annually and presented annually at the Artificial Intelligence and Interactive Digital Entertainment (AIIDE) Conference. Contains source code and the DLL that I compiled (note: I expect that the AIIDE organizers later compiled their own DLL themselves). To get started, see the SCAI2016_ENTRY.txt file within the ZIP file, but here are some summary excerpts from that file:

ZZZKBot runs using BWAPI version 4.1.2, and is only supposed to play as Zerg in the AIIDE 2016 Starcraft AI competition. It does not use BWTA2/BWTA. ZZZKBot itself does not use disk I/O (i.e. has no logic to read or write files - not even log files), apart from any logic already built into BWAPI (if any). It tailors its behaviour to particular opponents based on in-game player names of the opponent bot(s).

A simple throw-away proof-of-concept cheesy kamikaze 4-pool bot implemented in a short amount of time to reach low-hanging fruit. Effective against many bots that do not have a solid opening economy/defence. Has some simple logic for scouting, targeting and resource-gathering. Apart from targeting its micro is very limited. Stays at 9 or 10 supply for several minutes of in-game time then techs straight to mutalisks or guardians (on only 1 base... soon runs out of gas...) in an attempt to finish off static defences of idle opponents, and mutalisks in an attempt to destroy lifted buildings. Uses speedling build against some opponents. Doesn't do much else. ZZZKBot is an improved and heavily refactored version of ZZZBot (ZZZBot won first rank in the CIG 2015 Starcraft AI competition).

Originally implemented in a quick and dirty fashion so releases would be ready for the CIG & AIIDE 2015 Starcraft AI competitions. If you want to examine/use the source code, be warned that the source code is messy, full of kludges, undocumented, has undocumented limitations/gotchas, and lacks hardly any good architecture/abstraction/encapsulation (e.g. the logic is all in one method (onFrame()) and uses static variables, and significant duplication of source code) because it was written in a rush (I was expecting to throw it away if it didn't do well in CIG 2015) and I haven't focussed on cleaning it up or rewriting it properly. I used BWAPI version 4.1.2's ExampleAIModule project as the source code starting point (i.e. C++).

License: GNU Lesser General Public License (LGPL) version 3. It is compatible with the GNU public license.

To see a summary of changes for each version, see CHANGES.txt.