Big Data

This Dota 2 AI predicts player death within a 5-second window


If there’s one insight that might be gleaned from continuing AI research, it’s that many events once assumed unknowable are, in fact, predictable with relatively high accuracy. Case in point? A paper (“Time to Die: Death Prediction in Dota 2 using Deep Learning“) published by researchers at the University of York describes a system that can reliably anticipate (within a 5-second window) which player characters won’t survive Dota 2 matches.

For the uninitiated, Valve’s Dota 2 — a follow-up to Defense of the Ancients (DotA), a community-created mod for Blizzard’s Warcraft III: Reign of Chaos — is what’s known as a multiplayer online battle arena, or MOBA. Two groups of five players, each of which occupy and defend a base, attempt to destroy structures located at opposite ends of the map. Players have a distinct set of abilities, and collect experience points and items that unlock new attacks and defensive moves.

It’s more complex than it sounds. The average match contains 80,000 individual frames, during which each character can perform dozens of 170,000 possible actions. Players on the board finish an average of 10,000 moves each frame, contributing to the game’s more than 20,000 total dimensions. And each of those players — of which there are over 100 — can pick up or purchase hundreds of in-game items.

The contributors to this paper point out that health isn’t always strongly correlated with death. That’s because some characters have healing abilities, and because players can purchase in-game items that heal them or teleport them away from danger. With that in mind, the team sourced public Dota 2 replay files provided by Valve from the last 5,000 professional (major tournaments) and 5,000 semi-professional (minor tournaments and leagues) played prior to December 5. Their corpus total 7,311 files after preprocessing and error accounting, data from which they extracted and converted into time-series by recording attribute set values with a 4-tick sampling period (corresponding to 0.133 seconds of game time).

Dota 2 player death AI prediction

Above: Charts showing sections of matches, where “K” indicates kill certainty.

From this data, the team extracted 287 features per player character, some of which were values of game object attributes (like hero health). Metrics like time, the current state of the player (e.g., strength and agility), activatable items, hero abilities, hero position, distance to closest alive enemy and ally tower, and visibility history were the most important factors contributing to a player’s death, according to the researchers, with relative strength and current map location at a given time topping the list.

“[T]he behavior of the players does depend on the past,” wrote the coauthors. “For example, if an enemy just went out of sight, the player still knows that the enemy is in the area. On the other hand, if the enemy disappeared minutes ago, that enemy can be anywhere from the player’s perspective. This was our motivation for adding the visibility history features.”

They fed the training data — 2,870 inputs and 57.6 million individual data points, the product of 287 features multiplied by ten players — into a machine learning algorithm, reserving 10% of the data for validation and another 10% for testing. In the course of experiments, the team found that it achieved an average precision of 0.5447, and 0.377 precision with 0.725 when prompted to predict which of any of ten players of either team would die within five seconds. Additionally, they report that the model could forecast deaths prior to the specified 5-second window, suggesting it learned the “inherent properties” of features constituting kills.

The researchers concede that their approach has certain limitations, namely that the system requires well over 200 game data points (including those of unseen players) to make predictions and that it might not generalize well to newer game versions. However, they say that the model they’ve devised, which is available in open source on Github, might be of use to commentators and players as they follow a match’s progress.

“Esports games are highly complex, with fast-moving action where the balance of a game can change in the span of seconds and where events can happen in multiple areas of the playing field at the same time. Such events can happen rapidly, and it is easy for commentators and viewers alike to miss an event and only observe the following impact of events,” wrote the team. “In Dota 2, a player hero being killed by the opposing team is a key event of interest to commentators and audience.”



READ SOURCE

This website uses cookies. By continuing to use this site, you accept our use of cookies.