Top.Mail.Ru
Карьера
Бизнес
Жизнь
Тренды

Что делает ИИ в компьютерных играх

И почему это наше будущее 

Я руковожу проектной группой «Программная инженерия компьютерных игр» и точно знаю, что вы делали прошлым летом…. Скорее всего вы обсуждали искусственный интеллект! Сейчас его не обсуждает только ленивый. Уже сложились непримиримые лагеря заИИшников и антиИИшников. Тема холиварная. Но наша тема сегодня супер-холиварная! Поговорим об искусственном интеллекте в компьютерных играх.

name

Ольга Максименкова

Доцент Департамента программной инженерии факультета компьютерных наук НИУ ВШЭ.

Содержание

Что такое искусственный интеллект?

Восемь лет я преподаю разработку компьютерных игр будущим программным инженерам. И как только мы доходим до искусственного интеллекта, выясняется странное: мы все понимаем его по-разному!

Начнем с истоков. В 1956 у исследователей в области компьютерных наук наконец-то появились компьютеры! Размером примерно с этаж, но лучше, чем счёты. И небезызвестные Джон Маккарти, Марвин Мински, Клод Шеннон и Рэй Соломонов собрались на лето в Дартмуте и решили за два месяца, силами десяти человек, «попытаться выяснить, как заставить машины использовать язык, формировать абстракции и концепции, решать проблемы, которые сейчас доступны только человеку, и самосовершенствоваться».

Как вы понимаете, что два месяца затянулись. И только в 2023 году мы смогли полноценно провести лето в компании ChatGPT и других «Больших языковых моделей», которые резко изменили восприятие ИИ в глазах обывателей.

Так что же такое искусственный интеллект? Существует, например, такое определение: это компьютерная или роботизированная система, которая ведёт себя, во-первых, разумно, во-вторых, как человек. Относительно такой «интеллектуальности машин» Эдсгер Дейкстра (кстати, лауреат премии Тьюринга — престижная награда в области информатики. Присуждается старейшей Ассоциацией вычислительной техники, считается аналогом Нобелевской премии в области информатики — прим.ред.) острил: «А плавают ли подводные лодки?»

Понятие интеллекта уточнил еще один лауреат премии Тьюринга Ян Лекун: «Интеллект означает способность воспринимать ситуацию, затем планировать ответные действия, и, как следствие, действовать так, чтобы достичь цели - то есть уметь отслеживать ситуацию и планировать последовательность действий». И таких уточнений очень много!

Условно можно разделить определения ИИ по следующим критериям:

1. Сильный/слабый ИИ — где сильный ИИ может ставить себе цели самостоятельно, а у слабого целеполагание полностью отсутствует.

2. Широкий и узкий искусственный интеллект связан с разбросом задач. Условно: может ли наш ИИ варенье сварить, на швейной машинке шить и крестиком вышивать, как кот Матроскин, или только что-то одно.

3. Наконец, ответственный и безответственный 😊 нет, конечно, более или менее ответственный ИИ, т.е. различающийся по уровню прогнозирования последствий собственных решений.

И это только основные критерии, дополнительно выделяют автономность, заземленность, этичность и кучу других

Где находится связь между ИИ и компьютерными играми?

Вернемся к компьютерным играм, перенесемся в 1962 год прошлого века. У исследователей Массачусетского технологического института тоже появился компьютер – поменьше, чем этаж, но один на всех. Это была машинка DEC PDP-1. ИИшники в это время были заняты проработкой теории машинного обучения, а эмайтишники были полны желания и энтузиазма продемонстрировать возможности новой железки. Для этого они сделали одну из первых игр Spacewar! Знаете, этакий космосим на минималках.

Если любопытно, найдите онлайн-эмулятор и сыграйте. По слухам, ученые так увлеклись, что даже устраивали соревнования. Пожалуй, что Spacewar! — это и один из первых примеров искусственного интеллекта в игре: вражеские корабли и космический мир управлялись компьютером.

Здесь и начинаются три важнейших истории:

  • ИИ как партнер или противник человека в игре, 
  • ИИ для ускорения обсчета и отрисовки игрового мира
  • и ИИ как инструмент разработки игр.

Как понимают ИИ в компьютерных играх?

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

Представьте, что вам надо подумать за компьютерного игрока, который отбивает летящий в него мяч. Мысли в его железной голове могут быть примерно такие:

Мяч ближе 1 метра ко мне?

  • Да — отбиваем
  • Нет — остаемся на месте

Поздравляю! Мы только что придумали дерево с одной вершинкой — вопросом и двумя листьями — действиями. Осталось переписать его в код игры.

Конечно, играть с такими противниками не очень интересно — вариантом посложнее являются конечные автоматы. Совсем не понятно, что это такое, но если я дословно переведу с английского: «машина конечных состояний», то станет яснее: наш компьютерный персонаж может находиться в разных, конкретных состояниях и переходить из одного в другое.

Например, если мы программируем бота-воина в стрелялке, то можем сделать такой конечный автомат:

  • Если ты не видишь врага, стой на страже.
  • Когда стоишь на страже, если видишь мелкого врага, переходи в состояние боя, но если враг слишком велик, то в состояние убежать.
  • Во время боя, если проигрываешь, то переходи в состояние убежать.
  • Во время бегства, если тебе, железная голова, ничего не угрожает — перейди в стояние на страже.

Продуманный конечный автомат потянет, например, и управление адвенчурой. Страшно представить, что больше пятидесяти лет назад вышла текстовая Colossal Cave Adventure для компа PDP-10, и она как раз работала на конечном автомате. Деревья и автоматы настолько укоренились в играх, что их можно встретить уже встроенными в популярные движки разработки игр: по сути можно просто «нарисовать ИИ» в редакторе, даже не умея программировать.

Перенесемся в 1997 год, когда я еще была школьницей, первая двумерная GTA, вторая квака и Fallout только вышли, а ИИ начал играть в игры по-взрослому. Компьютер Deep Blue обыграл в шахматы действующего чемпиона мира. Нет, в шахматы и до этого с компьютером можно было поиграть, у меня стояла Deep Fritz (не путать с утилитой Deep Freeze), которой я систематически проигрывала. Но чтобы проиграл чемпион, это было неожиданно. Исследователи и инженеры шли к этому успеху с середины 80-х. Компьютер IBM Deep Blue мог перебирать огромное количество игровых шахматных комбинаций, как если бы вы писали на бумажке все возможные цепочки решения задачи, только без бумажки и в миллиарды раз быстрее.

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

В какой точке мы сейчас находимся?

ИИшники же сделали второй подход к снаряду под названием нейронные сети. Это привело к появлению глубинного машинного обучения. И оно, как мы уже знаем, изменит все и приведет нас к генеративным моделям — генеративкам — и дипфейкам.

Следующий игровой бастион: сценарии и лор, рушится на наших глазах. Начиная с Word2Vec 2014 года обычные тексты превратились в математические модели: во много-многомерные вектора чисел. Сейчас наши студенты игроделы пишут по этим темам магистерские диссертации. Ну а примеры внедрений посыпались, как из ведра.

В 2015 году AlphaGo обыгрывает профессионального игрока в Go. AlphaGo — это набор нейросетей, для которых не создавался специальный компьютер. Потребовалось кое-что другое! Компьютеры снова должны были стать «большими», появились облачные технологии. Во всю задействовались распределенные вычисления — это когда у вас одна задачка, но вы ее хитро поделили между несколькими компьютерами, а потом хитро собрали обратно.

В 2019 году OpenAI Five обыграл команду профессиональных игроков в Dota 2. Этот бот не просто не был тупым, он ещё и взаимодействовал с другими ботами в команде, то есть рубился в доту 5 на 5.

В 2021 году в промышленное внедрение вышли большие языковые модели. Мир начал писать тексты в ChatGPT и рисовать в Кандинском. В 2023 году ИИ, как и положено хайповой инновации, взлетел на уровень триппл-Эй тайтлов компьютерных игр. У них есть деньги на дорогие штучки, а экономия на «дешёвых», но массовых и повторяющихся операциях концептирования, тестирования, работы с ассетами — привет генеративкам — выглядит многообещающе.

В третьей Baldur’s Gate искусственный интеллект применялся непосредственно в разработке, например, его использовали для тестирования геймплея. На основе больших языковых моделей была реализована адаптивная система повествования и интеллектуальный мастер подземелья. Главный конкурент балдуров за всякие громкие награды, второй Alan Wake, так и вовсе открыто называли тестовой площадкой для новейшего оборудования и технологий, известно об использовании интеллектуальной трассировки лучей и интеллектуального антиалиазинга.

Но все развивается еще стремительнее, чем может показаться. К моменту записи этого видео в интернете стала доступна техно-демка Covert Protocol, где использована платформа Inword AI, сервисы которой полностью отвечают за поведение компьютерных персонажей: от анализа игрового окружения до мимики и синтеза речи. Не потеряем главное: даже этому ИИ задачи и цели ставит человек — создатель игры.

Стоит ли нам опасаться и при чем здесь человеко-машинное взаимодействие?

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

В завершении хотелось бы сказать, что сейчас на авансцену выходит область человеко-машинного взаимодействия. Нам самим нужно понять, каким образом эффективно использовать наши новые интеллектуальные машины. Сухие цифры подтверждают это, из всех публикаций, зафиксированных в гугл сколар с 2020 года, по человеко-машинному взаимодействию более половины опубликованы после 2023 года.

И если вам интересно, при чем здесь игры, то я отвечу. Игры интерактивны по природе, то есть предполагают взаимодействие, в том числе машины и человека, но это уже совсем другая история.