A simple, built-from-scratch Starcraft bot using BWAPI and modern C++.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
BWEM
bwapi @ 93c9f45
lib
src
.clang-format
.gitattributes
.gitignore
.gitmodules
.travis.yml
KBot.sln
KBot.vcxproj
KBot.vcxproj.filters
LICENSE
Makefile
README.md
build.bat

README.md

KBot

A simple, built-from-scratch Starcraft bot using BWAPI and modern C++.

Build status

Branch Visual Studio GCC & Clang
master Build status Build Status
development Build status Build Status

KBot is developed with Visual Studio 2017 on Windows but build services ensure it can be compiled on Linux with GCC and clang as well.

Quick build with Visual Studio

Run build.sh from VS 2017 Command Prompt to build BWAPI and KBot for debug and release.

Concepts and Structure of KBot

Incomplete but gotta start somewhere. ;-)

KBot is built in a hierarchical manner that is reflected in its classes.

Structure

Looking at the following list, the higher level item usually holds the class instances of its subordinated items.

  • KBot: Implements the BWAPI interface.
    • Manager: Handles all economic units and tasks.
      • Base: Abstraction of a base. (depot, minerals, workers...)
      • BuildTask: Abstraction of a unit to be created.
    • General: Handles all military units and tasks.
      • Squad: A group of military units sharing a task.
    • Enemy: Informational data base about the enemy.

Ownership

A few lines of unit ownership in KBot.

SSCAIT

KBot is running on SSCAIT. Vote for it to see it play on Stream. :)