A combination of the changes after Version 1.7.0 up to and including Version 1.9.1. Also, text files now use different line endings, which unfortunately makes it hard to see the differences using GitHub. You can try appending ?w=1 to the GitHub URL for the commit, but it doesn't seem to work for files that have large diffs. If you want to compare using git diff or diff, I suggest using e.g. git diff --ignore-cr-at-eol v1.7.0..v1.9.1 or git diff --ignore-space-at-eol v1.7.0..v1.9.1 or compare different directories using diff -r --strip-trailing-cr dir1 dir2 | less or diff -r --ignore-trailing-space dir1 dir2 | less. Pasting from CHANGES.md:
Version 1.9.1
Version updated on GitHub (not for a particular competition). Notable differences:
- Feature: if exploring when selecting initial strategy, use sampling logic based on Thompson sampling (combined with some additional heuristics). Before, when sampling, it sampled from an even distribution across all available strategy combinations (combined with different heuristics) regardless of how successful that strategy combination has been in previous games, but was more greedy when it found a successful strategy combination. The new sampling logic is designed using a model that assumes that opponents do not adapt by learning from previous games, so it is intended to learn quicker in the long-term against opponents that do not adapt by learning from previous games, but is expected to perhaps perform worse in the long-term against opponents that adapt by learning from previous games. It's unclear how well it learns in the short-term compared to the previous version - it probably varies a lot depending on the opponent.
- Feature: inserted a config file setting (between the race field and the is4PoolBO field) for each configured strategy settings combination that controls whether it is just a hint (1) or not (0). If it is a hint then other strategy settings combinations may be used (e.g. explore other strategies after losing games, or if other strategies have won in any existing data) but if it is not a hint then the specified strategy settings combination will be used for all games in future (regardless of whether others have won in past games).
- Feature: add hard-coded creep location for more maps (i.e. just Roadkill, Polaris Rhapsody map version 1.0, Longinus 2).
- Change: remove tailored initial strategy parameters against all opponents.
- Change: changed the VCXPROJ file to upgrade from using Microsoft Visual Studio Community 2017 version 15.7.4 to using Microsoft Visual Studio Community 2017 version 15.9.64 with side-by-side minor version MSVC toolsets using the instructions at https://devblogs.microsoft.com/cppblog/side-by-side-minor-version-msvc-toolsets-in-visual-studio-2017/ to use the "VC++ 2017 version 15.7 v14.14 toolset" (which corresponds to Microsoft.VisualStudio.Component.VC.Tools.14.14, and use it to link with the re-release of BWAPI 4.2.0 (i.e. BWAPI.VS.15.7.3.7z as-is, without rebuilding it) (note: I previously used 15.7.4 and that works too).
- Fix: fixed a production freeze in the case where doing 4pool with numSunkens == 0 after a certain number of lings have died - the problem was that production freezes (no buildings/lings/drones/etc when I intended for it to keep making lings) until after the frame threshold is reached.
- Fix: fixed a bug where configuring race-specific number of sunkens always used 1 after their race is scouted (only a problem if you use the config file and it's a Random race opponent).
- Fix: fixed some compiler warnings, e.g. unused parameters/variables, deprecated functions, memory safety, casting issues, unecessary lambda/this captures. Seems to fix crashing on BASIL.
- Refactor: don't use static variables - make them class member variables.
- Refactor: use the override keyword where appropriate.
Note: this version is identical to the executable version that has been on SSCAIT since 2024-07-26 09:00:29 except that the version on SSCAIT has tailored initial strategy parameters against opponents (and the program version number is different). Also, I'm now adding some TXT files to this repository about some competitions that ZZZKBot competed in.
Version 1.8.0
Version submitted on 10th July 2018 for the CIG 2018 Starcraft AI competition. The only noteworthy changes in this version are three small bugfixes to the learning algorithm (e.g. it was mistakenly using the is4PoolBO field as the timerAtGameStart field and this was causing it to mainly only alternate between two strategy setting combos; a bug with StratSettings comparator (i.e. comparator must satisfy strict weak ordering) which might have caused the learning logic to not work properly and was causing error pop-ups when run in Debug mode), learn plasma map independently to the other maps, re-added/added tailored initial strategy parameters against some opponents, blanked-out the DAT fields relating to system info such as CPU info and time zone, and version data files separately to the program version (set the data version to 1.7.0, so that data produced by version program 1.7.0 can be read). None of the underlying strategy logic has changed at all.