Как решить использовать тот или иной игровой движок в разработке игрового ПО, а если использовать, то какой? Мы предлагаем рассмотреть плюсы и минусы использования игровых движков в разработке игрового ПО и узнать все тонкости этого нелегкого дела.
Практически все игры разрабатываются с помощью игровых движков, сокращающих время и затрачиваемые на разработку ресурсы компании-разработчика.
ЧТО ВООБЩЕ ТАКОЕ ИГРОВОЙ ДВИЖОК И ЗАЧЕМ ОН НУЖЕН?
Игровой движок – это базовое программное обеспечение для любой компьютерной игры. Разделение игры и игрового движка очень часто расплывчато, и не всегда студии проводят чёткую границу между ними. Но, в общем, термин «игровой движок» применяется для программного обеспечения, которое пригодно для повторного использования. Даже уже из этого определения можно четко выделить первый и самый главное достоинство игрового движка – возможность неоднократно его использовать для множества игровых проектов.
ПЛЮС: МНОГОПЛАТФОРМЕННОСТЬ
Раньше от разработчиков требовалось делать по нескольку копий игр на каждую из платформ (Windows, Mac, PlayStation). Сейчас же, многие игровые движки предоставляют возможность использовать только одну копию на разных платформах, что очень экономит ресурсы и время разработки.
МИНУС: СПЕЦИАЛИЗИРОВАННОСТЬ
Недостатком многих игровых движков является то, что они очень часто специализированы в рамках жанра игры. Например, движок, спроектированный для простенькой 2D-игры, будет существенно отличаться от движка для стратегии в реальном времени. В каких-то жанрах компьютерных игр иногда требуется поддержка своих специфических функций, которые в других жанрах вовсе не применяются. Поэтому на рынке существует огромное количество разных движков для самых разных задач.
МНОГОФУНКЦИОНАЛЬНЫЕ ДВИЖКИ - Unity, UnrealEngine
В то же время существуют некоторые движки, которые позволяют разрабатывать игры практически всех жанров. Они состоят из огромного количества компонентов и решений, применимых к разным типам игр. Разработчики же, в свою очередь, выбирают компоненты и механики, которые планируют использовать в своей игре, соединяют их и получают готовый проект. Так, движок UnrealEngine несмотря на то, что был изначально задуман для игр жанра шутер от первого лица, успешно использовался для создания игр во множестве других жанров, таких как шутер от третьего лица GearsofWar, приключенческая ролевая игра Grimm или футуристическая гонка SpeedStar.
Однако решения, с использованием таких многофункциональных движков, зачастую менее оптимизированы, так как некоторые выбранные разработчиками компоненты в последствии могут конфликтовать. К примеру, иногда использованные в движке решения слишком обобщённые или слишком узконаправленные, а иногда там присутствует слишком много того, что впоследствии только создает излишнюю нагрузку на компьютер. Поэтому в некоторых случаях, намного целесообразнее будет либо разрабатывать игру с нуля, либо использовать специализированные движки, о которых мы поговорим дальше. Но все же в большинстве случаев проще исправить конфликт некоторых компонентов, чем прорабатывать все с нуля.
ОСНОВНЫЕ ЖАНРЫ ИГР И СПЕЦИАЛИЗИРОВАННЫЕ ДВИЖКИ
Теперь мы предлагаем немного детальнее рассмотреть основные жанры игр и специализированные игровые движки для каждого из них.
- ШУТЕРЫ
от первого лица относятся к играм, которые наиболее технологически сложны, так как им необходимо представлять игроку иллюзию трёхмерного мира и делать это в реальном времени. Движки для шутеров от первого лица должны очень хорошо оперировать такими технологиями, как эффективное отображение трёхмерных миров, удобная механика контроля персонажа и прицеливания, высокая детализация, точность анимации оружия и рук, а также множеством других. Среди всех движков здесь можно выделить UnrealEngine и 4A Engine.
- 2D-ПЛАТФОРМЕРЫ
Эти игры в основном распространены на мобильных устройствах, так как не требуют высококачественной графики и реалистичности. Движки для игр этого жанра обращают больше внимания на анимацию персонажа и динамику геймплея. Здесь применяются такие технологии, как элементы из головоломок, различные способы перемещения игровых объектов (движущиеся платформы, лестницы, верёвки), использование следящей за персонажем камеры, проработанная система столкновений и другие. В целом, для этого жанра игр существует огромное количество движков, наиболее известные из них – это Unity, Construct 2 и Corona. - ФАЙТИНГИ
ориентированы на богатую анимацию, точность ударов, возможность задания сложных комбинаций посредством кнопок или джойстика и тому подобное. Анимационные персонажи предъявляют требования движкам по высокой детализации. Дополнительно движки обеспечивают возможность изменения и добавления спецэффектов (шрамов после ударов, выступление пота и тому подобное), а также предоставляют возможности реалистичной симуляции причёски, одежды и других элементов. Наиболее популярный движок в этом жанре – Frostbite - СТРАТЕГИИ
У них нет высоких требований к графике, и поэтому движок ориентируется на то, чтобы отображать персонажей в низком разрешении, но при этом он должен уметь работать с их большим количеством одновременно. Также есть особенности в интерфейсе игрока - это элементы управления и инструменты работы с группами персонажей. Под этот жанр, в принципе, может подойти любой движок с поддержкой 3D-графики и высокоуровневой оптимизации. Чаще всего тут используются Unity, Wargus.
- МАССОВЫЕ МНОГОПОЛЬЗОВАТЕЛЬСКИЕ ИГРЫ
требуют наличия большого игрового мира и возможности одновременного присутствия и взаимодействия большого числа игроков. Локальные задачи, решаемые движком, похожи на те, что имеются в играх других жанров, но особенностью жанра является ориентация и проработка программного обеспечения серверов, которые должны сохранять состояние мира, управлять подключением и отключением игроков, предоставлять внутри игровые чаты, способы взаимодействия голосом и так далее. Для этого жанра тоже существует обилие различных движков (UnrealEngine, CryEngine, Unity, Rage и другие).
Итак, при таком разнообразии существующих на сегодняшний день движков иногда сложно решить - использовать движок в своем проекте или нет, а если использовать, то какой. Это, конечно, сугубо личный вопрос, который зависит от многих факторов. Но факт остается фактом: игровые движки очень облегчают жизнь разработчикам, с их помощью готовый продукт получается намного качественнее и менее затратным по времени.
Олег Топорков