По образу и подобию: почему ИИ в играх «читерит»
Компьютер освоил шахматы и го, победил чемпионов мира по Dota 2 и Starcraft 2. Но в одиночных режимах он часто играет нечестно. Почему разработчики поощряют такое поведение?
Искусственный интеллект и «искусственный интеллект»
Правильные игры развивают интеллект – и человеческий, и искусственный. Последний тренируется на них с самого своего появления: еще в 1940 году, до знаменитой статьи Алана Тьюринга, Эдвард Кондон научил компьютер Nimatron играть в «ним». В 1997 году компьютеры научились побеждать в шахматы (речь идет о матчах Гарри Каспарова против системы Deep Blue от Intel), но так и не смогли покорить го до 2010 года. В 2003 году специалисты по информатике Альебртского университета Майкл Бюро (Michael Buro) и Тимоти Фуртак (Timothy Furtak) предложили использовать стратегии в реальном времени (RTS) в качестве площадки для тестирования ИИ.
Какое-то время о достижениях ИИ в играх не было слышно, но в 2010 году появилась компания Deep Mind, чей алгоритм AlphaGo в октябре 2015 победил сначала действующего чемпиона мира по го Фань Хуэя, а затем провел 60 онлайн матчей с профессионалами без единого поражения. После этого Deep Mind объявила, что их следующей целью станет StarCraft 2.
История прогресса в области ИИ отмечается достижениями в играх. Как только компьютеры «раскололи» го, шахматы и покер, StarCraft стал новой серьезной ступенью. Игра намного сложнее го, потому что в каждый момент доступно 10^26 вариантов действий, а игроки знают о противнике меньше, чем во время партии в покер.
В октябре 2019 года новый алгоритм AlphaStar превзошел 99,8% игроков в StarCraft 2. Почти одновременно компания OpenAI представила обновленную версию собственного алгоритма. С ним команда из пяти ботов победила действующих чемпионов мира OG, а затем выиграла 99,4% из 42,729 матчей в открытых онлайн соревнованиях. Такого прогресса разработчики добились всего за год: несколько месяцев назад, в 2018 году OpenAI Five проиграл команде профессиональных игроков в Dota 2.
Ни DeepMind, ни OpenAI не занимаются разработкой игр: их алгоритмы преследуют другие цели, а стратегии, как уже говорилось выше – лишь способ проверить их состоятельность.
Прежде всего, миссия DeepMind заключается в создании искусственного интеллекта общего назначения (т.е. такого, который может решать любые предложенные ему задачи – прим. ред.). Для этого важно оценить, как наши агенты выполняют самые разные задачи.
Их «научный» ИИ очень сильно отличается от всего, что используется в одиночных играх. В этих отличиях кроются причины того, почему виртуальные противники часто действуют нерационально, не стремятся к обучению и полагаются на жульничество.
Ограниченные ресурсы компьютера – неограниченные ресурсы в игре
Каковы правила создания хорошего ИИ для игр?
Читерите при любой возможности. ИИ ограничен, ему необходимо жульничать время от времени, если он хочет сократить отрыв от игрока.
В 2018 году OpenAI на несколько недель арендовала у Google 128,000 CPU и 256 GPU для обучения ботов OpenAI Five. ИИ без перерыва играл в Dota 2, наигрывая за день эквивалент 100 жизней обычного игрока, понемногу корректируя свои действия и наблюдая за результатом.
Обе упомянутые компании имеют практически неограниченные ресурсы: Deep Mind с 2014 года принадлежит компании Google, а OpenAI основал известный миллиардер Илон Маск (Elon Musk). Почему это важно?
ИИ требователен к вычислительным мощностям на всех этапах, не только во время обучения: играя, компьютер должен в реальном времени следить одновременно за многими параметрами и быстро принимать решения, при этом просчитывая последствия. Такой темп – серьезное испытание даже для суперкомпьютера: время реакции AlphaStar в среднем равно 350 мс, что ниже показателей профессиональных киберспортсменов.
Пошаговые стратегии в этом плане проще: ИИ может «думать», пока ходит игрок, но даже этого времени не хватает и разработчики искусственно ограничивают компьютер, чтобы партия не длилась слишком долго. Это сказывается на количестве совершаемых им ошибок, застраховать от которых помогают читы.
Один из первых ИИ-читеров можно найти в пошаговой стратегии 1981 года «Eastern Front (1941)». Разработчик Крис Кравфорд (Chris Crawford) решил сохранить один конкретный баг. Крис считал, что лишь с ним компьютер мог выстоять против живого игрока.
Туман войны, поддерживающий иллюзию военных действий для игрока, для ИИ является еще одним серьезным препятствием. Отсутствие полной информации – одно из основных отличий между RTS и настольными играми, выделяемых Бюро и Тимоти Фуртаком. Создатели AlphaStar отдельно отмечают способность алгоритма справляться с огромным числом порождаемых неопределенностью вариантов, но даже для таких машин проблема не решена до конца. Обычный компьютер на такое не способен, и многие разработчики просто дают ему возможность видеть всю карту без ограничений.
Больше значит лучше
Низкое время реакции AlphaStar компенсировала специальной тактикой. Поведение такого ИИ появилось в результате миллионов сыгранных матчей, и представляет собой нечто настолько уникальное, что это могут взять на вооружение прогеймеры.
AlphaStar – интригующий и необычный игрок с рефлексами и скоростью лучших профи, но своим собственным стилем. Тот способ, которым обучался AlphaStar, дал невообразимо необычный геймплей. Это поневоле вызывает вопрос: сколько еще возможностей и стратегий StarCraft профи до сих пор не раскрыли?
Обучение – процесс, который пока недоступен простому игровому ИИ. Его тактика ограничена тем, что заложили в него разработчики. Поэтому мы можем не ждать, что ИИ закроет брешь, которую игрок найдет в его обороне, если этот вариант не продуман отдельно. При этом не важно, сколько сил было потрачено на усложнение ИИ: игрок все равно очень быстро раскусит его и потеряет интерес. Гораздо выгоднее создать несколько средних, но отличающихся по поведению противников, а сложности добавить читами.
Разработчики Command & Conquer 3: Tiberium Wars пошли по пути создания нескольких алгоритмов, реализовав у ИИ целый набор классических тактик, включая быструю атаку в начале игры (“раш”) и уход в оборону с долгим развитием.
Blitzkrieg 3, по заверениям разработчиков, – единственная RTS с самообучающимся ИИ. Не совсем понятно, действительно ли алгоритм по имени General Boris использует нейросеть, или это лишь маркетинговый ход, но фурора игра не произвела.
Интересный факт: обучаемый ИИ пока подвержен «катастрофическому забыванию». Это означает, что если ИИ натренирован играть в StarCraft 2, попытка обучить тот же алгоритм игре в Dota 2 приведет к тому, что он забудет StarCraft 2. Решить эту проблему пока удалось только AlphaZero, освоившему одновременно и шахматы, и го, и сёгу.
Конфликт интересов
Цель игры — развлечь игрока. Но нравятся ли нам невыполнимые задачи?
Развлечение превыше сложности. Всегда старайтесь выровнять сложность на каждом уровне так, чтобы игроку нравилось играть.
Ограниченные возможности ПК не помешали OpenAI Five провести 42,729 открытых матчей через интернет. Сервисы облачного гейминга могли бы навсегда избавить игроков от ИИ-читеров и предоставить им продвинутых соперников. Такой вариант возможен в будущем, но нужно помнить о том, что игры – коммерческий продукт, а сложный ИИ не гарантирует успех игры.
Вспомним реакцию великого шахматиста, проигравшего ИИ пять партий подряд.
Я был не в настроении играть. Я – человек. Когда я вижу что-то, настолько выходящее за пределы моего понимания, я боюсь
У разработчиков нет задачи напугать и тем более демотивировать игрока. В отличие от AlphaStar или OpenAI, у игрового ИИ нет даже цели победить. Он лишь имитирует борьбу, постепенно сдаваясь игроку – быстрее или медленнее, в зависимости от сложности.
Задача хорошего игрового ИИ – не выглядеть глупым, но при этом совершать ошибки, которыми может воспользоваться игрок. Пока с ней успешно справляются привычные, хоть и жульничающие алгоритмы, вкладывать ресурсы в разработку чего-то более сложного никто не будет.
Добавьте изъяны, но избегайте глупости. ИИ должен совершать ошибки, чтобы игрок использовал их, но он не должен выглядеть глупо. С ИИ неинтересно играть, если он всегда вовремя атакует и вовремя отступает. Но и ошибки он должен делать соответствующие своим способностям. Это тонкая, но важная грань.
StarCraft 2 и Dota 2 не просто так используются в качестве тестовых площадок: баланс в них тщательно выверен, а код вычищен. Самообучающийся ИИ подойдет не для каждой игры: если в ней есть баги, то алгоритм неизбежно их обнаружит и начнет читерить уже по-настоящему. Так случилось с выпущенной в 1982 году аркадой Q*bert. В 2018 году ее алгоритм нашел неизвестный ранее баг, дающий возможность набрать более миллиона очков.
Сказать, что игровой ИИ стоит на месте, было бы неправильно. Алгоритмы совершенствуются, а созданные энтузиастами и профессионалами боты сражаются друг с другом на независимых турнирах, или на соревнованиях на конференциях (вроде AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE)).
Критика и обвинения
Как реагируют игроки на жульничающего ИИ?
Никогда не попадайтесь на читах. Ничто так не разрушает иллюзию хорошего ИИ, как возможность видеть, как он мухлюет.
Одна из задач разработчика – скрыть жизненно важные читы от игрока. Однако иногда их обвиняют несправедливо, просто за то, что в чем-то машины действительно превосходят игрока – или хотя бы его ожидания.
Многозадачность, получение всей доступной информации о состоянии игры единовременно и скорость реакции – те «нечестные преимущества», за которые игроки чаще всего критикуют ИИ. По словам исследователя ИИ Гари Маркуса (Gary Marcus), именно они не позволяют назвать матч между OpenAI Five и OG честным. Чтобы избежать похожих обвинений, разработчики DeepMind специально указывают, что их детище — AlphaStar — играл на официальных серверах Battle.net, смотрел на игру через виртуальную камеру, имел ограничения по количеству действий в минуту и заработал титул Grandmaster честным путем.
По словам профессионального игрока в StarCraft 2 Дарио “Tlo” Вюнша (Dario Wünsch), поведение алгоритма не выглядело сверхчеловеческим и не достигло уровня, которого не мог бы теоретически достичь человек.
Но это Alpha Star. В RTS большинство виртуальных противники пока не достигли даже такого же мастерства, как у продукта DeepMind. Поэтому идея отбирать у них читы может оказаться не самой удачной.
Автор: Артемий Третьяков специально для SmirnovSchool, онлайн-школы, где готовят концепт-художников, левел-артистов и 3D-моделеров для игр и анимации. Связаться с нами можно на сайте. Скажите, что пришли с DTF, и мы с радостью предоставим вам приятную скидку.