Хватит хейтить AAA: как корпорации подарили нам физику, звук и умных NPC
Ругать современный AAA-геймдев — это уже своего рода отдельная дисциплина на киберспортивной арене комментариев. «Ну конечно, в игре снова будут вышки», «А что-то новое будет?», «Как обычно, про оптимизацию забыли». Во многом этот хейт оправдан.
Но представьте: вы запускаете красивый АА или инди-проект, наслаждаетесь реалистичным звуком окружения, тем, как приятно работает физика, и удивляетесь умному поведению NPC. Вы думаете: «Вот могут же делать с душой, не то что эти ваши Ubisoft/EA!».
Ирония в том, что каждая эта механика или используемая технология — это «обноски» с барского стола ААА-индустрии прошлых лет. Мы привыкли видеть в крупных издателях корпоративных монстров, которые хотят выкачать из нас последние копейки через боевой пропуск и очередной гламурный скинчик. Но в пылу праведного гнева мы часто забываем одну важную деталь: ААА-сегмент — это дорогой полигон для обкатки технологий.
Сегодня поговорим о том, за что нам всё-таки стоит сказать «спасибо» блокбастерам. О технологиях, которые когда-то взрывали мозг в дорогих хитах, а сегодня стали стандартом даже в проектах за пару долларов.
С вами Даня из Plat.market — погнали разбираться.
Звук, который можно «потрогать»
Начнём с того, что мы часто недооцениваем — с аудио.
В эпоху 8-битки и раннего 3D звук был просто «фоном». Музыка играла, выстрел звучал как «пиу-пиу», и этого было достаточно. Но в один момент этого стало не хватать, поэтому потом пришли ребята из «зазеркалья» и показали, что такое аудиальное погружение.
Во время разработки Thief: The Dark Project студия Looking Glass сделала ставку на стелс, где звук был не дополнением, а основной игровой средой. Они разработали «Thief sound engine» — сложную звуковую систему с учётом 3D-геометрии мира. Звук в Thief не просто проходил сквозь стены. Он «путешествовал» по поверхностям уровней: огибал углы, приглушался за закрытой дверью и эхом разносился по каменным коридорам.
На момент выхода игры в 1998 году это был прорыв в работе со звуком. Именно благодаря амбициям ребят из Looking Glass мы сегодня имеем игры, где можно с закрытыми глазами определить, что враг находится на втором этаже, в комнате слева, и он, кажется, в тяжелых сапогах.
Сегодня бинауральный звук и технологии вроде Ray-Traced Audio — это эволюция тех идей, заложенных в конце 90-х. Но если раньше для этого требовались проприетарные движки, то сейчас продвинутые аудиоплагины доступны в Unity и Unreal Engine любому разработчику «из коробки».
Вспомните Hellblade: Senua’s Sacrifice, собранную на Unreal Engine 4. Это, конечно, «инди-ААА», но качество работы со звуком там на уровне голливудских блокбастеров. Голоса в голове Сенуи работают так пугающе реалистично именно потому, что технологии объёмного звучания годами полировались в крупных проектах.
Если взять в пример что-то более приземлённое и на Unity, то Gloomwood отлично подражает Thief не только визуально и игромеханически, но и аудиально.
Физика: от падающих коробок до «живого» мира
Долгое время игровые миры были статичными декорациями. Стены были нерушимыми, а предметы прибиты к полу гвоздями.
Революция постучалась монтировкой в дверь вместе с Half-Life 2 в 2004 году. Valve вложила огромные средства в собственный игровой движок Source и интеграцию физического движка Havok. Half-Life 2 была не первой игрой с реализацией интерактивных объектов, но с неё началась революция физики в играх.
С первых минут геймплея игроки стали замечать, что бочки можно кидать, доски ломать, а банки нужно бросать прямо в мусорную корзину. Также это изменило восприятие перестрелок и головоломок. Из ящиков и бочек можно было соорудить лестницу и пройти секцию игры без встречи с врагами или же, наоборот, во время перестрелки что-то уронить на противника, чтобы не тратить лишние патроны.
А затем в индустрию с двух ног ворвалась NVIDIA со своей (почти) технологией — PhysX.
В качестве примера вспомним Mafia II (2010). Если у вас была видеокарта от «зелёных», игра преображалась. Разработчики использовали PhysX, чтобы показать более детальное разрушение окружения, эффекты и симуляцию тканей.
Плащ Вито больше не был «приклеен» к поясу, а развевался на ветру. Бетонные колонны при стрельбе не просто «портили» текстуры, а крошились на тысячи мелких частиц, которые честно валялись на полу. Дым реагировал на проходящего сквозь него персонажа или автомобиль. Для 2010 года это выглядело впечатляюще.
Все эти дорогостоящие вложения в игровые движки постепенно стали доступны обычным пользователям. ААА-студии вложились в разработку и обкатку этих технологий. Havok и PhysX в один момент стали индустриальными стандартами для крупных проектов, но реализация отличалась от проекта к проекту.
Со временем все эти сложные движки для симуляции становились доступны как базовый функционал в игровых движках.
Unreal Engine разработали собственную систему физики «Chaos», которая выступала бесплатной альтернативой Havok.
NVIDIA PhysX с 2015 года разрешили использовать всем желающим, а Unity интегрировал его напрямую в сборку игрового движка.
Сегодня даже в простеньком симуляторе ходьбы или кооперативной инди-игре, вроде Lethal Company, физика объектов работает корректно после небольшой настройки. Разработчикам-одиночкам не нужно писать код для имитации законов Ньютона с нуля — они берут готовые инструменты, создание которых в своё время оплатили Valve, Crytek, Nvidia и Epic Games.
Ragdoll или как мы стали тряпичной куклой
Говоря о физике, нельзя не вспомнить момент, когда NPC перестали быть картонными декорациями после смерти.
Помните шутеры конца 90-х? GoldenEye 007 или ранние части Medal of Honor. Вы стреляете во врага, и он исполняет одну из заскриптованных анимаций смерти: размахивает руками, хватается за грудь, делает пируэт и падает. Убивая сотню врагов, игроки всегда наблюдали одни и те же анимации перед глазами. Но в то время один проект всё же смог отличиться от остальных.
Jurassic Park: Trespasser 1998 года выпуска оказалась ужасной игрой, однако в ней был передовой, для своего времени, движок с поддержкой ragdoll-физики.
Это была первая игра, где применялась технология «тряпичной куклы» для моделей NPC динозавров.
Из-за больших технических и художественных проблем, игра не снискала популярности, но стала своего рода пионером проработанной физики в будущих играх.
Более значимым проектом для популяризации «регдолла» стал Hitman: Codename 47.
IO Interactive внедрили честную Ragdoll-физику в свой первый проект.
Тела врагов больше не проигрывали заготовленную анимацию — они просто «обмякали» и подчинялись гравитации и инерции. Если вы стреляли в бегущего охранника, он по инерции летел кубарем вперёд. Если тащили тело, оно вело себя как «мешок с костями», а конечности реалистично (и иногда смешно) гнулись.
Но настоящий «отвал башки» для геймеров случился с выходом Max Payne 2, где физический движок Havok показал, как красиво враги могут отлетать от взрывов или падать с лестниц. Каждая перестрелка становилась уникальной просто потому, что тела падали по-разному.
Апогеем этой технологии стала Grand Theft Auto IV и движок Euphoria.
Rockstar, как и всегда, не искали лёгких путей. Персонажи в GTA 4 не просто превращались в тряпичных кукол, когда это требовалось. Они пытались симулировать реальное поведение человека. Если толкнуть прохожего, то он будет стараться удержать равновесие. Если угонять машину, то её владелец может зацепиться за дверную ручку и всеми силами будет стараться удержаться. Ну а если же вы на высокой скорости влетите в столб или стену, то игрока выкинет через лобовое стекло или руль.
Это был невероятно дорогой и сложный в реализации процедурный движок.
Кроме Rockstar Games, «эйфорию» использовали и другие студии, но последним вышедшим проектом с данным процедурным движком является Red Dead Redemption 2.
Что мы имеем сегодня?
Благодаря тем вложениям в Havok и Euphoria, «тряпичная кукла» стала своего рода стандартом для индустрии.
Сегодня «регдолл» встроен в Unity и Unreal Engine. Даже инди-разработчики, делающие свои первые проекты, получают эту технологию бесплатно.
Конечно, мы ещё и любим Ragdoll-физику за баги. Чего только не происходило с персонажами после смерти в TES: Skyrim, Cyberpunk 2077 или той же Red Dead Redemption.
Но именно ААА-индустрия превратила смерть в играх из повторяющегося скрипта в уникальную физическую симуляцию.
Искусственный интеллект: как враги перестали быть «болванчиками»
Когда речь заходит про продвинутый искусственный интеллект в играх, нередко игроки вспоминают F.E.A.R., которая ещё в 2005 году показала, как правильно должны вести себя противники в шутерах.
Monolith Productions создали ИИ, который до сих пор многие считают эталонным. Противники не просто бежали штурмовать игрока, а динамически строили цепочки действий для достижения цели в зависимости от ситуации. Всё благодаря системе GOAP — Goal-Oriented Action Planning (рус. Целенаправленное планирование действий).
Это работает по принципу «GPS-навигатора», только не для перемещения по карте, а для принятия решений у NPC находящихся на уровне с игроком. Вместо жёстких скриптов вроде: «Игрок в поле зрения — стреляй», у ботов есть конечная цель, то есть «Уничтожить угрозу». Для достижения цели используется набор возможных действий. ИИ оценивает обстановку и в реальном времени прокладывает «маршрут» к цели. Цепочка действий выглядит примерно так:
«Нужно проверить соседнюю комнату → Дверь в комнату закрыта → Использовать другой вход → Проверить комнату».
Если же игрок встаёт на пути, то план тут же перестраивается, например:
«Нужно проверить соседнюю комнату → Дверь в комнату закрыта → Игрок встречается на пути → Новая цель «Уничтожить игрока» → Встать за колонну для укрытия → Открыть огонь по противнику»
Для более подробного разбора GOAP рекомендую ознакомиться со статьёй Владимира Семыкина или видео Семёна Окорокова на YT:
Кроме F.E.A.R., систему GOAP и её модификации использовали в Just Cause 2, Middle-Earth: Shadow of Mordor и Shadow of War, а также Deus Ex: Human Revolution.
Постепенно на замену GOAP приходит HTN — Hierarchical Task Network (рус. Иерархическая Сеть Задач). HTN используется в таких проектах как Max Payne 3 и Horizon Zero Dawn.
Конечно же, развитие ИИ в играх не обошло стороной инди и АА-сегмент.
RimWorld — один из самых известных проектов с применением GOAP. Каждый персонаж в «римке» имеет набор потребностей (голод, сон, комфорт) и целей. ИИ постоянно оценивает мир и строит план:
«Я голоден → В холодильнике есть еда → Идти к холодильнику → Взять еду → Найти стол → Сесть за стол → поесть».
Или, например, Gloomwood. Разработчик игры — Диллон Роджерс активно изучает старые технологии ИИ. Враги здесь имеют различные состояния (подозрение, поиск, бой) и могут взаимодействовать с окружением. Если враг слышит шум, он не просто идет в точку шума. Он строит маршрут, открывает двери, заглядывает за углы. Это классический подход Immersive Sim, который часто полагается на вариации GOAP или продвинутые деревья поведения для создания иллюзии разума, как это было в F.E.A.R.
Кроме GOAP и HTN есть ещё одна система, которая успешно перекочевала с большого проекта в малые — система «Режиссёр» из Left 4 Dead.
Да, да, со слов бывшего сотрудника Valve Чета Фалисека в игре нет никакой адаптивной системы «Режиссёр», а есть лишь скрипты и генераторы чисел. Но в то же время есть выступление Майка Бутча на GDC 2009, где он более подробно рассказал про то, как работает их «Режиссёр».
ИИ «Режиссёр» анализировал состояние игроков: сколько у них здоровья, патронов, как сильно они напряжены. На основе этого игра генерировала (или не генерировала) толпу зомби, количество аптечек, патронов и прочее. Это создавало уникальную драматургию каждого матча.
Эти наработки успешно реализованы во многих современных кооперативных шутерах, таких как Deep Rock Galactic или Warhammer: Vermintide.
Благодаря Valve, кооперативные шутеры получили глоток свежего воздуха и жанр до сих пор откликается у геймеров.
Актёрская игра и лицевая анимация
В 1999 году вышел Omikron: The Nomad Soul, первый проект от Quantic Dream и первая видеоигра, использовавшая технологию Motion Capture для части анимации.
На момент выхода рецензенты отмечали, что благодаря технологии захвата движений, 3D-модели персонажей получились реалистичными, насколько это было возможно в то время. При ближайшем рассмотрении можно заметить, как персонажи моргают, а мышцы на лице двигаются в зависимости от эмоций.
Вторым проектом Quantic Dream стала Fahrenheit, вышедший в 2005 году.
В Fahrenheit команда Quantic Dream значительно прокачала навыки в использовании Motion Capture, а глава студии Дэвид Кейдж был актёром для захвата движения главного героя.
Ко всему прочему, игра стала прародителем жанра «интерактивного кино», который начнёт набирать популярность благодаря другим игровым студиям, таким как Supermassive Games и Telltale Games.
Что же до лицевой анимации — нельзя обойти вниманием один нуарный проект.
Помните, как Team Bondi удивила всех лицевой анимацией в L.A. Noire?Сейчас принято кринжевать со слишком ярко выраженных гримас NPC и главного героя, но на тот момент это был большой прорыв в лицевой анимации в видеоиграх.
Разработчики L.A. Noire использовали технологию MotionScan, которая захватывала лицо актёра при помощи 32 камер в HD-разрешении, чтобы оцифровать каждую мимическую морщинку Аарона Стейтона.
Такой подход к деталям дал игрокам возможность считывать эмоциональные реакции персонажей на допросе. Выбор между «Ложью», «Истиной» и «Сомнением» оставался за игроком.
Затем Naughty Dog с серией Uncharted и The Last of Us подняли планку работы с актёрами на высочайший уровень. С тех пор персонажи в ААА-играх — полноценные цифровые актёры.
ААА-индустрия создала спрос на Motion Capture и лицевую анимацию. Благодаря этому технологии захвата движений стали дешевле и доступнее. Сейчас существуют костюмы для мокапа по относительно невысоким ценам, а базовую лицевую анимацию можно записать даже с помощью iPhone.
Инди-студии могут прямо сейчас позволить себе живые эмоции персонажей, но актёрская игра, как правило, им не по карману. Но есть Metahuman от Epic Games, которая может заменить актёров для создания лицевой анимации в бюджетных проектах.
Доступность движков и технологический скачок
- Быть гением-программистом (как Джон Кармак) и написать свой движок с нуля, потратив на это несколько лет жизни. Но этот вариант подходит только для технарей высшего уровня.
- Купить лицензию у крупных компаний. Стоило это удовольствие не пару сотен баксов, а сотни тысяч, а иногда и миллионы долларов. Лицензия на Unreal Engine 3 к концу нулевых могла стоить как хорошая квартира в центре мегаполиса, плюс 5-6% роялти с продаж игры.
Инди-разработчики того времени довольствовались простенькими конструкторами или 2D-инструментами. О продвинутых функциях никто и не мечтал.
Всё изменилось в 2009 году, когда Unity выпустила Indie-версию движка, а Epic Games — Unreal Development Kit (UDK). Это позволило ознакомиться с инструментарием перед покупкой. А полная революция случилась в 2014–2015 годах, когда движки стали условно-бесплатными: платить нужно только тогда, когда ваш проект начинает приносить реальную прибыль.
На сегодняшний день Unity имеет статус народного движка для инди любого жанра и мобилок, а Unreal Engine воспринимается как движок для графонистых, но кривых игр. Доля правды в этом есть, но это не вина движков, а скорее неопытных или ленивых разработчиков.
Помимо уже упомянутых физики и звука, отдельное «спасибо» стоит сказать за систему визуального программирования Blueprints в Unreal Engine. Для Unity тоже существует такой инструмент, но уже в качестве отдельного плагина.
Изначально Blueprints делали для того, чтобы художники и геймдизайнеры в крупных студиях могли настраивать скрипты без помощи программистов, чьё время стоит дорого. В итоге этот инструмент стал общедоступным и позволил тысячам энтузиастов создавать сложные механики, вообще не зная языков C++ или C#.
Конечно, Blueprints проигрывает чистому коду в производительности, но если нужна скорость и удобства, то выбор очевиден. Даже опытные разработчики, вроде Ironwood Studios, использовали «блюпринты» в разработке Pacific Drive, о чём рассказывали в интервью.
PBR и Ray Tracing: Приближая игры к реализму
Говоря про технические нововведения, нельзя забывать про технологии, которые приблизили игры к фотореализму: PBR-текстурирование и Ray Tracing.
PBR (Physically Based Rendering) — это физически корректный рендеринг. Изначально подобные технологии использовала студия Pixar в своей анимации, но со временем они перекочевали и в видеоигры.
Суть технологии в том, что материалы объектов в играх начали честно взаимодействовать со светом. Металл, дерево, ткань или бетон — у каждого материала появились параметры базового цвета, шероховатости (Roughness) и «металличности» (Metallic).
Как ни странно, но в момент появления PBR, нередко можно было встретить жалобы на использование этой технологии в играх. В основном PBR-текстурирование ругали за эффект «мира после дождя».
Вспомните игры начала эпохи PS4/Xbox One. Проекты тех лет выглядели впечатляюще, но персонажи и окружение было словно облиты маслом и покрыты лаком. Художники, получив доступ к новой игрушке, выкручивали ползунки отражений «на максимум». Кожа персонажей блестела как пластик, а сухой асфальт сиял, как зеркало.
Со временем индустрия «оседлала» инструмент. Художники научились работать с микродетализацией, вроде царапин и коцков на моделях, а также стал проявляться эффект шероховатости на текстурах.
Главный плюс данной технологии — универсальность. Моделька условного стула с PBR-текстурами будет выглядеть одинаково правильно и в тёмном подвале, и на солнечном дворе. Разработчикам не нужно перерисовывать текстуры под каждое освещение — физика света сделает всё сама.
Сегодня PBR — это стандарт «из коробки» в Unity, Unreal и Godot. Инди-разработчику не нужно быть экспертом по материалам, чтобы стены и мебель выглядели реалистично — инструментарий движков и 3D-софта помогает сделать это без особых проблем.
Вторая важная технология — Ray Tracing (RT), или трассировка лучей.
Трассировка очень прожорливая и многих игроков заставила обновлять железо, но именно RT становится неотъемлемой частью будущих проектов. Всё потому, что художникам теперь не придётся вручную воссоздавать имитацию естественного освещения, думать о реализации динамического отражения, мягких тенях, глобальном затенении и преломлении света — всё это рассчитывается в реальном времени.
Хотя за последний год количество проектов с поддержкой RT становится меньше, но не стоит забыть про Unreal Engine и их аналог в лице Lumen.
Lumen — это, по сути, программная трассировка лучей «для народа». Эпик совершили маленькую революцию: они дали разработчикам динамическое глобальное освещение, которое работает даже на консолях и ПК без топовых RTX-карт с приемлемым FPS.
Для инди-разработчиков Lumen стал спасением от злого процесса под названием «запекание света». Раньше, если подвинул лампочку на уровне, то нужно было ждать 2 часа, пока компьютер пересчитает (запечёт) все тени. С использованием Lumen этот процесс происходит почти мгновенно. Это экономит сотни часов разработки, позволяя маленьким командам делать фотореалистичное освещение на уровне.
Как бы геймеры ни ругали RT за снижение FPS, за ним будущее. Уже сейчас есть игры вроде Indiana Jones and the Great Circle и Doom: The Dark Ages, которые строятся вокруг этой технологии.
И самое крутое — «лучи» доступны и в инди-сегменте. Яркий пример — платформер Pumpkin Jack от студии Evil Raptor, который выглядит потрясающе благодаря грамотному использованию возможностей Unreal Engine.
Весь этот технологический буст заставил железо эволюционировать. И привели к появлению технологии апскейлинга — DLSS, FSR, XeSS.
Их принято ругать за «мыло», «ненастоящее разрешение» и «несуществующие кадры», но в то же время эти самые апскейлеры стали заменять традиционные способы сглаживания картинки, чтобы у игроков не было той самой «лесенки». Ну а судя по недавним «слепым» тестам, некоторые игроки и вовсе видят в DLSS лучшую картинку в сравнении с нативным разрешением с TAA.
Вывод
Так стоит ли ругать ААА-индустрию? Безусловно.
За микротранзакции, за выпуск сырых продуктов, за творческую стагнацию и страх рисковать. Критика — это двигатель прогресса.
Но давайте будем честны: без этих «корпоративных монстров» игровая индустрия могла бы «свернуть не туда».
ААА-студии выступают в роли новаторов и первопроходцев. Они тратят сотни миллионов долларов, чтобы обойти технические ограничения и привнести что-то новое в разработку. Они совершают ошибки, разрабатывают сложнейшие физические движки, инструменты работы с графикой и системы ИИ.
А затем, спустя несколько лет, эти технологии упрощаются, становятся доступны для простых энтузиастов и превращаются в фундамент для смелых, душевных и авторских проектов, которые мы так любим.
А какая технология в своё время взорвала вам мозг? Может это была разрушаемость в Red Faction: Guerrilla, водичка в Halo 3, или, может, кинематографичность Alan Wake 2 ?