3 мин.

Искусственный интеллект Dota 2 AI просчитывает смерть игрока в течении 5-ти секундного интервала до погибели

Из продолжительных исследований ИИ, можно узнать, существенную часть событий (когда-то считавшихся непостижимыми) можно предсказать с высокой точностью. Например, статья «Time To Die: Death Prediction in Dota 2 using Deep Learning (Время умирать: предсказание смерти в Dota 2 с использованием углубленного изучения)», опубликованная исследователями Йоркского университета, описывает алгоритм расчета, который может предвидеть (в течении 5-секундного окна), каким персонажам не суждено выжить в матчах Доты.

Для “непосвященных”, компания Valve создала игру на основе мода “Защита древних” (DotA) из игры компании Blizzard, Warcraft III: Reign of Chaos. Две группы по пять игроков, каждая из которых занимает и защищает базу, пытаются уничтожить структуры, расположенные на противоположных концах карты. Игроки обладают определенным набором способностей и собирают очки опыта и предметы, которые открывают новые действия (атакующие и защитные).

Это сложнее, чем кажется. Среднее совпадение содержит 80 000 отдельных кадров, в течение которых каждый персонаж может выполнить десятки из 170 000 возможных действий. Игроки на игровом поле заканчивают в среднем 10000 ходов в каждом кадре, что дает более 20 000 игровых измерений. И каждый из игроков может подобрать или купить сотни игровых предметов.

Авторы этого документа отмечают, что здоровье не всегда тесно связано со смертью. Некоторые персонажи обладают способностями к исцелению (восстановлению здоровья). Также игроки могут покупать внутриигровые предметы, которые исцеляют их или телепортируют подальше от опасности.

Учитывая это, команда получила общедоступные файлы воспроизведения Dota 2, предоставленные Valve из последних 5000 профессиональных (крупные турниры) и 5000 полупрофессиональных (второстепенные турниры и лиги), сыгранных до 5 декабря. Их собрание насчитывает 7 311 файлов после предварительной обработки и учета ошибок, данных, которые они извлекли преобразовали во временные ряды, записывая значения набора атрибутов с периодом выборки в 4 такта (что соответствует 0,133 секундам игрового времени).

Вверху: диаграммы, показывающие участки матчей, где «K» указывает на достоверность убийства.

Из этих данных команда извлекла 287 объектов на каждого игрока, некоторые из которых были значениями атрибутов игровых объектов (например, здоровье персонажа). По словам исследователей, из всего списка, наиболее важными факторами, способствующими смерти персонажа являются выделенные параметры:

  • текущего состояние персонажа (например, сила и ловкость);

  • положение его на карте;

  • активируемые предметы;

  • способности персонажа;

  • расстояние до ближайшего живого вражеского персонажа.

Соавторы статьи пишут:

«Поведение игроков зависит от прошлого. Например, если враг просто скрылся из виду, игрок все равно знает, что враг находится в этом районе. С другой стороны, если враг исчез несколько минут назад, он может быть где угодно с точки зрения игрока. Это было нашей мотивацией для добавления функций истории видимости »

Они подали подготовленные данные - 2870 входов и 57,6 млн. отдельных точек измерения данных. Продукт из 287 функций, умноженный на десять персонажей - алгоритм обучение модели (образца просчета). Сохранив 10% данных для проверки и 10% - для тестирования. В ходе экспериментов, команда обнаружила, что достигла средней точности просчета  0,5447 и 0,377 точности из 0,725, когда было предложено предсказать, какой именно из десяти игроков любой команды умрет в течении пяти секунд. Помимо этого, сообщают, что модель могла прогнозировать случаи смерти персонажа до указанного 5-ти секундного окна, предполагая, что изучила “присущие свойства” особенностей, составляющих убийства.

Исследователи признают, что у их подхода есть определенные ограничения, а именно, системе требуется более 200 игровых точек измерения данных (в том числе невидимых игроков), что чтобы делать прогнозы. Также было сказано, что модель может не очень хорошо делать общие выводы новых версий игры. Тем не менее, говорят, что разработанная ими модель, которая доступна в открытом коде на Github, может быть полезна комментаторам и игрокам, следящим за ходом матча.

«Быстрые изменения делает киберспортивные игры очень сложными. Баланс игры может изменяться в течение нескольких секунд. События разворачиваются одновременно во многих областях игровой карты. Комментаторам и зрителям легко упустить важные моменты и приходиться наблюдать только за последующим воздействием событий”, - написала команда исследователей. «В Dota 2 персонаж игрока, убитый противоположной командой, является ключевым событием, интересующим комментаторов и зрителей».