项目作者: ratiotile

项目描述 :
Common Framework for BWAPI AI - Design Discussion
高级语言:
项目地址: git://github.com/ratiotile/bwai-common-fwd.git
创建时间: 2017-03-21T00:14:13Z
项目社区:https://github.com/ratiotile/bwai-common-fwd

开源协议:

下载


Common Framework for BWAPI AI - Design

Don’t reinvent the wheel! AI development in BWAPI can be a lot easier with a common framework to build on. This repository collects ideas and design documents for a proposed common Starcraft AI framework.

Design Philosophy

  • Expressive and clean API. Provide for concise and beautiful code.
  • High level of abstraction. Should be as easy as possible to start programming without worrying about the small details.
  • Allow fine-tuning specifics. One size doesn’t fit all, and users may need to tweak behavior by overriding or configuring components.
  • Modular components. Don’t want to be encumbered by a framework? The lower level libraries can be directly used.
  • Provide a platform for wrappers in other languages. The public interface must be easy to wrap.
  • Because of these considerations, this framework should be written in C++.

Requirements

  • Cross-platform compiler support (clang, msvc, gcc)
  • Ready to use in one package. Easy to get started.
  • Well documented.
  • Testable.

Components

  • Map analysis (BWEM?)
  • Building placer
  • Build order generator
  • Worker manager
  • Squad manager
  • Wrapper around BWAPI::Unit

Ideas

  • Can we support TorchCraft as well?
  • Better than state machines: asynchronous concurrent programming with coroutines/await/actors.
  • Take the best components of the existing open-source projects: BWSAL, Skynet, Iron, UAB.

Contribute your ideas