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: Modified MIT (see src/licenses/, src/BWEM/LICENSE, src/BWEB/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 projects 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 fixes to choke selection

FAP:
Improve/implement simulation of bunker repair, dragoon kiting, collisions and cloaked units.

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

The om_*.txt files in the AI folder is learning data generated by simply running games locally against those opponents (or opponents expected to perform similarly). In the first round of the tournament, these files will be integrated into the general opponent learning data stored in the write folder.

There is also a csv file for each map containing data for optimizing the worker order timer. The data has been generated by running games on these maps, but as the maps are static, new files will not be written during the tournament.
