Skip to content

Starcraft 2 rule-based bot capable to play for all races.

License

Notifications You must be signed in to change notification settings

ImpulseCloud/suvorov-Impulse

 
 

Repository files navigation

suvorov-bot

Build Status

About

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.

Notable forks

Support

Feel free to post questions on the unofficial Starcraft II AI Discord server. Invite Link

Build requirements

  1. Download (the password is iagreetotheeula) at least one of the following map packs:
  1. 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.
  1. Download and install CMake.

  2. A compiler with C++14 support.

  3. Windows: Download and install Visual Studio (2019 or older).

  4. Linux: Install 'gcc-c++'.

  5. Linux: Install the 'make' utility.

  6. OS X: Install XCode.

  7. OS X: Install XCode command-line tools.

Build instructions

Windows (Visual Studio)

:: Get the project.
$ git clone --recursive https://github.com/alkurbatov/suvorov-bot.git
$ cd suvorov-bot

:: Create build directory.
$ mkdir build
$ cd build

:: Create Visual Studio project files.
:: For Visual Studio 2019.
$ cmake ../ -G "Visual Studio 16 2019"
:: For Visual Studio 2017.
$ cmake ../ -G "Visual Studio 15 2017 Win64"

:: Build the project using Visual Studio.
$ start Suvorov.sln

:: Launch the bot with the specified path to a SC2 map, e.g.
$ bin\Debug\Suvorov.exe Ladder2019Season3/AcropolisLE.SC2Map

Windows (cmdline)

:: Get the project.
$ git clone --recursive https://github.com/alkurbatov/suvorov-bot.git
$ cd suvorov-bot

:: Create build directory.
$ mkdir build
$ cd build

:: Create Visual Studio project files.
:: For Visual Studio 2019.
$ cmake ../ -G "Visual Studio 16 2019"
:: For Visual Studio 2017.
$ cmake ../ -G "Visual Studio 15 2017 Win64"

:: Build the project.
$ cmake --build . --parallel
:: For the debug build.
$ cmake --build . --config Debug --parallel

:: Launch the bot with the specified path to a SC2 map, e.g.
$ bin\Debug\Suvorov.exe Ladder2019Season3/AcropolisLE.SC2Map

Linux (cmdline)

# Get the project.
$ git clone --recursive https://github.com/alkurbatov/suvorov-bot.git && cd suvorov-bot

# Create build directory.
$ mkdir build && cd build

# Generate a Makefile.
# Use 'cmake -DCMAKE_BUILD_TYPE=Debug ../' if debuginfo is needed
# Debug build also contains additional debug features and chat commands support.
$ cmake ../

# Build the project.
$ VERBOSE=1 cmake --build . --parallel

# Launch the bot with the specified absolute path to a SC2 map, e.g.
$ ./bin/Suvorov "/Users/alkurbatov/work/tmp/Ladder2019Season3/AcropolisLE.SC2Map"

OS X (Xcode)

# Get the project.
$ git clone --recursive https://github.com/alkurbatov/suvorov-bot.git && cd suvorov-bot

# Create build directory.
$ mkdir build && cd build

# Generate a Makefile.
# Use 'cmake -DCMAKE_BUILD_TYPE=Debug ../' if debuginfo is needed
# Debug build also contains additional debug features and chat commands support.
$ cmake ../ -G Xcode

# Build the project using Xcode.
$ open Suvorov.xcodeproj/

# Launch the bot with the specified path to a SC2 map, e.g.
$ ./bin/Suvorov "Ladder2019Season3/AcropolisLE.SC2Map"

OS X (cmdline)

# Get the project.
$ git clone --recursive https://github.com/alkurbatov/suvorov-bot.git && cd suvorov-bot

# Create build directory.
$ mkdir build && cd build

# Generate a Makefile.
# Use 'cmake -DCMAKE_BUILD_TYPE=Debug ../' if debuginfo is needed
# Debug build also contains additional debug features and chat commands support.
$ cmake ../

# Build the project.
$ VERBOSE=1 cmake --build . --parallel

# Launch the bot with the specified path to a SC2 map, e.g.
$ ./bin/Suvorov "Ladder2019Season3/AcropolisLE.SC2Map"

Coding Standard

We follow slightly modified Google C++ Style Guide. See .travis/lint.sh for details.

License

Copyright (c) 2017-2020 Alexander Kurbatov

Licensed under the MIT license.

About

Starcraft 2 rule-based bot capable to play for all races.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C++ 97.2%
  • CMake 1.7%
  • Shell 1.1%