Ever since Google’s AlphaGo machine learning AI (Artificial Intelligence) beat a top Go champion, video gamers have been eager to know if such a system can be adapted for playing an ancient Chinese board game to beat a modern Chinese gamer at Dota 2. Elon Musk stepped in and taught his OpenAI to play Dota 2, and then pitted his creation against some of the world’s top players. The result? The artificial intelligence won every match without conceding even one.

There is a very strong caveat, though. Whereas Dota 2 is usually played in 5 against 5 team matches, OpenAI played 1-on-1 matches against a single opponent. The usual random hero draw also didn’t happen. Instead, OpenAI played one specific hero, Shadow Fiend. And it can only play against one hero, Shadow Fiend. Additionally, it can only play in the middle lane, where one-on-one battles are common.

OpenAI started learning Dota 2 from scratch, without being taught. Initially, it just stood around aimlessly and got killed. It quickly learned from that. Then it started exploring the map, learning routes and the locations of monsters and loot. Then it learned how to fight, and initially got annihilated. But it persisted and learned how to use Shadow Fiend’s attacks effectively: the optimal range, the optimal timing, etc. It later learned how to fake attacks so that it can trick opponents to move into unfavourable positions.

It took just two weeks, but hundreds of matches, for the OpenAI to become proficient enough to beat the pros at 1-on-1 matches in the middle lane. But it proved vulnerable to more unpredictable behaviour outside of the test parameters. This is where Dota 2 is more complex than a board game like Go, because the number of variables outside of definable rules is so much greater, and players have to regularly rely on improvisation to outsmart their opponents.