
TorchCraft – StarCraft: Brood War AI - tosh
https://facebook.ai/developers/tools/torchcraft
======
loser777
Brood War AI may end up being a significantly easier problem (with this
formulation) than DeepMind's StarCraft II research environment for several
reasons:

\+ As others have mentioned: Brood War is significantly cheaper to run (can be
headless, runs well on ancient CPU), making it more amenable to the self-play
with massive numbers of games approach

\+ Brood War benefits significantly (arguably more than SC2) from skilled
micromanagement, which is arguably easier to exploit as it doesn't require
long-term/high level planning (but requires a generous actions per minute cap)

\+ This API doesn't require the AI to also do simple computer
vision/recognition of the game (vs. DeepMind's simplified graphical
representation)

\+ This API interfaces with game actions directly (BWAPI) vs. mouse/keyboard
level actions

It'll be interesting to see which problem (Brood War vs. StarCraft II) gets
solved to a compelling degree with learning first.

~~~
ebetica0
The other side of the coin is that the game engine for StarCraft II is
signifcantly smoother, and so its dynamics are easier for models to learn.
Brood war has all kinds of weird quirks and dynamics, and some "bugs" are part
of the game system, so it's much harder for computers to reason about some of
these kinds of things.

------
mberger
Does anyone know if this is headless or if it needs to render the game
elements? Can I inject macros with this? That is, can I be playing a game, cue
the AI to do some micro for me then let me keep playing? I assume there are
other tools to do this but I would think they would interact with my mouse
cursor rather than the BWAPI.

~~~
dgant
There are a few ways to run Brood War headlessly. And if not headlessly, sped
up as fast as your CPU can process frames (and Brood War is very fast -- it
ran on Pentium 90s!). TorchCraft is compatible with any Brood War client that
supports BWAPI, including the headless ones.

BWAPI supports optional user interaction:
[https://bwapi.github.io/class_b_w_a_p_i_1_1_game.html#a4db25...](https://bwapi.github.io/class_b_w_a_p_i_1_1_game.html#a4db25bc867384c505cacfafc3ee49314)
and
[https://bwapi.github.io/class_b_w_a_p_i_1_1_game.html#a4db25...](https://bwapi.github.io/class_b_w_a_p_i_1_1_game.html#a4db25bc867384c505cacfafc3ee49314)
\-- someone actually just used BWAPI to make an automated real-time coach:
[http://www.teamliquid.net/forum/brood-war/533143-coach-ai-
ha...](http://www.teamliquid.net/forum/brood-war/533143-coach-ai-has-arrived)

------
basementcat
Am I going to start getting targeted ads based on my build order and actions
per minute?

~~~
SeoxyS
This type of cheap humor doesn't really add much to the conversation. I
presume you don't actually believe that to be true, and are just trying to
bring up Facebook's entirely unrelated privacy issues (which have already been
discussed on HN ad nauseam).

How about discussing interesting AI tooling and research instead?

~~~
whymauri
I thought it was pretty funny... it's ok to lighten up a bit.

~~~
keerthiko
Being funny is really not what people come to the hacker news comments for.
While I appreciate a good chuckle as much as the next person, without more
nuanced insight, or thought provoking perspective that I didn't see myself, or
sharing relevant technical expertise, it's definitely wasting my time, and
WILL get a downvote from me. I would be reddit for the snarky comments and to
"lighten up a bit" on the same topic.

~~~
wetpaws
why so serious?

------
Blindedwino
Are there any resulting data we can look at? Did anybody find wrote about
actually running this for a while and seeing anything cool emerge?

