Компания Blizzard объявила о создании открытого API для своей самой популярной многопользовательской стратегии StarCraft 2. Пользователям будет доступно приложение для операционных систем Linux, полный доступ к игровой информации, включая Blizzard Score (счет, который обычно показывают в конце партии), а также возможность вести оффлайн сражения между несколькими ботами. О релизе подробно можно прочитать в блоге компании, а сами ресурсы доступны на странице GitHub.
После успехов машинного обучения на поприще го практически единственным типом игр, в которых человек все еще сильнее компьютера, остаются компьютерные, в особенности те, в которых часть информации скрыта. Типичным примером являются стратегии вроде StarCraft 2, где не только фактически переплетены сразу несколько мини-игр (управление ресурсами, глобальный стратегический менеджмент, микро-контроль юнитов в сражении), но и часть карты скрыта туманом войны, что требует от игрока использовать разведку и планировать действия в условиях недостатка информации. Для того, чтобы обучить искусственный интеллект такой разносторонней игре, требуется много данных (в основном их можно добыть из записей игр между людьми) и удобный доступ к игровой информации.
Для решения проблемы доступа систем машинного обучения к движку игры, Blizzard создал открытое API в виде приложения для операционных систем Linux. Оно не оборудовано полноценным графическим модулем (то есть просто поиграть с его помощью в StarCraft 2 не получится), зато предоставляет пользователю (человеку или программе) набор карт, аналогичных привычной мини-карте, но с большим числом фильтров. Эти карты и предполагается покадрово предоставлять искусственному интелелкту в качестве входных данных, на основании которых он будет выдавать цепочку последующих действий.
Отдельно Blizzard отмечает, что в данный релиз включены записи игр 1 на 1 из многопользовательской лестницы (онлайн-рейтинга игроков). Их, а также ряд специальных тренировочных сценариев («собери ресурсы», «передвинь юнита», «построй здание» и так далее) можно использовать для создания, настройки и последующего обучения собственных ботов. Кроме того, несколько таких систем уже включены в релиз качестве образца. Также компания DeepMind, партнер Blizzard в этом начинании, выпустила библиотеку для Python, с помощью которой можно удобно связывать StarCraft 2 и реализации систем машинного обучения.
Blizzard и DeepMind анонсировали этот релиз еще осенью прошлого года, мотивировав его тем, что компьютерные стратегии вообще и серия StarCraft в частности остаются серьезным вызовом для систем машинного обучения. Настольная игра го на тот момент уже была фактически «побеждена», так как AlphaGo от компании DeepMind выиграла серию игр против одного из сильнейших игроков мира, Ли Седоля. При этом ни одному боту для StarCraft даже близко не удалось достичь уровня игры человека-профессионала.
Но не только DeepMind и Blizzard активно работают над проблемой ИИ и компьютерных игр: буквально на днях сотрудники Facebook выложили препринт, в котором описывают STARDATA, созданную ими базу специально предобработанных записей игр в первую часть Starcraft. Ее также выпустили для нужд машинного обучения.
Тарас Молотилин