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:
- 1994: Chinook, a program written by researchers at the University of Alberta led by Jonathan Schaeffer, went toe-to-toe with legendary checkers champion Marion Tinsley. In 2007 Schaeffer’s team proved that checkers was a solved game.
- 1997: Deep Blue, by the IBM team from Carnegie Mellon, defeated world chess champion Garry Kasparov.
- 2016: AlphaGo, by the Google DeepMind team, defeated top Go player Lee Sedol
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..
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:
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.
Or come tweet me @dgant with any questions about getting started!