На чем делаются современные игры: 3 самых популярных игровых движка

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com (подробнее »)
| Обзор | Компьютерные и мобильные игры

Игровой движок — это базовое ПО, на котором разрабатывается и действует игра, общее название для совокупности нескольких подсистем (звуковая, графическая, физическая и прочие). В современных игровых движках эти подсистемы — модульные, и качество проработки у них различается от движка к движку.

Разберем три самых популярных открытых игровых движка: Unreal Engine 4, Cryengine 5 и Unity и оценим их по следующим пунктам:

  • Доступность
  • Поддерживаемые платформы
  • Поддержка пользователя
  • Доступность игровых ассетов и инструкций
  • Личное мнение

Unreal Engine 4

Легенда в мире игровых движков: разработка движка ведётся аж с 1998 года и не спешит умирать. Победитель битвы «Графон VS Мыло» и вообще славный парень. Подходит для любых задач. Известен своей любовью к оранжевому фильтру и гипертрофированным мужикам (шутка).

Плюсы
  • Бесплатен для некоммерческого использования. Просит 5% отчислений при достижении вашей фирмой прибыли в 100 000$
  • Возможность работы на Windows и Linux-подобных системах
  • Одна из лучших служб поддержки пользователя на рынке и активное сообщество
  • Из-за массовости движка игровые ресурсы и библиотеки доступны в огромном количестве
  • Почти полное отсутствие багов
Минусы
  • Раздутый размер более чем в 20 гигабайт
  • Скачивание Windows-версии привязано к магазину
  • Большинство проектов отдают странным пластиком (субъективно)

Прекрасный игровой движок, что заслуживает внимания. Но это профессиональный инструмент, что работает с сотнями тысяч дополнений и расширений. Не стоит ждать, что уже завтра получится сделать игру мечты, но информации и библиотек по движку, наверное, больше всех остальных. Обязательный must have.

Cryengine 5

Самый красивый парень на районе, но очень требовательный. Позволяет вырисовывать нечто грандиозное, а не только реалистичных лягушек. Когда-то был главным конкурентом Unreal Engine, но сейчас находится не в лучшей форме, хоть и продолжает развитие.

 

Интерфейс скучен и невыразителен, что больше подходит закрытым движкам внутренних студий, а не массовому продукту. Но за скучным внешним видом скрывается вполне логичный продукт, что позволяет освоить движок за считанные месяцы. Несмотря на позиционирование движка как универсального, остаётся лучшим средством для создания шутеров, для иных целей пригоден мало. Знание языка программирования С++ необходимо. 

Плюсы
  • Бесплатен для некоммерческого использования, просит отчисление в 5% от прибыли более 5 000$
  • Лучшая графика на рынке
  • Малый размер
Минусы
  • Ужасная служба поддержки
  • Отсутствие нормальной документации
  • Нераспространённость игровых ассетов и полноценных гайдов от комьюнити
  • Малопригоден для чего-то, кроме шутеров
  • Полноценная неразбериха и в интерфейсе различных версий

Да, ужасный игровой движок, что должен был давно отправиться к Создателю, но почему-то ещё борется. Я помню еще  CryEngine 2 и CryEngine 3, которые должны были стать прорывом в игровой индустрии. Но разработчики сами и убили всё и вся, а теперь пытаются спешно догнать давно ушедший поезд. Использовать стоит только устаревшую вылизанную версию CryEngine 3: уроков для этой версии в Сети много. 

Unity

Самый молодой и горячий игровой движок. Получил широкую популярность благодаря своей простоте и многофункциональности.  

 

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

Плюсы
  • Бесплатен для некоммерческого использования
  • Простота и удобство
  • Много материалов и ассетов
  • Возможность работы на Windows и Linux-подобных системах
  • Отличная служба поддержки
Минусы
  • Плохая производительность готовых проектов
  • Низкий уровень графики по сравнению с конкурентами

Современный открытый игрострой представляет собой стул на 3 ножках — графики, простоты, удобства. Но игровой движок не сделает за вас игру, только вы сами способны реализовать свои идеи. Всё будет зависеть от вашего терпения, трудолюбия и напора.

Удача — это миф!

Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Сетевой Администратор и любитель эльфиек, а также человек, что устал от ньюфагов.

8 комментариев

Arguzd
Ещё стоит учитывать весьма весомый момент — Unity и CryEngine используют C# в скриптах, а UE4 С++. И если какие то обработчики физики/звука/света писать на плюсах ещё приятно, то писать скрипты для ботов или событий на карте на них это лютая боль. А Blueprint, хоть и безумно хорош и удобен, но в четвёртой версии всё же использует типовые блоки. И если в игре требуется прописать какую то нетривиальную логику поведения, её придётся писать на плюсах. Для всяких шутеров/гонок/платформеров это не критично, а вот стратегии делать лучше на Unity. С другой стороны, анонс UE5 меня порадовал. И если, кроме динамичного света, они добавят поддержку C# или Python в скриптах, это будет лучший движок поколения.
87638502@vkontakte
Плюс минус все так.
Последний раз редактировалось
v
Сейчас много хороших движков. Для начинающих разработчиков игр советую обратить внимание на Godot и Gdevelop. Godot очень хорош, мне понравился.
Последний раз редактировалось
k
Но на CryEngine вроде кучу корейских MMORPG выпустили? Намного больше, чем шутеров. А еще на нем сделали платформер Sonic Boom.
v
Да на нём что угодно можно сделать, только он сложный в освоении. Хотя сейчас Crytek стараются облегчить освоение их движка. Лаунчер не плохо переделали, теперь все дополнительные инструменты от сторонних разработчиков, можно скачать через лаунчер Cryengine.
87638502@vkontakte
Большинство из них построены на старых версиях движка, что были вылизаны. Да, возможно сделать все, но путем больших усилий.
Awasaky
Статья поверхностная.
https://www.reddit.com/r/gamedev/comments/8s20qp/i_researched_the_market_share_of_game_engines_on/
https://i.imgur.com/IT41arO.png
--------------
Причем там семейство Unreal движков, которое включает в себя аж 4 версии, еще и подверсии, без разделения по популярности. Аналогично и с Unity, доля игр на Unity 2018 (текущая Life Time Support версия) пока что мала. Tarkov например, осилил переход на Unity 2018 только ближе к середине 2019.
UE4 не обладает нисколько интуитивным интерфейсом, более того, там этих интерфейсов как грязи. Профессиональные разработчики-программисты активно используют связку Blueprints и С++. Я встречал только один проект, написанный на UE в одиночку и тот, делался быстро непосредственно сам геймплей, а вот интеграция осуществлялась с крайне большим трудом.
Unity — какие-то вменяемые уроки по 2018 версии появились только в 2019 году. Движок не бесплатный, а условно-бесплатный — скачать его бесплатно, запускать бесплатно, но встроенные в него инструменты требуют таких трудо-затрат, что проще купить какое-то стороннее решение в встроенном магазине расширений, поэтому и бесплатность условная. Интерфейс так же маловменяемый, без сайта learn.unity.com.
Не знаком с CryEngine — это по сути внутренний движок CryTek который другие используют крайне редко, по крайней мере сейчас, и только в ограниченных целях, например используют оттуда компоненты. Проблемы по крайней мере описаны правильно, еще он очень нестабилен, и надо быть разработчиком который его писал, чтобы понимать, что и зачем там написано.
Автор, где Sourсe, Godot, GameMaker, RenPy, RPGMaker? Часто разработчики используют связку «тонкий браузер + javascript», как заменитель Flash, есть движки которые используют Lua, в т.ч. Source.
--------------
Языки:
C++ — компилируемый язык, который считается условно высоко-уровневым, но позволяет прямое управление памятью и это несет все вытекающие отсюда проблемы, вроде засорения памяти и ручной очистки мусора.
С# — это компилируемый язык. То есть, чтобы создать кросс-платформу, надо скомпилировать проект отдельно под каждую платформу. Например в Unity поддержка пользовательских расширений может быть реализована или через включение стороннего модуля, исполняющего пользовательские скрипты на другом языке, или с помощью компилируемых dll (так сделана поддержка модов в Cities Skylines, например, и это очень не безопасный вариант). Каждая последующая версия Unity использует немного другую, но обычно не самую последнюю версию C#. Да и у платформ есть свои ограничения на использование языка.
Lua — быстрый интерпретируемый, возможность прекомпиляции. Чаще первое. Используется в Source, а также играх Blizzard. Часто используется как язык игровой логики, чтобы отделить последнюю от системных функций и дать таким образом возможность создавать пользовательские модификации без возможности исполнять сторонний вредоносный код. Из недостатков — динамическая типизация, которая приводит к сложностям на этапе отладки.
JavaScript — эта веб-страница его использует тоже. Чаще всего — интерпретируется. В отличие от большинства языков, нацелен на сохранение работоспособности даже в случае проблем с определением типа результата (тот же Луа или Питон например прекратят исполнение ошибочного скрипта), но это же его и недостаток — привет консоль, и маловразумительные из-за динамической типизации ошибки. Знайте — фронт-эндерам не зря столько платят.
Python — интерпретируемый, с возможностью компиляции, есть две основных версии. Прост в освоении и очень популярен. В играх задействован для диалогов и визуальных новелл, часто его используют на серверах, и вообще в качестве языка внутренней логики. Имеет огромную выразительность, благодаря чему можно в несколько строк уместить то, что в других языках займет страницу. Обратная проблема — эти несколько строк могут очень долго выполняться, во время чего интерпретатор может даже зависнуть, что в играх мало-приемлемо. Динамическая типизация, чтобы вы не расслаблялись.
--------------
Интеграция:
На странице описывающей движок, каждый разработчик с гордостью покажет, что на его то движке делались игры для всего чего только существует.
На самом деле, мобильные устройства представляют собой зоопарк как в плане мощности, так и в плане поддерживаемых стандартов. Даже у Apple. Второй зоопарк редких животных — это PC.
Безболезненной интеграции для консолей и разнообразных онлайновых сторов так же не существует и не верьте тем кто говорит, что у него прошло всё гладко. Ну, или «и вы говорите», как в одном анекдоте.
Мульти-платформа как была головной болью так и осталась. Впрочем, даже интеграция с одним онлайн-сервисом (Steam, GoG, EGS, Origin) или запуск игры на платформу запомнится разработчику надолго, так как является сейчас одним из самых унылых и трудо-затратных дел, как в плане «отвалилось на таком-то устройстве», так и в плане «какая-то фича которую требует данный сервис — не работает, а должна» или прощай продажи.
--------------
В действительности, почти любой движок, позволяет вставить в сцену по умолчанию трехмерную модель. Иногда даже придать ей какой-то игровой логики.
Проблемы начнутся, когда потребуется из всего этого сделать потребительский продукт с заданными свойствами.
Последний раз редактировалось
87638502@vkontakte
Статья призвана показать современные основы и представить глазу народа, а не углубляться в изучение всех аддонов.

Добавить комментарий