Entry Name                                   : ZZZKBot (please don't change the case-sensitivity of these letters and don't shorten it)
Contact Person Name (First, Last)            : Chris Coxe
Contact Person Email Address:                : chris (dot) coxe (at) gmail (dot) com
Affiliation                                  : Independent
Race (in full game)                          : Zerg
DLL or ProxyBot                              : DLL
BWAPI Version (3.7.4 or 4.X)                 : 4.1.2
Brief Description (AI techniques used, strengths, etc) :

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 until about 15 minutes in-game time then techs straight to 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).

Technical details and instructions:

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, hacky, 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 / rewriting it properly. I used BWAPI version 4.1.2's ExampleAIModule project as the source code starting point (i.e. C++).

Version: 1.0, i.e. version for the AIIDE 2015 Starcraft AI competition submitted on 10th October 2015. The DLL file included in the submission was compiled on Windows 7 SP1 using Microsoft Visual Studio Express 2013 for Windows Desktop (in Release mode not Debug mode) and I have tested that the exact DLL file included in the submission runs fine on Windows XP SP3 and runs fine on Windows 7 SP1.

License: it is compatible with the GNU public license. The license is contained in LICENSE.txt.

Instructions: Here are the instructions to build ZZZKBot from source code which have been tailored/condensed specifically for the AIIDE 2015 Starcraft AI competition submission. If you want more info please see INSTALL.txt for the full generic instructions, but you shouldn't need to read it. It might be helpful if you encounter problems.

1. On Windows (preferably Windows 7 SP1), install Microsoft Visual Studio
2013 (preferably Microsoft Visual Studio Express 2013 for Windows Desktop;
note that this is registerware, i.e. it can be downloaded for free from
Microsoft without registering, but after 30 days it will prompt you and
require you to register (free of charge) to be able to continue using it).
If you install the compiler on a different version of Windows than Windows
7 SP1 or if you install a different version of Microsoft Visual Studio than
Microsoft Visual Studio Express 2013 for Windows Desktop then I imagine you
may need to change compiler setting(s) in ZZZKBot.vcxproj to ensure that the
resulting DLL can be run on Windows XP SP3 (e.g. if it turns out that it
doesn't work, perhaps try changing the PlatformToolset option for
'Release|Win32' and 'Debug|Win32' configurations from "v120" to "v120_xp").

3. Install BWAPI 4.1.2 to a path that does not contain spaces.

4. Set the environment variable BWAPI_DIR to the path of where you installed
BWAPI 4.1.2 to. Note: the project does not depend on any other libraries,
does not reference any absolute file paths, and when the bot is run it does
not require any hard-coded file paths (e.g. it doesn't matter what directory
you have installed Starcraft: Broodwar to).

5. In Windows Explorer, double-click the ZZZKBot.vcxproj file.

6. Change the drop-down from "Debug" to "Release".

7. From the menu, select: BUILD -> Build Solution. It should build with no
errors/warnings.

8. A folder ZZZKBot/Release/ should be automatically created when building.
The output is a single DLL file in that folder named ZZZKBot.dll (ZZZKBot is
not comprised of any other/optional files when running it).

As mentioned above, ZZZKBot runs using BWAPI version 4.1.2, and is only
supposed to play as Zerg in the AIIDE 2015 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 names of the opponent bot(s).