A Starcraft: Broodwar bot using BWAPI
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
AI_paper
MacroProject
MicroProject
data
scripts
src
wiki
.gitignore
BattleBroodAI.sln
BattleBroodAI.vcproj
LICENSE
README.mdown
TODO.txt
cpplint.py

README.mdown

BroodwarBotQ, a good zergling is better BBQ'd

Foreword / Bullshit

This bot is using BWAPI 3.7+, and BWTA: kudos to all these contributors.

There are still A LOT of improvements to do. // TODO or // HACK or // TOCHANGE are everywhere. A lot of improvements are in my head and some others in texts/ sources files, but I think that if I don't release early, release poorly, I'll simply never release. (It even still get stomped by 6pool and fast DT!) Some part of the code are really messy, there were produced under heavy sleep deprivation and a mindset of no tomorrow, you've been warned: go hide yourself behind a good text editor and an open mind. I have some problems with BWSAL and used duct tape to counter them (ProductionManager / Arbitrator, and lately, performances issues with the BuildManager / ConstructionManager). Also, there's a lot of code duplication in the units (micro) code. I hope that the same of the bot told you it plays Protoss (only for the moment).

Older versions had contributions of: Guillaume Bousquet, Louis Schimchowitsch, Nicolas Biagianti

Install / Serious Stuff

  1. You need BWAPI 3.7, go on the BWAPI website to install it.

  2. Open BattleBroodAI.sln and compile the project as Release. To do this:

    2.1. Change the dropdown box in the top center of the window from "Debug" to "Release". 2.2. Click Build -> Build Solution. The MacroProject and MicroProject are now compiled into 2 dlls. Macro is for full games.

  3. Open <starcraft folder>/bwapi-data/bwapi.ini and set the ai_dll as follows: ai_dll = <BlaBlaPath>/Release/M{a|i}croProject.dl

  4. Run Chaoslauncher with BWAPI Injector checked.

  5. Start Starcraft: Broodwar and create a match, picking Protoss if you use MacroProject.dll. Running BBQ as any other race or on any other map will produce unexpected results and may crash.

A more detailled (and outdated) install guide is there: http://emotion.inrialpes.fr/people/synnaeve/bwiki/html/install

A global view (not a class diagram) of what I'm looking foward to have: http://dl.dropbox.com/u/14035465/starcraft_overall.pdf

Additional Info / Did You Read That ?

The BWAPI web site http://code.google.com/p/bwapi/ The BWSAL web site http://code.google.com/p/bwsal/ The BWTA web site http://code.google.com/p/bwta/ IRC Channel QuakeNet #BWAPI