Code Monkey home page Code Monkey logo

kbot's Introduction

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. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.