MCPcopy Create free account
hub / github.com/bwapi/bwapi

github.com/bwapi/bwapi @v4.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.4.0 ↗ · + Follow
3,027 symbols 9,604 edges 645 files 1,038 documented · 34% updated 34d agov4.4.0 · 2019-03-12★ 1,663126 open issues

Browse by type

Functions 2,372 Types & classes 655
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

The Brood War API {#BWAPI}

Build status

[TOC]

@htmlinclude twitter_widget

Project Information {#project}

Overview {#overview}

The Brood War Application Programming Interface (BWAPI) is a free and open source C++ framework that is used to interact with the popular Real Time Strategy (RTS) game Starcraft: Broodwar. Using BWAPI, students, researchers, and hobbyists can create Artificial Intelligence (AI) agents that play the game.

BWAPI only reveals the visible parts of the game state to AI modules by default. Information on units that have gone back into the fog of war is denied to the AI. This enables programmers to write competitive non-cheating AIs that must plan and operate under partial information conditions. BWAPI also denies user input by default, ensuring the user cannot take control of game units while the AI is playing. These defaults can be changed for flexibility, unless enforced by a Tournament Module (game referee for AI tournaments). Changed defaults will be advertised when the match begins.

Capabilities {#capability}

  • Write competitive AIs for Starcraft: Broodwar by controlling individual units.
  • Read all relevant aspects of the game state.
  • Analyze replays frame-by-frame, and extract trends, build orders, and common strategies.
  • Get comprehensive information on the unit types, upgrades, technologies, weapons, and more.
  • Study and research real-time AI algorithms in a robust commercial RTS environment.

Getting Started {#getting-started}

Quick Start {#quick-start}

  1. Installation
  2. Install Visual Studio 2013
  3. Install StarCraft: Brood War
  4. Update StarCraft: Brood War to 1.16.1
  5. Install BWAPI
  6. Compile
  7. Open ExampleProjects.sln in the BWAPI install directory
  8. Build the ExampleAIModule project in RELEASE mode
  9. Copy ExampleAIModule.dll to bwapi-data/AI inside the StarCraft install folder
  10. Run StarCraft through Chaoslauncher
  11. Run Chaoslauncher.exe as administrator
    • Chaoslauncher is found in Chaoslauncher directory of BWAPI install directory
  12. Check the BWAPI Injector x.x.x [RELEASE]
  13. Click Start
    • Make sure the version is set to Starcraft 1.16.1, not ICCup 1.16.1
  14. Run a game against Blizzard's AI
  15. Go to Single Player -> Expansion
  16. Select any user and click OK
  17. Click Play Custom, select a map, and start a game
  18. Run a game against yourself
  19. Run Chaoslauncher - MultiInstance.exe as administrator
  20. Start
    1. Go to Multiplayer -> Expansion -> Local PC
    2. Select any user and click OK
    3. Click Create Game, select a map, and click OK
  21. Start -- Uncheck BWAPI Injector x.x.x [RELEASE] to let a human play, leave alone to make AI play itself
    1. Go to Multiplayer -> Expansion -> Local PC
    2. Select any user and click OK
    3. Join the existing game created by the other client

Important Links & Contact Information {#contact}

  • Documentation: http://bwapi.github.io/
  • Repository: https://github.com/bwapi/bwapi
  • Issue Tracker: https://github.com/bwapi/bwapi/issues
  • Releases: https://github.com/bwapi/bwapi/releases
  • SSCAIT Discord: https://discord.gg/DqvHsq9
  • IRC Channel: http://webchat.freenode.net/?channels=BWAPI
  • Facebook: https://www.facebook.com/groups/bwapi/
  • Links to competitions, bots, etc. : https://github.com/bwapi/bwapi/wiki/Useful-Links

Competitions {#competition}

Various venues host remote competitive AI competitions that allow developers from around the world to participate. These venues are often held annually and will sometimes offer prizes to the winners. It is also a great way to test your bot's capabilities. * AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE) * IEEE Conference on Computational Intelligence and Games (CIG) * Student StarCraft AI (SSCAI) Tournament * BWAPI Bots Ladder

Issues {#issues}

You may experience issues when working with BWAPI. Here are some steps you may want to follow in order to resolve them. 1. Check the log files found in Starcraft/Errors/. 2. Ask in the IRC channel if anyone has experienced your issue before. 3. Check the Issue Tracker to see if your issue has already been reported. 4. Submit an issue to the Issue Tracker. Some pieces of information to consider submitting are * Log files * Screenshots * Version or revision number * Operating System * Steps to reproduce the problem

Go to the Issue tracker

Legal {#legal}

Starcraft and Starcraft: Broodwar are trademarks of Blizzard Entertainment. BWAPI is a third party "hack" that violates the End User License Agreement (EULA). It is strongly recommended to purchase a legitimate copy of Starcraft: Broodwar from Blizzard Entertainment before using BWAPI.

Core symbols most depended-on inside this repo

Shape

Method 1,931
Class 587
Function 441
Enum 68

Languages

C++94%
C#4%
TypeScript2%

Modules by API surface

bwapi/Shared/UnitShared.cpp171 symbols
bwapi/BWAPIClient/Source/GameImpl.cpp96 symbols
bwapi/BWAPILIB/Source/UnitType.cpp79 symbols
bwapi/BWAPI/Source/BWAPI/GameImpl.cpp77 symbols
bwapi/BWAPILIB/Source/Game.cpp73 symbols
bwapi/Shared/Templates.h70 symbols
bwapi/BWAPILIB/Source/Unit.cpp68 symbols
Documentation/post-processing/jquery-2.1.4.min.js64 symbols
bwapi/BWAPI/Source/BW/OrderTypes.h56 symbols
bwapi/BWAPILIB/UnitCommand.cpp50 symbols
bwapi/BWAPI/Source/BW/Dialog.cpp44 symbols
bwapi/BWAPILIB/Source/Unitset.cpp40 symbols

For agents

$ claude mcp add bwapi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page