Войти
30.11.2021
14
911

Да кто такие эти ваши движки?!

Раньше, начитавшись «Страны игр», я любил хвастать перед друзьями своими техническими «познаниями». Наизусть цитируя пассажи о том, что в Legacy of Kain: Defiance ужасный движок, я даже примерно не понимал, о чём речь (сначала вообще думал, что это как-то связано с управлением). Со временем пробел в знаниях немного заполнился, теперь мой глаз даже Decima от остальных мгновенно отличает. Как именно работает технология, и что же она такое «двигает», сегодня и попытаемся понять без погружения в дебри программирования.

Guerilla Games предоставила свои наработки Kojima Productions без каких-либо контрактных обязательств. Респект!

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

Если выражаться совсем базовыми терминами, движок — это программа для создания видеоигр. Да, всё настолько просто. В Microsoft Word мы пишем курсовые и отчёты, в Paint рисуем картинки, а в Unity на выходе получаем, например, инди-хоррор. В стратегиях часто встречаются редакторы карт — с ними у движков тоже много общего, только у «моторов»  круг возможностей значительно шире, чем посадка деревьев и строительство зданий.

Умный мотор

Перед тем, как потребитель получит готовую видеоигру, она должна пройти несколько этапов развития. К счастью для разработчиков, движок решает множество шаблонных задач. Он сам понимает, когда персонаж упирается в стену, в какой момент спавнить противников и куда должна падать тень. Работа девелопера — построить саму комнату, задизайнить врагов и расположить солнце в нужном месте. Движку «сообщают» урон от револьвера, хрупкость предмета и так далее — и он сам прописывает все нужные команды.

Качественные, гибкие программы дают огромный простор для творчества. Jedi Academy родилась из тех же ресурсов, что и Quake III, благодаря творческому подходу Raven Software. id Tech 3, один из самых мощных движков того времени, мог быстро и эффективно рендерить игровой мир и его обитателей. Художники поменяли модельки демонов на имперских штурмовиков, звукорежиссёры вставили новые звуки стрельбы, аниматоры отрисовали взмахи световыми мечами — и вуаля, от «Кваки» не осталось и следа! Всё как с фильтрами и ползунками в том же «Фотошопе», но в несколько раз сложнее.

Проходили на информатике макросы в «Ворде»? Здесь то же самое. Простейшее указание на комбинацию клавиш — и вот падаван совершает кувырок на Ctrl+W. Совместными усилиями физической, логической и анимационной составляющих движок сам «понимает», как должно выглядеть данное движение в пространстве, и претворяет его в жизнь. При желании умения Силы можно было бы воссоздать и в American McGee’s Alice, и в Soldier of Fortune II с помощью модов.

Разумеется, паре энтузиастов не под силу изменить проект до неузнаваемости. Для этого нужны команды высококвалифицированных специалистов, а главное — бюджет. Сравните, как Super Mario 64 «превратилась» в Ocarina of Time…

…а Bioshock — в Splinter Cell.

Мастера своего дела легко смогут опознать схожесть, но мне пришлось как следует покопаться в первоисточниках.

Делиться это выгодно

С ходом технического прогресса движки становились всё умнее и учились учитывать всё больше данных. Настоящую революцию произвёл Source — фирменный «скелет» таких игр, как Half-Life 2, Dark Messiah of Might and Magic и Apex Legends. Его главной фишкой стала беспрецедентно реалистичная обработка физики и разнообразных эффектов. Простота и элегантность головоломок игры 2004 года до сих пор поражают воображение. Другой показательный пример — CryEngine, особенно его вторая версия. Что Far Cry, что Crysis предлагали фантастические дальность прорисовки и интерактивность. Игрок мог вырубить целый лес на острове, населённом корейскими военными и инопланетянами! С другой стороны, для этого требовался суперкомпьютер, коего у большинства геймеров не было. Своё слово сказали и консоли: мультиплатформенность наложила серьёзные ограничения на безграничные, но прожорливые функции ПО. В материале про серию Far Cry мы подробно рассматривали этот вопрос и сравнивали физику старых и новых частей, поэтому сейчас взгляните на Crysis.

Сиквел Crysis планку качества удержал, но не во всём оказался лучше оригинала

Есть у разработчиков одна взаимовыгодная хитрость. Team Fortress 2, Left 4 Dead и Portal «заимствовали» друг у друга анимации, модели, звуки и алгоритмы. Это позволило программистам сэкономить уйму времени, ведь Source уже знал, как работать со всеми этими ассетами. Подобная практика нередка в геймдеве, а в сделках по купле-продаже соответствующей интеллектуальной собственности иногда присутствует солидное количество нулей.

Проведём ещё одну параллель. Представьте, что вы решили записывать подкасты и выбираете между Vegas и Audition. Да, в видеоредакторе можно кое-как поковыряться со звуковыми дорожками, но лучше это будет делать в программе, специально под это заточенной. Так же и с играми — в зависимости от жанра (и иногда предпочтений издателя) выбор разработчиков падает на конкретный движок. Mass Effect Andromeda, созданная на Frostbite, разительно отличается от основной трилогии в плане геймплея. Для RPG подойдут программные средства с мощными вычислительными возможностями, для стратегий — способные единовременно просчитывать взаимодействие кучи юнитов. Соответственно, проблемы возникают, когда авторы не могут реализовать свои идеи теми ресурсами, которыми располагают, или если им навязывают конкретные решения.

Как там с треугольниками?

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

Ori and the Blind Forest — одна из самых душевных игр современности

Frostbite, которым EA чуть ли насильно заставляет пользоваться внутренние студии, за считанные секунды обрабатывает гигантские открытые пространства. Однако именно «благодаря» усилиям Electronic Arts на движке выходят ну совсем не подходящие для него игры. Бывший продюсер Bioware Кэмерон Ли рассказывал, что его коллегам по Dragon Age: Inquisition пришлось приложить титанические усилия, чтобы «научить» программу работать с анимациями животных, активной паузой и даже сохранениями! Также на первых порах движок заметно глючил в шутерах от первого лица. Иронично, правда?

Зато в «Инквизиции» можно прыгать

Создать собственный движок с нуля сложно, но можно. Так поступили, в частности, Blizzard. Warcraft III, Overwatch и Diablo III целиком и полностью выкованы вручную. Это позволяет сделать игровой процесс именно таким, каким его видят разработчики, и сэкономить на лицензиях. Исключение составляет Hearthstone — базовые карточные механики отлично чувствуют себя и на Unity. Вдобавок это облегчило порт на мобильные устройства.

Unreal Engine всегда славился скоростью рендеринга, оптимизацией и многофункциональностью. Идеальный выбор для экшенов! Обилие дополнительных функций и простота их использования делают поддержку выпущенных игр максимально быстрым и удобным процессом. Его главный минус — необходимость постоянно координировать работу различных отделов. Нельзя просто взять и переключиться на новый проект без очередной командной встречи, разбора полётов и согласования миллиона деталей. Каждый работник студии должен выкладываться по полной, так что мелким компаниям продукт Epic не подойдёт.

Вряд ли Gears 5 можно было бы сделать за пару лет на чердаке

Недавно был представлен вестник настоящего некстгена — Unreal Engine 5. Он доводит понятие оптимизации почти до абсурда. Игроделам больше не надо париться с мелкими деталями визуальных эффектов, LOD’ом и освещением. Всё это отдано на откуп технологиям Nanite и Lumen. Они самостоятельно просчитывают геометрию и физику в зависимости от погоды и иных факторов. В технической демке нам показали комнату, полную статуй бешеного уровня детализации — целых 16 миллиардов треугольников! Особые «нанитовские» ячейки рендерятся в разы шустрее, чем у конкурентов, при этом не требуя от вашего железа ничего сверхъестественного. Сам ролик мы анализировали в статье про графику будущего, а как это будет смотреться и играться в реальной жизни — узнаем очень скоро на примере сиквелов S.T.A.L.K.E.R. и Hellblade.

В заключение повторюсь: движок — лишь вершина огромного айсберга разработки. Копнув чуть глубже, вы обнаружите десятки тысяч строк малопонятного кода, который упорядочивают самыми разными способами. Всё вместе зовётся интегрированной средой разработки и тянет не то что на статью — на целый учебный курс! Надеюсь, сегодняшний небольшой ликбез сделал вас чуть просвящённее и помог прокачать интеллект. В качестве домашнего задания можете попробовать поискать параллели в любимых играх, а затем проверить — не позаимствовали ли тут что-то, что вы уже где-то видели?

комментарии 14
13.Jan.2022 в 23:41
1
0

Класная статья

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Роман как всегда хорош :)

До 1000 символов
Комментарий удален.
До 1000 символов
08.Jan.2022 в 19:21
1
0

Спасобо за пост. Было очень интересно почитать про различные движки, правда. Мой любимый движок Source.

Свернуть  3
До 1000 символов
Комментарий удален.
До 1000 символов
08.Jan.2022 в 20:38
Rasmus
1
0

Сурс это легенда :)

До 1000 символов
Комментарий удален.
До 1000 символов
1
0

Помойму анрил самый топовый (ну сурс тоже класный)

До 1000 символов
Комментарий удален.
До 1000 символов
0
0

Точно, я забыл про анрил.

До 1000 символов
Комментарий удален.
До 1000 символов
07.Dec.2021 в 13:53
2
0

Интересно и познавательно.

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
2
0

Приятно слышать :)

До 1000 символов
Комментарий удален.
До 1000 символов
30.Nov.2021 в 17:35
3
0

Ох, вот это статья, однозначно класс

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
30.Nov.2021 в 17:40
Spldart
3
0

Уверен, Роману будет приятно прочитать ваш комментарий :)

До 1000 символов
Комментарий удален.
До 1000 символов
30.Nov.2021 в 17:11
3
0

А еще я получил достижение МНОГОБУКАФ за 15 прочитанных статей

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Поздравляю, классное достижение!

До 1000 символов
Комментарий удален.
До 1000 символов