Для небольших компаний или инди-команд решение самостоятельно создавать движок не имеет экономических преимуществ, но может быть оправданно в случае необходимости каких-то необычных решений, которые невозможно получить, используя готовый вариант. Это могут быть вещи, связанные, например, с воксельной графикой, где важно передать разрушаемость предметов. Для игр типа
Еще один вариант – не делать движок с нуля, а взять наработки опенсорсных (от англ. open-source), то есть выложенных в открытый доступ, движков. Исходный код таких движков доступен всем, и его можно править под свои нужды. Естественно, вам понадобятся опытные программисты, чтобы справиться с такой задачей. Многие популярные современные движки имеют гибкие инструменты для расширения и кастомизации (разной степени сложности и удобства). «Прикрутить» уникальную механику к готовому движку намного легче, чем с нуля создавать свой полноценный движок с аналогичными возможностями.
Если же вы планируете создать игру с более или менее типовым геймплеем, готовые движки сильно упростят задачу. У них есть документация, где всегда можно прочитать, что он умеет или не умеет делать. Самый простой способ узнать, реализует ли выбранный движок ту или иную игровую механику, это изучить его описание или же просто задать вопрос в поисковиках.
Готовые игровые движки можно разделить по двум признакам. Во-первых, по игровой платформе: движки могут быть кросс-платформенными или же подходить только для создания игры под конкретную платформу (мобильные, ПК-игры и т. д.).
Во-вторых, важен жанр создаваемой игры. Существуют игровые движки, так скажем, широкого профиля, поддерживающие игры разных жанров, но есть и специализированные движки, дающие инструментарий для создания, например, визуальных новелл (Ren’Py). Движок, спроектированный для гонок, будет существенно отличаться от движка для MMORPG или стратегии в реальном времени. Но есть и общие вещи: например, трехмерные игры любого жанра требуют системы 3D-рендеринга, взаимодействия с геймпадом, клавиатурой и/или мышью, звукового сопровождения и так далее.
Еще один важный фактор при выборе движка – опыт участников проекта, в том числе языки программирования, которыми они владеют.
Самые популярные игровые движки – это Unreal Engine и Unity.
UNITY развивается с 2005 года. На Unity разработаны тысячи приложений и игр разных жанров на более чем 25 платформах. Его любят как крупные студии, так и инди-разработчики.
Изначально Unity создавался для компьютеров Mac, в следующих версиях добавлялись новые платформы: Windows, IPhone, Android, Xbox, Playstation и другие.
Для написания скриптов движок использует язык программирования C#, считающийся несложным в изучении и работе. В редакторе Unity простой интерфейс, что позволяет легко производить отладку игры. Главными преимуществами Unity считают кросс-платформенность и наличие визуальной среды разработки.
Если выбирать между Unreal Engine и Unity, можно отметить, что последний иногда удобнее для начинающих программистов, он предлагает множество готовых решений и для создания простых игр обычно выбирают именно его. Сообщество Unity считается самым большим (ведь он стал первым бесплатным движком для инди-разработчиков), поэтому, если возникнут какие-то вопросы, вы всегда сможете рассчитывать на консультацию. Однако, если с программированием отношения сложные, Unreal Engine может кому-то показаться более дружелюбным.
Работая с любым движком, сложно добиться ААА-графики в динамике, особенно для консольной игры. Планка качества графики и спецэффектов непрерывно растет, организация совместной работы над огромным количеством внутриигровых объектов усложняется. За последние годы разработчики Unity проделали большую работу для повышения уровня графики, так что сегодня создавать красивые и качественные игры можно на обоих движках.
Большие открытые миры – еще одна сложная задача. Поэтому многие известные игры (