От тараканов в Half-Life до непобедимых ботов Dota 2. Как развивается искусственный интеллект в играх
Статья

От тараканов в Half-Life до непобедимых ботов Dota 2. Как развивается искусственный интеллект в играх

13 апреля боты OpenAI поборются c чемпионами The International 2018 — OG. Всего несколько лет назад такое противостояние однозначно закончилось бы в пользу людей, но за это время искусственный интеллект научился стоять на миде и побеждать в зеркальном матче протоссов. Рассказываем о самых удачных примерах использования ИИ в игровой индустрии и вспоминаем историю борьбы человека и машины в киберспорте.

Первые шаги ИИ

ИИ — очень важный элемент почти любой одиночной игры. Все персонажи, управляемые компьютером, задают атмосферу и делают максимум, чтобы пользователь почувствовал себя частью их мира. При этом механизм их работы довольно прост. Они следуют заранее заложенной программе, которую игрок активирует своими действиями: если в TES V: Skyrim достать оружие в городе, то ближайший стражник тут же подбежит и прикажет спрятать его подальше.

Valve еще в 1998 году использовала подобные скрипты в Half-Life: даже тараканы имели свои модели поведения — они разбегались при включенном свете, спасались от сапог главного героя и моментально облепляли оторванные части тел монстров. Более продвинутые боты — солдаты HECU — не просто стреляли на поражение, а пытались укрыться во время перезарядки, продвигались вперед, если игрок отступал, и меняли позицию, чтобы уйти из-под огня.

Машина — враг и друг

Со временем противники в играх становились только умнее. Качество искусственного интеллекта быстро стало важным аспектом в оценке новых релизов, а также способом выделиться на рынке. Самым ярким примером отличной работы над ИИ стала оригинальная F.E.A.R. 2005 года от Monolith Productions. Противники очень грамотно оценивали ситуацию в бою и положение игрока — они переговаривались между собой, обходили с флангов, а также вовремя использовали гранаты и быстро переходили на ближний бой при необходимости. Конечно, ни о каком машинном обучении здесь не шло и речи, но ИИ действовал очень разнообразно — это впечатлило всех.

Союзники со временем тоже поумнели. К примеру, в BioShock Infinite и The Last of Us очень тяжело поймать момент, когда Элизабет или Элли ходят кругами, пытаясь найти подходящую точку для взаимодействия с объектами. Их алгоритмы четко определяли окружение игрока и его действия, поэтому напарники всегда были готовы прийти на помощь, если за спину зашел враг или кончились патроны.

Лучший тамада для хоррора

Пожалуй, самым интересным примером ИИ в играх стал Чужой из Alien: Isolation 2014 года. Главной задумкой разработчиков было повторить концепцию Ридли Скотта — режиссера оригинального фильма, — по которой это инопланетное существо было практически неуязвимым идеальным охотником. В отличие от большинства хорроров, где злодеи часто появляются в определенных точках и всегда знают местонахождение главного героя, здесь Чужой не телепортировался и не пугал игрока строго по сценарию.

Чужой в Alien: Isolation — его невозможно убить, остается только прятаться
Чужой в Alien: Isolation — его невозможно убить, остается только прятаться

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

StarCraft и искусственный интеллект

Пока искусственный интеллект в одиночных играх становится все более реалистичным, в многопользовательских проектах слово «бот» по-прежнему остается оскорблением в сторону неопытного игрока. Дело в том, что у студий просто не было повода для постоянной работы над развитием их ИИ — до недавнего времени он был нужен только для обучения новичков. В 2018 году они стали хорошими спарринг-партнерами даже для профессионалов.

Первопроходцами в создании кастомных игровых ботов были программисты-энтузиасты и студенты, которые до сих пор выкладывают своих ботов на тематических форумах и GitHub или даже презентуют их на научных конференциях. Чаще всего частный ИИ разрабатывают для относительно старых игр с открытым кодом или хотя бы с доступом к модификациям. Особенно популярными в этом плане стали обе части StarCraft.

Команда разработчиков искусственного интеллекта SAIDA из Samsung SDS
Команда разработчиков искусственного интеллекта SAIDA из Samsung SDS

В 2011 году Чешский технический университет организовал студенческую лигу ИИ в StarCraft, в которой уже восемь лет выступают боты от различных вузов со всего мира. Все участники в первую очередь борются за внимание крупных компаний, которые с середины 2010-х начали активно инвестировать в исследования ИИ. К примеру, текущим лидером рейтинга лиги является бот SAIDA, которого разработала команда Samsung SDS, а в 2017 году победителем сезонного чемпионата стали сотрудники Facebook.

Искусственный интеллект большинства участников умеет обучаться с помощью записей сыгранных матчей — то есть работает как нейросеть, — поэтому на ходу подстраивается к ситуации на карте. При этом некоторые боты заранее запрограммированы на определенные стратегии или на определенный стиль игры: одни в любой удобной ситуации будут застраиваться фотонными пушками, другие пойдут в раннюю агрессию, а третьи попытаются победить с помощью идеального микроконтроля юнитами. Все это действительно выглядит впечатляюще, хотя даже машины совершают ошибки и иногда могут неверно расположить здания или не отдать приказ какой-нибудь группе юнитов.

Одним из самых популярных ботов в StarCraft II был Automaton 2000, который не мог вести настоящую игру, но почти безупречно управлял юнитами. Ролик, в котором машина уничтожает большой отряд осадных танков с помощью армии зерглингов без серьезных потерь, набрал более миллиона просмотров на YouTube.

Google против киберспортсменов

В 2017 году лига для ИИ появилась и в StarCraft II — на этот раз созданная не только для студентов. Участники могут заявить в лигу ботов, разработанных на любой доступной им платформе, и побороться за несколько ценных призов. В целом ИИ в StarCraft II едва ли превосходит аналог из оригинальной SC, зато бои этих программ можно посмотреть с русскими комментариями от Алексея Alex007 Трушлякова.

Развитию ИИ в этой игре сильно поспособствовала инициатива Blizzard Entertainment и дочерней компании Google — DeepMind. Организации создали набор инструментов для разработки обучающихся ботов и открыли доступ к нему для всех желающих. Позже DeepMind представила свой ИИ — AlphaStar, который в декабре 2018 года разгромил ветеранов профессиональной сцены StarCraft II.

За год до этого боты из нескольких стран без шансов проиграли Stork в шоу-матчах, несмотря на то что среди ИИ была обучающаяся машина от Facebook. Алгоритму DeepMind потребовалось всего 18 месяцев «тренировок» в сети, чтобы превзойти Дарио TLO Вунша и Гжегожа MaNa Коминча в StarCraft II — до этого студия разрабатывала машины, которые учились игре в го и шахматы.

У бота были свои ограничения и преимущества. Игроки могли выступать только на расе протоссов, а ИИ не мог превышать доступный человеку показатель действий в секунду — то есть в среднем он отдавал не более 400 приказов в минуту. При этом бот оперировал на всей карте сразу без необходимости перемещать камеру, что существенно увеличивало скорость его реакции на появление вражеских юнитов в зоне видимости.

Из 11 матчей AlphaStar уступил лишь в одном, который не вошел в финальный отчет DeepMind. В этой игре MaNa сумел найти уязвимость в алгоритме бота. Учитывая, что эти встречи тоже станут материалом для обучения бота, в будущем профессиональным киберспортсменам будет еще сложнее победить машину.

ИИ приходит в Dota 2 и побеждает Dendi

В StarCraft ИИ год за годом развивался, а в других дисциплинах прогресс шел очень медленно. Но в 2015-м предприниматель Илон Маск, известный по проектам Tesla и SpaceX, основал OpenAI, которая занялась разработкой искусственного интеллекта — в том числе для Dota 2.

Дебют бота в дисциплине стал по-настоящему грандиозным: компания выставила свою машину против Данила Dendi Ишутина во время The International 2017. Матч прошел в формате 1vs1 на Shadow Fiend, и OpenAI взял верх над победителем первого TI. Опыт бывшего мидера Natus Vincere не помог ему в схватке с ИИ, который учился чуть ли не на всей истории игр Dota 2. Впоследствии представители OpenAI устраивали матчи с другими киберспортсменами, но бот одерживал верх в большинстве встреч — первым машину победил Пер Андерс Pajkatt Олсен Лилль, который обманул ИИ моментальным лечением с Magic Wand и Faerie Fire. Позже игроки нашли еще больше уязвимостей в алгоритмах OpenAI.

Год спустя разработчики представили целую команду машин, которая могла выступать только в ограниченном пуле героев. Боты обыграли состав из кастеров Dota 2, но не справились с paiN Gaming и сборной китайских ветеранов на The International 2018. При этом во всех матчах действовали определенные ограничения на сборку предметов и использование иллюзий или невидимости — видимо, для машины некоторые механики были слишком сложными.

Битва с лучшими

Матч с OG, который пройдет 13 апреля, должен стать очередной презентацией новых навыков OpenAI. Покажут ли боты что-то действительно впечатляющее — неизвестно, но студия уже сообщила, что правила встречи по-прежнему будут ограничены. В такой ситуации у OG могут появиться проблемы — изначально чемпионы мира по Dota 2, по мнению букмекеров, считались фаворитами предстоящей встречи с ИИ, но на сегодня шансы команд почти сравнялись.

В StarCraft искусственный интеллект уже доказал, что способен побеждать сильнейших при практически равных условиях и без серьезных оговорок в правилах. В Dota 2 ботам этого сделать пока не удалось — во многом из-за большой вариативности элементов в MOBA. Исход предстоящего матча точно не станет определяющим в борьбе человечества с машинами: победа OpenAI будет не совсем честной из-за ограничений, а поражение — лишь очередным реплеем для анализа нейросети.

Комментарии