

To Compile:
- Bwapi 4.1.2 & BWTA (set environment viariables with names BWAPI_DIR & BWTA_DIR)
- Open src/cpac/VisualStudio/cpac.sln in VS2013
- Select Release mode
- Build the cpac project
- Output will go to src/cpac/bin/cpac.dll

Tournament Setup:
- Copy cpac.dll (or the above compiled dll) to the tournament cpac/AI folder
- Copy cpac.json to the tournament cpac/AI folder
- Set bots: {"BotName": "cpac", "Race": "Zerg", "BotType": "dll", "BWAPIVersion": "BWAPI_412"}

Directory Structure:

- cpac.dll
- cpac.json (our config file)
- src (Bot source code)

			
Introduction:
- Based on Steamhammer by Jay Scott

Description of the machine leaning method
- We use a multilayer perceptron network for prediction of eight different kinds of units, i.e.,'Zergling', 'Hydralisk', 'Mutalisk', 'Scourge', 'Lurker', 'Ultralisk', 'Guardian', 'Devourer'. Combining the above algorithm with a series of rules, a prediction unit is given when the building queene is empty.
- Used dataset. From "A Dataset for StarCraft AI & an Example of Armies Clustering" by Gabriel Synnaeve and Pierre Bessire.The URL is http://www.starcraftai.com/wiki/StarCraft_Brood_War_Data_Mining. 
- Model training:
    - Features: We extract features using the .rgd files. The detailed description is listed in StrategyBossZerg.cpp. 
    - Training: It is a classical classification problem with the input being (state, label), where the state is features of a frame, and the label is a predicted unit (eight labels listed above).
    - Model: The model parameters are listed in src/Steamhammer/Source/ModelWeightInit.

Some important Rules
- Defend rush strategy.
- Enhance micro management.
- Specific strategy for several bots.
- A series of modification used to enhance the bot.
