Starcraft 2 rule-based bot capable to play for all races.
Suvorov currently provides the following features:
- Supports Windows, OS X and Linux.
- Plays all 3 races.
- Manages resource gathering and worker allocation.
- Supports all available buildings upgrades (e.g. Orbital Command, Planetary Fortress, Lair).
- Supports all available zerg units mutations (e.g. Overseer, Baneling, Ravager).
- Calls down MULEs, casts chronoboost.
- Builds Terran addons.
- Warps in gate units.
- Automatically builds new supplies when needed.
- Supports launch under Sc2LadderServer.
- MulleMech - a terran bot by @ludlyl
Feel free to post questions on the unofficial Starcraft II AI Discord server. Invite Link
-
Download the actual map pack.
-
Put the downloaded maps into the Maps folder (create it if the folder doesn't exist):
- Windows: C:\Program Files\StarCraft II\Maps
- OS X: /Applications/StarCraft II/Maps
- Linux: anywhere.
-
Download and install CMake.
-
A compiler with C++14 support.
-
Windows: Download and install Visual Studio (2019 or older).
-
Linux: Install 'gcc-c++'.
-
Linux: Install the 'make' utility.
-
OS X: Install XCode.
-
OS X: Install XCode command-line tools.
:: Get the project.
$ git clone --recursive git@github.com:alkurbatov/suvorov-bot.git
$ cd suvorov-bot
:: Generate Visual Studio project files.
$ cmake -B build -G "Visual Studio 16 2019"
:: Start Visual Studio and build the project.
$ start build/Suvorov.sln
:: Launch the bot with the specified path to a SC2 map, e.g.
$ build\bin\Debug\Suvorov.exe Ladder2019Season3/AcropolisLE.SC2Map
# Get the project.
$ git clone --recursive git@github.com:alkurbatov/suvorov-bot.git && cd suvorov-bot
# Generate a Makefile.
# Use 'cmake -DCMAKE_BUILD_TYPE=Debug ../' if debuginfo is needed.
$ cmake -B build
# Build the project.
$ cmake --build build --parallel
# Launch the bot with the specified absolute path to a SC2 map, e.g.
$ ./build/bin/Suvorov "/Users/alkurbatov/work/tmp/Ladder2019Season3/AcropolisLE.SC2Map"
# Get the project.
$ git clone --recursive git@github.com:alkurbatov/suvorov-bot.git && cd suvorov-bot
# Generate a Makefile.
# Use 'cmake -DCMAKE_BUILD_TYPE=Debug ../' if debuginfo is needed.
$ cmake -B build -G Xcode
# Start Xcode and build the project.
$ open build/Suvorov.xcodeproj
# Launch the bot with the specified path to a SC2 map, e.g.
$ ./build/bin/Suvorov "Ladder2019Season3/AcropolisLE.SC2Map"
By default, the API assumes the latest version of the game client. The assumed version can be found in cmake's output, e.g.:
$ cmake ../ | grep 'SC2 version'
Target SC2 version: 5.0.5
...
However, sometimes one may need to compile with an older version of the game, e.g. to play with a Linux build which is always behind the Windows version. It is possible by specifying the game version manually, e.g.:
$ cmake -DSC2_VERSION=4.10.0 ../
To compile a bot capable to play on the AIArena ladder, configure the project in the following way:
$ cmake -DBUILD_FOR_LADDER=ON -DSC2_VERSION=4.10.0 ../
We follow slightly modified Google C++ Style Guide. See the linter job in GitHub Actions CI.
Copyright (c) 2017-2022 Alexander Kurbatov
Licensed under the MIT license.