Сыграем по-другому

Рейтрейсинг и машинное обучение в геймдеве.

10 ноября в продажу поступили новые консоли Sony Playstation 5 и Xbox Series X, которые больше похожи на кастомные игровые ПК. Это не единственное изменение в мире видеоигр. Разработка игр тоже перестраивается. 

Рассказываем, как технологии трансформируют графику и объясняем, помогут ли нейросети создать «умных» персонажей.

Другая графика и быстрое тестирование
 

Сейчас освещение, тени, прозрачность в видео создаются по технологии растеризации. Для отрисовки объекта делают проекцию на экран (по пикселям, учитывая расстояние и цвет).

В каждой сцене игры — миллионы пикселей, а информация об их цвете или размещении обновляется 30-60 раз в секунду. Но специальные 3D-ускорители справляются с этой задачей.

RTX или рейтрейсинг — это метод построения 3D-изображения при помощи симуляции лучей света. Технология изображает картинку так, как ее видят человеческие глаза. Алгоритм RTX отслеживает путь каждого луча и показывает взаимодействие с предметами. Он учитывает, где свет касается поверхности, а также переходы цвета и тени. 

Технология трассировки лучей (RTX) начала развиваться еще в 1960-х. Но только в  последние годы ее начали применять в геймдеве, совершенствуя графику. С 2018 года технология рейтрейсинга используется в части игровых решений. Благодаря RTX в шутерах (Battlefield V и Cyberpunk 2077) и симуляторах выживания (The Long Dark) появились отражения объектов, остающихся за кадром. Кроме того, RTX усовершенствовал физику частиц (взрывы, искры, снег). 

RTX создает почти идеальное по физическим показателям изображение, но требует больших вычислительных мощностей. Поэтому сначала технологию внедрили немногие. Но сейчас большинство игр, готовящихся к выпуску, поддерживают RTX на всех этапах прохождения. Так, новый Spiderman, который разрабатывали для PS5, будет доступен в двух режимах: с разрешением 4К и 60fps или с RTX, но уже с 30 кадрами в секунду. Также технологию RTX поддерживает игра Metro: Exodus, которая создавалась в сотрудничестве с компанией Nvidia, популяризатором рейтрейсинга в играх. Она разрабатывает специальные видеокарты для оптимизации технологии. 

Подход к тестированию игр также изменят технологичные решения. 

До выпуска игры проверяют на наличие багов и недоработок в текстурах. Это рутинная задача, которую выполняют люди. Проверка одного игрового часа работы всех карт и моделей занимает около 2300 часов тестирования. 

Но междисциплинарная команда SEED (Search for Extraordinary Experiences Division) из студии EA создала фреймворк, который может тестировать механику игры на основе самообучения. Алгоритм использует подкрепление вознаграждением (фреймворк получает очки за успешное прохождение карты). Такие программы могут обнаружить эксплойты и помочь с тестированием шутеров от первого лица.

Персонажи с характером
 

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

Приблизиться к системе «умных» ботов попробовали в игре Middle earth: Shadow of War, где работал алгоритм Nimesis по созданию личного врага. Орки запоминают столкновения с героем, и их становится сложнее победить. Основываясь на прошлом опыте, враги совершенствуются в бою. NPC взаимодействуют не только с игроком, но и с неигровыми персонажами, создавая историю отношений. Благодаря этому каждое прохождение создает уникальные ситуации.

Разработка видеоигры усложняется с расширением миров и добавлением новых NPC. Нужно прописывать диалоги для персонажей и проводить их озвучку на студиях. Из-за этого создание игры дорожает. Решить эту проблему мог аудиоредактор VoCo от Adobe. Компания позиционировала VoCo как «фотошоп для голоса». Прослушав 20 минут разговора человека, VoCo разбивал предложения на фонемы и генерировал текст. Презентацию наработки провели в 2016 году, но проект не получил развития. Вероятно, из-за этических проблем. Голос, синтезированный VoCo, звучал настолько правдоподобно, что его могли использовать мошенники. 

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

В компании EA (выпускает серию FIFA) разработали программу, которая сама прогнозирует и создает игровую анимацию. Команда использовала ML для анализа данных движения. Другую модель научили воспроизводить движение при выполнении конкретной задачи, например, при перемещении к цели. Это позволяет системе создавать движения, которых нет в исходных данных — процедурную анимацию. Например, нейронка знает, как двигается игрок во время бега, и может спрогнозировать, как он будет взаимодействовать с мячом. 

Достойные противники
 

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

Игры серии F.E.A.R выходили еще в середине нулевых, но тогда отличались продуманной системой боев. Противники действовали как одна команда, прикрывали друг друга и обходили игрока с флангов. В отзывах отмечали проработанный «искусственный интеллект». На самом деле ИИ в F.E.A.R не было. Просто разработчики вместо скриптов и дерева решений использовали технологию целеориентированного планирования действий (GOAP). 

NPC при использовании такой технологии пребывают в трех состояниях:

  • Goto — анимация бега, ходьбы
  • Animate — стрельба, реакция на героя 
  • Use Smart Object — взаимодействие с предметами

Фактически, противник проигрывает последовательность этих состояний, а система GOAP по алгоритму находит порядок для реакций, которые обновляются при сканировании поведения игрока. За счет плавной последовательности переключения «режимов» появляется иллюзия интеллекта у ботов. 

Сложными противниками оказались нейросети, которых обучают играть в многопользовательские онлайн-игры. Команда ОpenAI создала самообучающийся алгоритм, и в конце 2017 года он победил лучших игроков мира в Dota2. 

Подобная ситуация произошла и с нейросетью AlphaStar, которая играет в StarCraft 2. В начале 2019 года она тоже победила лучших игроков. AlphaStar пока играет только в одном режиме, но выполняет задачи лучше чем 99,8% пользователей. Компания DeepMind, которая разрабатывала AlphaStar, применила две технологии: deep learning и reinforcement learning. Сначала в нейронку загрузили матчи обычных игроков. Это позволило ей обыгрывать игровой интеллект в 95% случаев. Затем использовали обучение с подкреплением: AlphaStar соревновалась со своими версиями в турнире в ускоренном режиме. Общая продолжительность матчей каждой из версий составила 200 лет.

А в студии Electronic Arts команда разработчиков использовали обучение с подкреплением, чтобы создать самообучающегося агента для шутера Battlefield 1. Это первый случай, когда программа играла в сложную игру AAA-класса от первого лица. Все агенты обучились по алгоритмам предыдущих игр и умеют анализировать ситуацию. Они меняют тактику при отсутствии боеприпасов или ищут укрытие. 

Агенты тренировались против ботов и других агентов и обучались около 300 дней. Разработчики даже проводили тестовое сражение в упрощенном режиме с реальными игроками. Агенты пока не умеют строить сложные тактики, поэтому они проиграли. Но технический директор команды Магнус Нордин заявляет, что через несколько лет NPC смогут играть на равных.