Entry Name                               : WillyT
Contact Person Name (First, Last)        : Nico Klausner
Contact Person Email Address             : klausner.nico (at) arcor (dot) de
Affiliation                              : none
Race (in full game)                      : Terran
DLL or Client                            : DLL
BWAPI Version                            : 4.4.0
GPU compute required? (GTX 1080ti)       : no


Brief Description of Bot / AI Techniques
========================================

Terran bot made from scratch (+ jaj22's basefinder). Hobby project as C++ learning challenge since March 2018. Independent unit agents. Some reactions to oppenent behaviour and make-shift solutions for:

- base building (grid style)
- choke finding (for main and natural defense)
- combat evaluation
- threat evasion (potential fields)
- mineral locking
- dropping
- expanding to islands

The bot uses opening learning for now four buildorders:

(1.) 2-rax bio-scv-rush into bio-mech (Oleg Ostroumov rush)
(2.) 1-rax-fast-expand bio-mech
(3.) 1-rax-fast-expand mech
(4.) 3-fac very slow turtle build ("willy-tonk")

Important cange since Aiide2020: Now uses separate learning files for each opponent.


Included files
==============
The zip contains a compiled binary version (WillyT.dll), a folder containing the source code and more files from Microsoft Visual Studio. Use the build instructions below to build the binary from source.


Build instructions
==================

1. Ensure that BWAPI 4.4.0 and Microsoft Visual Studio 2019 are installed.
2. Set the BWAPI_DIR environment variable to the folder of BWAPI 4.4.0.
3.a. Edit the "WillyT.sln" to set the correct path to the BWAPI project (e.g. "..\BWAPILIB\BWAPILIB.vcxproj"). Start Visual Studio by double clicking "WillyT.sln".
3.b. Alternatively create a new solution and add the BWAPILIB and WillyT projects. Set the second to be dependent on the first.
4. Choose the 'Release' configuration in the toolbar and click 'Build solution' in the 'Build' menu.
5. After building, you can find "WillyT.dll" in the Release folder, which resides in the same folder as the project file.
6. After the first game against a new opponent the bot will generate the file "WillyT_OPPONENTNAME.txt" in the AI folder. By this way WillyT keeps track of all played games and can adapt the opening buildorder accordingly for each opponent.


Special thanks to
=================

- Oleg Ostroumov for the inspiration to this bot (bio-scv-rush)
- jaj22 for the basefinder
- Hannes Bredberg and others on the discord for answers to any stupid question
- everybody connected to SC, BWAPI, SSCAIT, basil, SCHNAIL for making this possible
