Когда-то для каждой игры делали собственный движок, но в наше время большинство пользуется универсальными решениями, которые доступны кому угодно. Но что вообще такое игровой движок, что он делает и какими они бывают? Рассказываем об этом понятным языком в нашем материале.
Что такое игровой движок?
Игровой движок простыми словами — это набор программного обеспечения, необходимый для работы компьютерных игр и не привязанный жестко к какой-либо из них. То есть от самой игры ее движок отличается тем, что на его основе можно сделать какую-нибудь другую игру.
Впрочем, это не всегда так, и в некоторых случаях созданный для игры движок был от нее практически неотделим. Это часто происходило в ранние годы развития игровой индустрии, когда для каждой из игровых консолей выпускалась отдельная версия, которая могла разительно отличаться от оригинала. Например, так произошло с популярной в России и ближнем зарубежье игре про Аладдина, версии которой для Super Nintendo и SEGA Mega Drive были не особо похожи друг на друга.
Источник: ibuzz
При этом часто бывает, что то, из чего состоит игровой движок, и есть набор меньших игровых движков, отвечающих за более конкретные функции.
Виды игровых движков
Игровые движки между собой во многом схожи, хотя их все равно можно попытаться классифицировать между собой.
Во-первых, существует два подхода, определяющих, как разработчики в принципе работают над игрой:
- С отдельным редактором. Многие игровые движки предлагают пользователю создавать что-то не с помощью навыков программирования, а через удобный редактор, который отдаленно напоминает Photoshop или программы для видеомонтажа. Обычно такие движки максимально самодостаточные и не требуют подключения дополнительных модулей, однако из-за этого могут быть ограничены в своем функционале. Но в наше время даже самые продвинутые игровые движки могут позволять работать через редактор.
- Во втором случае движок подразумевает, что разработчики игр пишут непосредственно программный код. Такие решения запускаются уже через обычную для программистов среду разработки и представляют собой не столько законченный продукт для создания игр, а набор ранее написанных программ, которые можно адаптировать под что-то новое.
Также движки могут отличаться друг от друга способом распространения, ведь, как и с любым другим программным обеспечением, разработчики этого софта чаще всего хотят получить вознаграждение. Впрочем, так бывает не всегда:
- Движки с открытым исходным кодом представляют собой не бесплатные версии каких-то технологий, а полноценные инструменты разработки, созданные энтузиастами. Такие решения можно использовать в неограниченном количестве, создавать на них коммерческие проекты и не платить за это создателю движка. Пример такого движка — Godot.
- Бесплатные движки могут не предоставлять конечному пользователю весь исходный код, однако для использования они бесплатные. Чаще всего подразумевается, что разработчикам придется платить какую-то часть прибыли с продаж игры, при условии, что эта прибыль вообще будет. По такой схеме сейчас распространяется большинство популярных сторонних игровых движков — например, Unreal Engine, Unity, CryEngine и так далее.
- Полностью платные движки уже остались в прошлом, и сейчас в этой категории скорее упоминаются программные платформы, которые большие команды разработки делали конкретно под свои игры. Из-за высокой трудоемкости и дорогостоимости этого процесса позволить себе такое могут лишь самые успешные команды — например, движок Frostbite для серии Battlefield и RAGE для GTA и RDR.
Впрочем, не всегда можно говорить об игровой платформе как об универсальных движках: часто бывает так, что технологическая начинка игры складывается из множества технологий, каждая из которых не является полноценным движком, но выполняет важную функцию.
Для создания качественного изображения из компьютерной графики необходимо, чтобы все элементы на экране выглядели впечатляюще. Последние версии движков уже предлагают целые магазины с заранее созданными объектами, которые можно использовать с собственными объектами. Но есть такие объекты, которые должны быть уникальны по собственной природе. Например, камни, деревья и другая растительность с природным ландшафтом. Для таких работ используются отдельные движки, которые интегрируются с основным.
Один из популярных примеров — технология SpeedTree. Этот движок изначально разрабатывался для работы с деревьями и растительностью и с середины двухтысячных помогает разработчикам игр в самых разных жанрах создавать уникальные леса и заполнять пустые пространства флорой. Современная версия движка стала создавать настолько фотореалистичное изображение, что теперь используется не только для разработки игр, но и применяется для создания кино.
Источник: speedtree
Другой известный пример — движок Euphoria. Это был физический движок, который обсчитывал поведение объектов в играх, где пользователь мог каким-то нетривиальным способом взаимодействовать с окружением. Одной из таких игр была GTA 4 — многие до сих пор вспоминают, что нетрезвый главный герой падал там максимально реалистично, как и пешеходы, пострадавшие в ДТП.
Источник: gta5-mods
За что отвечает движок в играх?
Если коротко, то проще всего сказать «за все». Движок обсчитывает не только визуальный компонент происходящего на экране, но и множество процессов, происходящих «под капотом».
Благодаря работе игрового движка на экране не только двигаются объекты, но и происходит расчет освещения, влияние действий на игровой мир, обработка команд, поступающих с контроллера игрока, переключение музыки и множество других действий.
Движок игры работает на настолько глубоком уровне, что именно он обеспечивает появление на экране необходимых моделей персонажей, задает им анимации и поведение, а также включает озвучку, музыку и звуковые эффекты, соответствующие происходящим событиям.
Источник: cubiq
Также не стоит забывать, что движок отвечает за так называемую внутриигровую логику. То есть, например, система торговли, когда игрок может покупать и продавать товары у игровых персонажей, также реализуется на движке и работает на его основе, как и возможность использовать ранее приобретенные вещи. Разные эффекты от этих предметов и их применения также лежат на совести движка, и качество их работы тоже обеспечивается программным решением.
Особняком стоят технологии для сетевой игры: помимо множества средств для обеспечения информационной безопасности, с рабочей точки зрения играм нужно множество функций по работе с сетью и правильному отображению действий других игроков. Часто для этого используются дополнительные маленькие движки или другие программные решения наподобие тех, о которых мы рассказывали в предыдущем пункте.
Ранее мы рассказывали:
Что такое файтинги и почему стоит попробовать в них поиграть
Как создать игру с помощью игрового движка?
Так как же в итоге с помощью всех этих мощных движков создать собственную игру? Ответ что для обычного человека, что для профессионального разработчика прозвучит примерно одинаково: необходимо запустить программную среду в том или ином виде и что-то там делать.
Как уже было упомянуто, разные движки предоставляют разработчику разные подходы к созданию игр. В некоторых случаях получится ограничиться лишь управлением процессом в окошках редактора, перетаскивая логические блоки, — например, так построена система Blueprints в Unreal Engine 4. Пользователю достаточно лишь научиться правильно работать с интерфейсом редактора движка и строить там правильные цепочки, а код будет автоматически сгенерирован.
Источник: i.redd
В то же время этот же Unreal Engine 4 подразумевает базовое знание пользователем языков C++ или C#, на которых можно программировать более сложные схемы. На самом деле, большинство современных игровых движков все-таки требуют навыка программирования: даже если большинство вещей можно создать с помощью интерфейса и «перетаскивания квадратиков», то сложный функционал придется добавлять своими силами.
Также для создания игры понадобятся непосредственно ассеты — ресурсы, используемые логикой игры. Речь идет о, например, трехмерных моделях персонажей и окружения, текстурах, звуковых файлах и прочем. При создании крупных игр эти ресурсы создаются командой разработчиков — что-то рисуется самостоятельно, что-то генерируется с помощью других движков, о которых мы рассказывали выше, а некоторые вещи отдают на аутсорс, то есть сторонним студиям. Однако начинающему разработчику большинство этих способов недоступно.
Тут на помощь приходят магазины с контентом — у всех популярных платформ сейчас такие есть. Там за большую или небольшую плату, а часто и вовсе бесплатно, можно получить те самые трехмерные модели и объекты окружения. Умение пользоваться такими площадками и находить там нужные ресурсы тоже является важной частью профессии современных разработчиков игр.
Обзор самых популярных движков для игр
Unreal Engine
Unreal Engine — не просто линейка знаменитых игровых движков, а практически лидер направления в создании крупнобюджетных приключенческих игр. Услугами компании Epic пользовались создатели The Callisto Protocol, Final Fantasy, Tekken, Gears of War, Mortal Kombat, Batman: Arkham и многих других. А с недавних пор все больше студий переходит на использование Unreal Engine вместо движков собственной разработки: на пятой версии прямо сейчас разрабатывают новые части «Ведьмака», Mass Effect, S.T.A.L.K.E.R. и других хитов.
Источник: unreal engine
Прямо сейчас актуальными можно назвать две версии: Unreal Engine 4 и 5. Для четвертой версии выпущено гораздо больше обучающих материалов и внутриигровых ассетов, поскольку он находится на рынке уже почти десять лет и за это время на нем были выпущены сотни игр. В то же время Unreal Engine 5 станет стандартом будущего, поскольку в нем используются самые передовые технологии, упрощающие создание реалистично выглядящих игр.
В Unreal Engine 5 появится сразу пачка программных компонентов, которые значительно упростят разработку игр на нем и позволят без огромных бюджетов делать очень красивые игры. Например, технология Lumen реализует глобальное освещение (то есть свет будет идти от неба, а не как сейчас в большинстве игр — от маленьких искусственных объектов), Nanite изменяет программный рендеринг объектов, что сделает их более качественными и менее ресурсоемкими, а также MetaHuman — система, генерирующая реалистичные модели людей.
При этом создатели движка из компании Epic предоставляют достаточно гибкую ценовую политику: если разработанная игра приносит прибыль меньше чем 3 тысячи долларов в квартал, то использование любой версии Unreal Engine бесплатно. Если же проект приносит больше указанной суммы, то необходимо приобрести лицензию и начать выплачивать процент с этой прибыли.
Нет у движка и ограничений по платформам, на которых можно выпускать свои игры. Хоть обе версии Unreal Engine в первую очередь создавались для невероятно красивых игр для игровых приставок PlayStation и Xbox, а также мощных ПК, все равно на данных движках делали и мобильные игры для устройств на Android и iOS.
Unity
Еще один движок, который пользуется огромной популярностью. Он также не ставит пользователю ограничений по платформам и жанрам, но исторически сложилось так, что с помощью его функционала удобно делать игры на мобильных платформах и небольшие проекты для ПК и игровых приставок, тогда как для масштабных игр он подходит меньше.
Источник: unity
Система оплаты здесь еще проще и понятнее, чем у Unreal: для некоммерческих проектов движок полностью бесплатен, а с выручки коммерческих нужно выплачивать процент комиссии создателям Unity.
Ограничений по жанрам у этого движка нет — на нем сделан и известный мобильный шутер Dead Trigger, и не менее известная стратегия для ПК Endless Legend. При этом популярность движка обеспечивается простотой его освоения — хоть для создания игр и понадобится что-то программировать, а не только использовать встроенный редактор, в целом он гораздо проще, чем тот же Unreal и другие движки.
В то же время трехмерная графика в играх на Unity выглядит гораздо более скромно, чем игрокам хотелось бы от проектов для игровых приставок и компьютеров. По этой причине движок часто используют именно для мобильных игр, в то время как для разработки мощных игр выбирают другие решения.
Ранее мы рассказывали:
NVIDIA DLSS в играх: что такое технология DLSS
Любите делиться своим мнением о технике? Тогда напишите обзор товара в «Эльдоблоге» и получите до 1000 бонусов на новые покупки!