|
Project Information
Featured
Downloads
Links
|
BWAPI 3.7.3 is ReleasedDownload 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
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. IRCJoin us on IRC at: freenode#BWAPI BWAPI OverviewThe 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:
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.
MediaHere 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 StartedDownload the BWAPI zip archive on the left and head over to the BWAPI Manual.
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. |