A free and open-source C++ framework for creating AI agents that play StarCraft: Brood War.
BWAPI (Brood War API) is a free and open-source C++ framework that allows developers to create artificial intelligence agents for the real-time strategy game StarCraft: Brood War. It provides programmatic access to game state and unit control, enabling the development of competitive AIs that operate under partial information conditions. The framework serves as a platform for AI research, bot development, and replay analysis in a commercial RTS environment.
Students, researchers, and hobbyists interested in game AI, real-time strategy bot development, or studying AI algorithms in a complex, partial-information environment.
BWAPI offers a unique, commercially robust RTS environment for AI experimentation with built-in support for competitive tournaments and replay analysis. Its default partial-information simulation creates realistic challenges for AI development, distinguishing it from simpler game AI frameworks.
Brood War API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Defaults to partial-information simulation with fog of war, forcing AIs to handle realistic challenges, as emphasized in the README's overview.
Allows reading all game state aspects and controlling individual units, enabling detailed bot development per the capabilities section.
Supports frame-by-frame replay analysis to extract strategies and build orders, useful for research and improvement, listed in key features.
Includes a Tournament Module for fair play in AI competitions, with links to annual events like SSCAI Tournament in the README.
Requires installing Visual Studio 2017, StarCraft: Brood War updated to version 1.16.1, and Chaoslauncher, making initial configuration tedious as per the quick start guide.
Violates Blizzard's EULA, as admitted in the legal section, posing risks for commercial use and lacking official endorsement.
Tied to an old game version and primarily supports C++/Java, limiting integration with modern AI tools and having a smaller community compared to broader frameworks.