Всем доброго оборота земли вокруг своей оси в вашей широте и долготе дней. Сей опус будет полезен “Сомневающимся” и поможет пролить немного излучения звезды по имени Солнце на коварную маркетинговую кампанию самых популярных игровых движков. Я занимаюсь разработкой игр уже больше 10 лет, поэтому нескромно могу выразить свое ЛИЧНОЕ мнение о всех достоинствах и недостатках. Добро пожаловать ниже…
Итак, начнем немного с истории. Unreal Engine - движок созданный профессиональной командой разработчиков игр серии Unreal Tournament в 1998 году для создания одноименной игры, а Unity3d в 2005 году профессиональной командой разработчиков, но отнюдь не игр. Целью Unity было создание движка нового поколения, который существенно должен был понизить порог вхождения для новичков в разработке игр и максимально упростить портирование готовых игр на различные платформы. Во главе угла стояла простота использования.
Юнити стал по настоящему первым “Народным движком”. Я могу вспомнить ещё несколько популярных на то время, но они все погибли. В то дикое время под каждую игру писали свой собственный велосипед, потому что до Юнити получить готовый движок без огромного количества денег(десятки и даже сотни тысяч долларов) на лицензирование просто не было возможности. Unity сразу обрел огромную базу фанатов и разработчиков за счет своей простоты и удобства, а Unreal в это время мог оперировать только обученными профессионалами с большим опытом. Порог вхождения в Unreal неприлично высок, чтобы начать программировать игры на нём, вам нужно знать С++ и тонну мелких деталей работы движка, а это не один год обучения на программиста и изучения самого движка.
В юнити любой человек не обделенный логикой и азами Pascal сможет написать простенькую игру за неделю. В Unreal на подобное уйдет в 10 раз больше времени и это неоспоримый Факт. Epic Games (разработчики Unreal) знают свои слабые и сильные стороны, поэтому выпуск Blue Print не заставил себя долго ждать и действительно понизил порог вхождения в UE, но всего лишь для “прототипирования”. Серьезные проекты по прежнему “крайне рекомендуется” писать на С++ со всеми последствиями. На рынке сейчас “на глаз” разработчиков на Unreal 1 к 10 или даже к 20 по сравнению с Unity. Отсюда следует основной минус UE - Разработка под него на порядок Дороже и Сложнее. Специалистов мало, по факту хороших спецов учат только “уже состоявшиеся спецы” из самой Epic или других крупных контор, которые годами разрабатывают игры на Unreal. Если вы маленькая команда или Indie разработчик, то ваш предел в играх на Unreal это уже готовые мультиплеер FPS стрелялки, по тому что по факту UE был и остается движком для игры Unreal Tournament. Вся логика движка заточена под шутеры от первого/третьего лица по сети.
На этом историю закончим, потому что писать об этом я могу часами, далее рассмотрим конкретные примеры работы в каждом движке.
Работа с редактором Unreal Editor - это просто издевательство над художниками и всеми кто так или иначе связан с созданием арта, звука, анимаций, текстур и прочего. Его основной и гигантский минус - не связанность с файловой системой вашего PC, то есть нельзя просто перетащить файл из папки в папку или даже “О Б-ЖЕ!!” в само окно редактора. Теперь любой файл 3д модели или текстуры вам придется Импортировать с помощью КНОПКИ и никак иначе. Если вам надо немного поменять модель, то вам придется Удалять Руками Импортнутые объекты и Заново их Импортировать столько раз, сколько вы захотите улучшать ваш файл. Реимпорт там конечно “существует”, но он работает настолько нестабильно, что у меня теряется дар речи. Например Vertex Color никогда не реимпортится заново, все созданные клипы анимаций затираются при реимпорте и т д. Если вы не отстрадали своё в этом редакторе огромное количество времени, то готовьтесь к тому что 80% времени вы будете заниматься импортом и реимпортом, а если объектов в вашей локации 100-200-300….Просто знайте, нельзя нажать кнопку экспорт в вашем любимом 3д пакете и получить всё в том же виде в UE, вам придется каждый объект заботливо расставлять руками, про материалы и прочее естественно забудьте тоже, потому что UE кроме Diffuse+spec+Ao+metallic импортировать ничего не будет, не говоря уже про второй UV канал на назначенной текстуре или тайлинг и прочие подробности.
Я страдал достаточно для того чтобы написать свой собственный экспортер из 3ds max Vray в Unreal и потратил на это несколько месяцев лишь бы не мучаться с редактором Unreal. Это позволило переводить сцены с 1000 объектов в Unreal за каких то 30 минут компьютерного времени, но даже это не помогло мне :) Если вы хотите делать мобильные игры, то приготовьтесь к Аду, каждый ребут редактора отключает Mobile Preview режим и вам придется вручную каждый раз включать его заново и ждать пока перекомпилируется весь рендер движок под мобильные устройства, а это занимает несколько минут. Умножьте это на поистине Эпичную стабильность редактора, который может крашится каждые 10 минут, запускается заново несколько минут на топовом железе… Новые Фичи приходят в движок в таком состоянии, в котором разобраться в них без бутылки зачастую непредставляется возможным, потому что набор галочек и консольных команд для работоспособности “фичи” переходит все разумные границы. Хотите крутую ткань? Волосы? Плоские отражения не пост эффектом ?
Будьте добры прочитайте всю документацию 5 раз, и через двое суток с красными глазами вы узнаете, что фича не доступна, пока вы не нажмете галочку в меню о котором даже не слышали ни вы, ни весь чат разработчиков UE в телеграме. После этого Unity Editor покажется вам МАННОЙ НЕБЕСНОЙ. Это абсолютно понятный, простой в использовании механизм, полностью контролируемый и безусловно его киллер фичей является то, что писать под него плагины можно на самом Unity, а вот написать простейший скрипт в UE редакторе по расстановке объектов - только на С++ используя исходники движка. Отсюда и нереальное количество плагинов для юнити и единицы полезных для UE. Но при этом UE до сих пор является лидером рынка по Графену, потому что им заведуют всё теже Профессиональные Разработчики Игр, которые двигают индустрию вперед.
В Epic Games проблема решается просто - Нужен качественный персонаж? Берем специально обученного человека и даем ему месяц на задрачивание этого персонажа и так с каждым более менее сложным игровым объектом. Студии по разработки на УЕ насчитывает ГИГАНТСКОЕ количество людей, которые работают в редакторе со своими отдельными объектами.Epic очень богатая контора и она может себе позволить многое: бесплатный движок (в первую очередь для того чтобы хоть как то выращивать новых специалистов для их внутренних потребностей в разработке игр), провальные игры и щедрость с ними связанную (PARAGON) в отличии от Unity, которая перебивается продажами самого движка и подписок, если бы денег было больше, то отставание в графическом плане не было бы настолько заметным, но даже сейчас 2018 версия уже не слишком сильно уступает UE.
Вывод простой, если вы богатый успешный разработчик с большим опытом и уверенностью в себе и вы любите красивую 3д графику и мультиплеер - ваш выбор UE, во всех остальных случаях - Unity.Надеюсь кому то поможет эта статья, а я могу лишь напомнить, что это моё личное мнение и опыт, некоторые слова можно трактовать как то иначе, потому что выверять каждое предложение и слово у меня просто нет времени. Всем удачи и приятной разработки игр. Помните, что главное в этом деле - это любовь к своей работе, если разработка не приносит вам удовольствия - срочно меняйте работу, движок и всё что угодно связанное с этим. Адьёс Амигос.