My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

  • notice: The IRC server has changed to freenode.

BWAPI 3.7.3 is Released

Download link is on the left. 3.7.x is the version that will be used in 2012 tournaments, and 3.7.3 fixes several bugs to get ready for them! View the changes here.

Tournaments/Competitions

Get your bots ready for 2012! BWAPI is still alive and kicking!

Check out the competitions page for details and/or links for upcoming competitions.

SSCAI 2012 has Prize Money!

Check it out here.

Results for 2011 tournaments

See this page for replays and statistics from AIIDE 2011. You can also check out the bot source codes here.
CIG 2011 has also finished. Check out their web page!

BWAPI needs your help!

We are looking for people to manage the BWAPI wiki to provide users with clean and updated documentation on how to use BWAPI. We are also looking for people to test new revisions so that bugs can be found before the final release. If you'd like to lend your support then don't hesitate to contact us!
Don't forget to drop by the IRC and tell us what you think of BWAPI!

Looking for source code? More examples?

The bot sources from AIIDE 2011 have been released, and you can find them here.
If you're looking for links to more source code, check out this page.

If you think BWAPI is missing something or would like to request a new feature, then feel free to let us know in the issue tracker or on IRC.

IRC

Join us on IRC at: freenode#BWAPI

BWAPI Overview

The Brood War Application Programming Interface (BWAPI) is a free and open source C++ framework for creating AI modules for Starcraft: Broodwar. Using BWAPI, programmers can retrieve information on players and individual units in Starcraft as well as issue a wide variety of commands to units, opening the doors for custom AIs with new micro and macro algorithms.
By default, BWAPI only reveals the visible parts of the game state to AI modules. 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. Furthermore, by default BWAPI disables the Starcraft GUI, relegating the user to the role of a spectator while the AI module plays the game. This is done to ensure that the winner of AI vs AI matches is determined solely based on the programming and algorithms in the AI module itself, rather than by human assistance and intervention.
However at the start of a match AI modules have the ability to enable one or more cheat flags, which increase the functionality of BWAPI. When an AI module enables a cheat flag, its activation is announced to all other players in the Starcraft match, which makes hosting non-cheating AI competitions and matches painless - simply disqualify AI modules that enable these flags. Currently there are two cheat flags. The first one, once enabled, provides the AI module with complete map information on all units in the game, not just visible ones. The second flag, once enabled, provides the AI with input from the user and re-enables the Starcraft GUI, allowing the user to play Starcraft along with the AI module. This allows programmers to write AI modules that use all the information on the map as well as make hybrid set-ups where human players use custom AIs and user interfaces to augment their performance.

In a nutshell, with BWAPI you can:

  • 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.

But wait, there's more!

Writing a custom AI from scratch using BWAPI can be a daunting task, so to kick-start AI development, a number of standard add-ons have been created which execute common tasks. The Brood War Standard Add-on Library (BWSAL), provides several robust components which execute basic tasks, such as constructing buildings, training units, gathering resources, and build-order management.

Projects using BWAPI

Media

Here is a video containing highlights from the AIIDE 2010 Starcraft AI Competition (Tournament 4), which includes krasi0, skynet, and the tournament winner Overmind. All of these bots are using BWAPI.
Click here to see more videos and replays

Getting Started

Download the BWAPI zip archive on the left and head over to the BWAPI Manual.

Interested in developing BWAPI?



Starcraft and Starcraft: Broodwar are trademarks of Blizzard Entertainment. BWAPI is a third party "hack" that violates the End User License Agreement (EULA) and Blizzard Entertainment reserves the right to shut down BWAPI and any related projects. It is strongly recommended to purchase a legit copy of Starcraft: Broodwar.
Powered by Google Project Hosting