Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Итак, начинающий игродел. Ты принял решение: хочу разрабатывать игры. Глядишь, повезёт, сделаю инди игру и заработаю кучу денег (что возможно), а то и вовсе устроюсь в крупную студию, перееду в Европу и буду разрабатывать игры (что тоже не влажные мечты, а действительно возможно. Например, боёвку в Cronos The New Dawn разрабатывал наш соотечественник, которого взяли на работу поляки).

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Но тут встаёт вопрос: а какой движок выбрать для изучения? Unity? Unreal Engine? CryEngine? Godot? RPG Maker? GameMaker? К сожалению, начинающий игродел, если ты мечтаешь изучить движок RAGE (Rockstar Advanced Game Engine), на котором сделали GTA 5 и делают GTA 6 - то забудь. Многие крупные игровые студии используют свои внутренние движки, которые недоступны для общего пользования, а вот вышеперечисленные - доступны.

Но давай так. Сейчас основная конкуренция идёт между Unity и Unreal Engine. Остальные движки... Ну, они конечно используются в индустрии, но не прям уж активно. Сможешь ли назвать сходу игры на Godot?

Поэтому остаются только Unreal Engine, Unity и CryEngine. Но вот в чём незадача... Несмотря на то, что CryEngine - крутой движок, но вот особым спросом в разработке он не пользуется. Да, мы получили шикарный Kingdome Come на нём, а в 2017 году - Prey и ещё несколько хороших игр. Но этого мало, учитывая, что игр выходит каждый месяц очень много.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Поэтому если брать по соотношению качество/популярность, то остаются Unity и Unreal Engine.

И я имею право сравнивать эти движки. Как минимум потому, что у меня есть каналы по Unity и по Unreal Engine. По Unreal Engine я и вовсе имею сертификат от Epic Games, что я могу официально преподавать:

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Поэтому - давай начнём.

Что легче изучать?

Unity:

Весь Юнити построен на компонентах и скриптах. Хочешь заставить своего персонажа двигаться? Пиши скрипт. Хочешь, чтобы была возможность управлять камерой игрока? Подключай компонент Cinemachine.

Весь код в Unity пишется на C#. Это не самый сложный язык программирования, но и не самый лёгкий. Иногда порой у тебя могут быть сложности с синтаксисом языка. Но это нормально. Любой язык можно изучить, приложив время. Это нормальный учебный процесс.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

При этом если не хочешь писать код руками в C#, то в Unity есть другой язык программирования. Он называется Bolt. Если коротко, то такие визуальные языки программирования состоят из блоков, которые ты вызываешь, подаёшь нужные значения и устанавливаешь значения. Но вот в чём нюанс - этой системой в Unity практически не пользуются. Все привыкли писать код «по-старинке» на C#. И это нормально.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

При этом нужно отметить, что по Unity есть куча гайдов в Интернете, а то и скрипты лежат в открытом доступе готовые. Хочешь логику атаки для своего персонажа? Стащи в свой код. При этом у Unity отличная документация. Прям очень структурированная и удобная. Да и образовательные курсы официальные и бесплатные даже есть, а также собственный магазин ассетов.

Unreal Engine:

В Unreal Engine можно работать как на С++, так и на Blueprints. Давай по-порядку. С++ - крайне сложный язык. Ты можешь вбить «самые сложные языки программирования» в Интернете и С++ будет болтаться где-то рядом с Assembler. Например, в C# Unity нет множественного наследования, а в С++ множественное наследование есть (например, если нужно отнаследоваться от класса Actor и ещё отнаследоваться от Interface). Согласись, уже звучит сложно?

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Но не беда. В Unreal Engine есть встроенный язык визуального программирования - Blueprints. Он тоже вызывает сложностей, но он всё равно дружелюбнее, чем С++ на старте. Логика та же самая: ты подключаешь нужные блоки друг к другу, задаёшь значения и так далее. «Что выбрать: С++ или Blueprints?» - спросишь ты. А я отвечу: сначала Blueprints, потом - С++, а потом комбинируй. Например, многая логика в Fortnite написана на Blueprints, а на С++ - сетевой код.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

По Unreal Engine есть просто тонна уроков на любой вкус, много различных сообществ и обучающих официальных проектов от самих Epic Games (владельцы движка). Но вот за что я ругал, ругаю и буду ругать Epic Games - за их документацию. В ней много мусора, порой не хватает структуры. Ты можешь в документации искать одно, а он тебе выдаст совершенно другое. И окажется, что то, что ты ищешь - оно окажется вообще внутри другой большой темы. Это проблема. Также есть собственный огромный магазин ассетов.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Поэтому вывод здесь такой: Unity для обучения легче. Этим всё сказано.

Где что используется?

Unity:

Преимущественно на Unity делают мобильные игры и инди-проекты. Потому что, опять же, такие игры делать проще, ведь нам там не нужна мегакрутая графика на смартфонах, да и инди разработчики не могут себе позволить технологию фотограмметрии для получения реалистичных объектов и прочее.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Но то, что Unity используется чаще всего в мобильной разработке - это плюс. Ведь мобильный рынок игр обходит рынок игр на ПК по прибыли. Поэтому и вакансий по Unity намного больше, ведь разработка игр на мобилок чаще всего поставлена на поток: студии делают десять мобильных игр, из которых большинство провалится, но одна «залетит» и будет кормить студию долгие годы. Поэтому и разработчики требуются. Многие популярные китайские игры по типу Honkai: Star Rail на Unity сделаны и выглядят хорошо.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Unreal Engine:

Используется везде. Абсолютно. Даже в кино («Мандалорец» и «Мир дикого запада» и прочее). Видел даже музыкальные клипы. Игры, понятное дело, перечислять смысла нет. Их просто дофига. Это могут быть как различные АА игры (Clair Obscure: Expedition 33), так и AAA (серия Mortal Kombat). В Анриле также можно делать реалистичные эффекты прям внутри движка. На Unity тоже есть возможность создания системы частиц, но в Unreal Engine они выглядят намного симпатичнее.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

При этом у Unreal Engine огромный инструментарий: вы можете записывать себя на телефон и закинуть в игру даже без аренды студии MoCap. Можете создавать очень реалистичные сцены и так далее. Поэтому будьте уверены: 90% крупных игр на Unreal Engine. Но что у Unreal Engine с мобилками? На самом деле, там тоже всё неплохо: Fortnite, PUBG Mobile, Dark and Darker Mobile. Но вот в чём проблема: это требовательные игры для телефонов. Поэтому бабушка в поликлинике в очереди выберет скорее собирать три в ряд в игре на Unity, чем нагибать других игроков в Fortnite. Не у всех есть мощные iPhone и Samsung последней модели.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Поэтому вывод здесь такой: для больших и красивых игр с реалистичной графикой (пусть и необязательно, можно сделать красиво и за счёт арта) - Unreal Engine, для мобилок и совсем инди-проектов - Unity (хотя на Unity есть Escape from Tarkov, которая пытается в реализм, но у игры огромные проблемы с оптимизацией и графика всё равно не впечатляет).

Какие есть существенные проблемы у движков?

Unity:

Самодурство разработчиков движка. Создатели движка как-то сказали: «Мы будем брать деньги за КАЖДУЮ УСТАНОВКУ (!) игры на их движке». Т.е. создал ты игру, дорогой анон, загрузил в Steam. Установили два человека твою игру, не понравился им твой замечательный инди-хоррор на коленке и оформили рефанд (возврат) - пофиг, будь готов платить за эту установку. Ещё и в минус уйдёшь.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Вообще эту систему раскритиковали игровые разработчики и всё это откатили. Но факт остаётся фактом - у Unity проблема с деньгами. Они даже недавно присоединились к Unreal Engine для создания контента по Fortnite. А это, дорогие мои, говорит о финансовых проблемах создателей движка. Поэтому что им взбредёт в голову потом - сложно сказать, дорогой игродел. Как бы не оказалось, что ты создал игру, уже тестируешь её, а завтра выходит новость, что движок Unity становится полностью закрытым. Хотите разрабатывать дальше - покупайте лицензию на использование. А это может быть от 100 000 долларов (~ 8 000 000 рублей).

Unreal Engine:

Самодурство разработчиков игр. Тут вот в чём проблема. Многие слышали, что игры на Unreal Engine 5 выходят неоптимизированными. Почему так? Потому что разработчики хотят сделать супер-мега-красиво и не работают с оптимизацией таких сложных систем, как Lumen и Nanite. Что это такое - объяснять не буду, дабы не зарываться. Цель здесь проста - разработчики хотят показать инвесторам суперграфику, выжимая все соки из движка, а на оптимизацию как-то пофиг уже. Вот и получается, что получается.

Unreal Engine или Unity: какой игровой движок выбрать начинающему игроделу? Разбор плюсов и минусов.

Поэтому, дорогой игродел. Пожалуйста, молю тебя. Если будешь делать собственную игру - ну откажись ты от тяжёлых систем Анрила. Вон, в Split Fiction всё это убрали - вуаля, идеальная игра по оптимизации. Но даже если и хочешь использовать эти системы, как это было сделано в Expedition 33, то будь готов тестировать, настраивать и в общем прям заморочиться над оптимизацией.

Вывод здесь такой: все дурят, но в разных областях.

Почему движки бесплатные? В чём подвох?

Движки бесплатные до тех пор, пока игра не начнём вам приносить деньги.

Unity:

Тут чуть посложнее система, чем у Unreal Engine. У Unity есть несколько систем лицензирования. Есть Unity Personal, Enterprise и Pro. Простите меня, что не буду сюда всё переписывать, как там и что, ибо пост раздуется до больших высот. Если вам интересно - то вот ссылка.

Unreal Engine:

Если вы заработали на игре 1 000 000 долларов, то вы обязаны будете отдать 5% с последующих продаж в казну Epic Games. Если же вы опубликуете свою игру в Epic Games Store, то ставка снизится до 3.5%. Всё просто. Не набрала ваша игра 1 000 000 долларов? Ну, платить ничего не нужно.

Выводы здесь такие: как по мне, так система роялти от Unreal Engine более комфортная и удобная, в то время как для Unity порог снижен и в целом можно запутаться с их системами.

Заключение.

Поэтому я надеюсь, что я ответил на твой вопрос, юный игродел. Я бы посоветовал тебе вообще потыкать разные движки. Вдруг тебе ни Unity, ни Unreal Engine не зайдут. А вот какой-нибудь Godot - полюбишь с первого взгляда.

В конце концов, интересной игру делают не движки. А люди, которые хотят сделать интересную игру.

15
42 комментария