Epic Games представила Unreal Engine 5. И эта презентация мало кого оставила равнодушным. Миллиарды полигонов в кадре, рендер одного полигона на пиксель, система глобального освещения — графических (и некоторых звуковых) плюшек так много, что уже сейчас хочется окунуться в подобные детализированные игры с головой. Всё это — почти ставшее для нас настоящее, которое лет 10 назад было будущим. Тогда картинка в таких играх, как Crysis 2, The Last Guardian, Bioshock 2 или Gran Turismo 5 была очень хорошей, а графика, которую мы видим сейчас «in real time» в UE5, лет 10 назад можно было увидеть только в CGI роликах. Но не одной графикой можно развивать игры. И сейчас я попытаюсь кратко рассказать о том, что мы можем увидеть в играх еще через 10 лет (или больше).
Генерация звука
Звук для игр либо записывают на микрофоны (шаги по поверхностям, звуки стрельбы из оружия для EFT, как пример), либо создают искусственным путем с помощью специального инструментария (создание звуков для несуществующих в реальности танков в WoT). Однако, есть и третий путь. Называется он «Toward Wave-based Sound Synthesis«. Суть технологии проста. Представьте, что у вас есть анимационная или игровая сцена, в которой ваш персонаж наливает воду в ёмкость. Для сцены вам нужно записать реальный звук наливания воды. Но с помощью «Toward Wave-based Sound Synthesis» звуки синтезируются автоматически. Звук будет меняться в зависимости от высоты наливания воды, скорости наливания, материала из которого состоит емкость и т.д. Другой пример. Представьте, что вы записали несколько предложений одного из героев, а потом решили, что его голову по сценарию должны накрыть ведром. Звук из под ведра будет явно другим, и для этого нужно либо заново все записывать, либо изменять записанную речь персонажа в аудиоредакторе. В случае с «Toward Wave-based Sound Synthesis», если голову персонажа накроют ведром, то звук автоматически будет звучат как из под ведра. Эта технология была представлена на SIGGRAPH 2018, примеры можете послушать в видео ниже.
Однако, при всех своих плюсах, у этой технологии есть один минус — она кушает много ресурсов. Очень много. На генерацию звука капли воды потребовалось 19 часов работы 32-ядерного процессора. А что будет, если в сцене используются десятки или сотни различных звуков? Тут никакой PS5 не хватит. Так что если эта фишка и появится в играх, то очень не скоро.
Деформируемые симуляции
Разрушаемые объекты в играх — одна из тех вещей, которые делают игровой мир (особенно открытый) более реальным. Наверное, многие помнят игры «Red Faction», «Crysis» и «Battlefield: Bad Company», в которых есть определенная степень разрушаемости неживых объектов. Разрушаемость (или разделываемость) живых объектов есть в «MGS: Revengeance». Но это единичные примеры. В основном, вы не можете разрушить вооон то здание именно так, как вы хотите, или разрубить гоблина топором надвое под определенным углом. Если игрой это не предусмотрено, вы не сможете этого сделать. А если предусмотрено, то только так, как задумано разработчиком.
До определенного момента деформируемые симуляции «in real time» были невозможны, поскольку расчет таких вещей был очень долгим и измерялся в «секундах на кадр». Однако с помощью алгоритма «A Scalable Galerkin Multigrid Method» деформируемые симуляции можно запустить даже на вашей видеокарте и, следовательно, она может рендерить деформируемые симуляции в реальном времени (до 40 кадров в секунду). Примеры можете посмотреть в видео ниже.
Главным преимуществом этого метода является его настраиваемость. То есть количество геометрии объекта может быть изменено и скорость рендера одного объекта можно довести до 180 кадров в секунду. Так что ждем деформируемые симуляции в играх нашего будущего.
Симуляция мышц
Что есть персонаж в игре? Всего лишь «скелет», обтянутый полигонами, на которые повесили хитбоксы. Да, во многих играх есть реалистичная физика поведения человеческого тела (и как оно реагирует на попадания пуль и взрывы), но…это ведь все полумеры, верно? Технология «Volume Invariant Position-based Elastic Rods» (сокращенно «VIPER») позволяет создавать мышцы. При этом, вам не нужно быть магистром мышечных наук и знать, чем бицепс отличается от квадрицепса — VIPER всю работу сделает за вас. Затем, вы цепляете мышцы на скелет, и он начинает двигаться с учетом мышц. VIPER также умеет проводить симуляцию роста мышц (для тех, кто хочет вырастить своего Халка). А в третьих, благодаря мышцам, мы получаем более точную физику мягких тел. Примеры можете посмотреть ниже.
Насколько сложна эта симуляция? Сейчас она доступна «in real time». Другими словами, данная технология весьма эффективна, так что симуляция мышц занимает всего несколько миллисекунд. И даже если в сцене будет с несколько десятков различных объектов с мышцами, на их симуляцию будет уходить не более 10 мс.
Союзники и противники
Игры — это соперничество за победу. И если в сетевых играх мы сражаемся с людьми (зачастую, токсичными), то в синглплеерных играх роль противника отводиться компьютеру. Обычно мало кто заморачивается над действительно умным ИИ, против которого интересно играть (как пример, боты в F.E.A.R.). Делают по системе «и так сойдет!». И дело даже не в том, чтобы сделать сложный ИИ — накрутить параметры скорости реакции у ботов быстрее, чем у киберкотлет может каждый. А вот сделать человечный ИИ — задача посложнее.
Наверное, многие наслышаны про AlphaStar. Эта система ИИ от DeepMind (Google) успешно тестировалась в Starcraft 2 против киберспортсменов и обычных игроков и в кратчайшие сроки достигла ранга «Грандмастер». Да да, простые смертные также могли попасться против «агентов» AlphaStar. Подробнее почитать про AlphaStar можно тут, а посмотреть детальный разбор AlphaStar от грандмастера SC2, Alex007 можно тут. Кстати, у Алекса на канале есть несколько видеороликов, в которых он обсуждает ИИ, играет против него, анализирует и критикует. Советую посмотреть.
Неизвестно, сколько людей, игравших в SC2 против «агентов», распознали в своем противнике ИИ от DeepMind, но уже становится понятно, что в будущем в играх могут появиться искусственные (на обученных нейронных сетях) соперники и союзники, которые могут плавно повышать (или понижать) ваш рейтинг. И тут можно даже дать волю своей фантазии. Скажем, если игрок чаще покупает скины (донатит), то ему чаще попадаются чуть более сильные «агенты» как союзники, и чуть более слабые «агенты», как противники. А если игрок ведет себя плохо (токсичит, багоюзит и просто ведет себя неуважительно), то система может подсовывать ему такой расклад, при котором его уровень игры заметно понизится. Только не говорите об этом Бобби Котику.
К слову, сейчас существует новая версия ИИ от DeepMind — MuZero. В отличие от своей предшественницы AlphaZero, новая нейросеть MuZero научилась играть в 57 классических игр Atari, а также в шахматы, го и сеги, не зная правил — просто наблюдая за ходом партий. Нейросеть добилась высоких показателей в 57 играх Atari и сравнилась по уровню мастерства с AlphaZero в го, шахматах и сеги. Подробнее о MuZero в видео ниже.
Голосовое общение
Здесь речь пойдет об общении. Лично я редко когда общаюсь с игроками в играх. Даже таких команднозависимых, как Overwatch. Обычно, мы понимаем, что если кто-то с нами общается, то это живой человек, а не бот. Однако, человек с помощью нейросетей научился не только создавать фотографии людей (которых никогда не существовало), но и…копировать голос человека, используя образец голоса, длиною в пять секунд.
Кажется, что звучит невероятно, но это так. С помощью «Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis» можно брать образец голоса любого человека, и на его основе создавать любые предложения, которые будет воспроизводить нейросеть. Примеры можно послушать тут. И, если так подумать, то нейросети уже умеют анализировать изображения (понимать, что изображено на фото). Умеют понимать правила игры (в определенных масштабах). Умеют копировать голос. А что мешает создать целые искусственные персоналии, которые умеют играть в игру Х на своем уровне, имеют свой искусственный голос, свою тактику игры? Даже если вы встретите такого «агента», он сможет с вами пообщаться (Google Chat`bot очень хорошо поддерживает беседу). Идеальные союзники. Идеальные соперники. Что еще нужно?
Музыка
К счастью, музыка остается недосягаемой (пока что) для нейросетей. Переплюнуть Йеспера Кюда или Мика Гордона в плане музыки — это вам не Грандмастеров в SC2 обыгрывать. Но упрямые нейросети уже делают первые шаги на музыкальную землю. «Jukebox» умеет генерировать никогда не существовавший ранее трек на основе небольшого отрывка оригинального трека. Да, сгенерированный кусок м-м-м…»музыки» звучит весьма коряво и неряшливо. Но, возможно, лет через 10-15 нейросеть будет автоматически создавать эпичные треки во время битвы и выдавливать слезу скрипкой и пианино в драматические моменты. Уникальные, никогда не существовавшие миксы из определенных инструментов в определенном жанре будут создаваться нажатием пары кнопок. А пока можно послушать бессмертный хит Рика Эстли в исполнении «Jukebox». И порадоваться тому, что хорошую музыку для игроков пока что пишут реальные люди.
P.S.: Заранее простите, если запулил статью не туда. Если что, верните мне на доработку, оформлю в другом разделе.