Entry Name: Locutus
Contact Person Name: Bruce Nielsen
Race in this competition: Protoss
BWAPI Version in this competition: 4.1.2
Bot Type: AIModule
Learns using File I/O: Yes
License: MIT (see src/licenses/, src/BWEM/LICENSE, src/BWEM/LICENSE for license information of libraries used, and Libraries section below for a list of modifications)

Based on Steamhammer by Jay Scott, which in turn is based on UAlbertaBot by Dave Churchill.

Build instructions
------------------

The Visual Studio solution file is src/Steamhammer/VisualStudio/UAlbertaBot.sln.

The project versions are Visual Studio 2013, so if you open the solution in a newer version of Visual Studio, do not allow it to upgrade them. I use Visual Studio 2017 to compile the bot.

Required external dependencies are:
- BWAPI 4.1.2, located via environment variable BWAPI_DIR
- BWTA 2.2, located via environment variable BWTA_DIR

Once these dependencies are in place, compiling the Release configuration should produce Steamhammer/bin/Locutus.dll.

Libraries
---------

Locutus uses the following libraries:

BWAPI 4.1.2
BWTA 2.2
BOSS
BWEM-community, version at commit cf377c1 (see https://github.com/N00byEdge/BWEM-community)
BWEB 1.0.4 (see https://github.com/Cmccrave/BWEB)
FAP, version at commit c6db9a7 (see https://github.com/N00byEdge/Neohuman)

Modifications:

BWEM-community:
Fix crash when neutral buildings partially overlap

BWEB:
Modified some blocks, minor changes to build location selection (e.g. consider power, creep), small fix to natural choke selection

FAP:
Simulate bunker repair
Simple collision detection
Simulate kiting
Other small tweaks, e.g. scoring algorithm, tracking upgrades, tracking cooldown, etc.

Learning data
-------------

The om_*.txt files in the AI folder is learning data generated by running games locally against those opponents during my preparation for the tournament. In the first round of the tournament, these files will be integrated into the general opponent learning data stored in the write folder.

I've chosen to do this prelearning for opponents carried over from last year and opponents I expect to perform approximately the same as their current versions on SSCAIT.
