Why StarCraft AI?

This has been a huge week in the world of Starcraft AI.

Facebook’s StarCraft AI research team┬ájust entered the next StarCraft: Brood War Tournament. This is the first time a corporate research team has thrown down the glove and entered a competition.

And today, Google DeepMind and Blizzard announced the release of the StarCraft II AI research environment, along with some of their initial efforts.

Why all the attention on Starcraft AI? Why are tech companies like Facebook, Google, and Alibaba pouring millions of dollars into solving it, and why are there whole communities dedicated to researching it?

Let’s take a look back:

Games have long been a useful and exciting test bed for AI research. But we’ve conquered most of them. There are few dragons left to slay..

Enter StarCraft.

What makes StarCraft so hard?

When researchers conquered Checkers, Chess, or Go, all three teams used a similar approach: Treat the game’s decision space as a graph, and search it to find the best moves:

(Diagram by Maschelos at Wikipedia, CC BY-SA 3.0)

But this approach doesn’t quite work for StarCraft.

  • Checkers: Each player faces about 10 options,
  • Chess: Each player faces about 20 options, 50 times per game
  • Go: Each player faces about 100 options, 50 times per game
  • StarCraft: Each player faces 256 * 256 * 32 * 32 options of where to move each of up to 400 units, 24 times per second for twenty minutes

In other words, trying to treat StarCraft as a search space falls apart really quickly.

Many people who hear about StarCraft AI think about it as a problem of strategy selection. Strategy selection is part of it, for sure, and is fun to discuss.

But StarCraft is primarily a game about logistics. Most StarCraft games are won because a player threw their soldiers away, or didn’t train enough in the first place.

Even the best StarCraft AIs in the world still make these kinds of errors:

  • Trapping themselves in their base with poorly-placed buildings
  • Trying to send a big army through narrow canyons
  • Sending a whole army after a single distracting enemy soldier

Strategy won’t save you. You can bring a gun to a knife fight, but you won’t win if you forget to load the gun, hold it with your foot, and point it at your face.

 

Where are we now?

The best StarCraft AIs right now can beat amateurs. They’d beat most players on Battle.net. But they can’t beat reasonably good amateurs and aren’t even on the same planet as professional players.

But it’s not just about games.

We’re living in a world where machine learning is being used to power increasingly high-stakes decisions. Where self-driving cars are soon likely to transform our lives, but dealing with antagonistic agents is a real problem they’ll need to solve.

StarCraft is a complicated, messy, dangerous environment. Kind of like the real world. And that’s what makes it compelling.

 

How do I get involved?

There’s an incredible amount of work to do. There’s never been a better time to get started with StarCraft AI. You don’t have to be an expert in anything to get started; if anything, working on StarCraft AI is a great way to learn more. If you can write a for-loop, you can write an AI.

Come meet AI developers while watching AI games with the live 24/7 community of StarCraft AI developers at the Student Starcraft AI Tournament. Or follow the StarCraft AI group on Facebook.

If you’d like to write your own StarCraft AI, check out the Brood War or StarCraft II tutorials. There are also lots of open-source bots to use as starting points.

Or come tweet me @dgant with any questions about getting started!