dota

Two teams of five players select heroes from pool of 110+. Each hero is unique selection of ~20 skills and properties that define it’s durability, resistance, growth speed, etc. Each can carry 6 out of 150+ unique items at a time. The game is 50min long real-time match in big map. Sounds like a lot of possible combinations, why is that then all Dota games look so similar?

All 110+ heroes can be reduced to 5 representative clusters. For example, there are ‘damage dealers’ who can deal a lot of damage in short amount of time under the right conditions (and most of the time they are weak), similarly there are ones who can easily escape (but deal low amount of damage). Higher value in one dimension comes at a cost in others, this balance is done by design. The ways how they deal damage (attacks vs spells) or escape (invisibility, fast movement, teleportation) is quite restrictive. Similarly, all possible spells can be clustered into few groups: protection, damage, obstruction or amplification. Fundamentally, differences in specifics of heroes account only for slight variations from the average of the group they belong to. Items are quite restrictive too. For each bracket of capital only certain set of items can be purchased, e.g. 20 cheap, 20 mid-range, 20 expensive. Moreover, for each category of heroes only selected few items make sense, other bring almost zero value. Generally, items do not augment skills, rather they improve other parameters of heroes -  compensating their weak sides or improving strong ones. Items between heroes do not compose either, items of player A affect player B only via second order effects, such as total damage output of the team or mobility. Thus, items do not increase complexity of the game drastically neither.

Contrary to what it looks on the surface, huge variety per dimension does not lead to huge variety of winning strategies. Specifics aside, each game, even between professional teams, follows predetermined well-defined path. But wouldn’t AI discover something unexpected that works well? Probably no, at least not in a usual sense; it is discouraged by the game design itself. There have been few surprising combos such as fountain hooks at TI3, however one-by-one they have been rooted out of Dota ever since the begging. The game is always under constant scrutiny by millions of players online as well as dev team. Besides of few well known strategies anything would lead to unavoidable gradual failure. Ultimately, the team who has the best draft and execution wins. Thus, it is not surprising that OpenAI Five is undefeatable when allowed to do hero selection as well. On a high level, Dota is closer to tic-tac-toe played in simulation of real world than less visible but complex games of chess and go.

Yet, OpenAI Five is a great step forward, but some refinement is required on what makes it so. Dota does have straightforward structure, however it has to be discovered first, ideally without any supervision. Five has showed remarkable understanding of many fundamental components of the game such as farming, scouting and keeping courier safe. Most importantly, it showed great skill on composing these fundamentals into impressive coherent long-term play. There are still minor issues with long-term games, but they looks more like to-be-fixed bugs rather than underlying issues with model or training. Perhaps, the only thing left is to learn how to train it faster.

Lastly, Dota is very tangible. As opposed to go or chess, you don’t need to be an expert to appreciate some meaningful fundamental block of actions or behaviour discovered by an agent. Advancement of OpenAI Five is very illustrative on how far our capabilities in AI are today.