Brood War API: The comprehensive guide

Sounds good for a book title, right?

With my bot writing series, one of the goals was exploring the Brood War API, and show it’s inner workings through developing a real, working AI. I had to realize that this is just a part of the process, and a surprisingly small one. I decided I will pivot my focus a little, and will describe in detail, what the Brood War API is, and how it works. I feel that is more help to aspiring new bot authors than my musings on random stuff related to my bot.

BWAPI is actually open source. Anyone can look at the code, and contribute – although it is serious business, so you shouldn’t do that first. There is a guide page, but it’s not up to date at the writing of this. And it is kind of technical. With this, it is unavoidable that I brush up on my C++ knowledge. It sounds like a heavy-hearted decision, but actually it is not. I like learning new stuff, and I’m not a zealot of any programming language, even though most of my programming life I used Java. Currently, if someone asks about my C++ knowledge, I just answer “I tried it once in college” to look cool.

So with that, I plan to have some posts, indexed and numbered, in a book-like structure. Feel free to make suggestions about that! Structuring this is actually a more serious consideration than it seems, and well, it helps me know when I’m done with it.

I feel I should explain the inner workings of Starcraft itself. The OpenBW project is a tremendous help in that, as I can actually dig deep, and extract the methods and quirks of the engine itself.

Something that helps me out here is the switch from BWAPI 4.x to 5 will be a mostly painless one. The wonderful team behind the project is trying it’s best to ensure that.

This sounds like a book, right? It does sound like a book to me. And if it quacks like a duck, and weighs as much as a duck, it is a witch it is usually a duck, so you might have guessed – this is my roundabout announcement about writing a goddamn book about BWAPI.

I have never done anything of the sort, so this might be a crash and burn, and it might be not. But it’s worth trying, and I will document (publish?) my structure about this project in this blog. Stay tuned for new stuff!

Leave a Reply