Как стать автором
Обновить

Комментарии 29

Забавно, не ожидал когда-либо увидеть статью в защиту Unreal против Unity. В целом согласен, начиная с определённого масштаба игры и квалификации разработчика разница в простоте использования движков становится несущественной и на первый план выходят более продвинутые фичи. Если взять те же LOD'ы, то в юнити до сих пор реализация весьма убогая, только недавно начались какие-то подвижки в эту сторону.
Хорошая статья, спасибо. Очень люблю игры, но плохо понимаю, как устроены (и как они разрабатываются). Теперь стал не понимать чуть подробнее :)
Никогда не нравились эти холивары Unreal vs Unity. По моему каждый разработчик выбирает движок изходя из его опыта и знании в языках программировании и технологиях. Я сам предпочел Unity и этот выбор был сделан как раз из-за того что там язык c#, а до этого я был Android(Java) разработчиком. Можно конечно быстро изучить нужный язык программирования, но это в том случае если изучаемый ЯП вам по душе так сказать.
Я сам весьма настороженно отношусь к холиварам, но приветствую «pros vs cons» сравнение технологий, в первую очередь со стороны бизнеса. Выбор технологии отдельным разработчиком, и выбор компанией/студией — несколько разные вещи.
Я за анриал, но не могу удержаться:
«Да, на Unity 10-15 Мб, а на Unreal 60 Мб. Но при гигабайтных ассетах это не имеет значения. А если вы делаете маленькие казуальные игры, либо игры с 2D-графикой, то Unreal вам не нужен.»
Все имеет значение. 45 Мб это 9 несжатых фонов в FullHD. Мб можно этот параметр как-нибудь улучшить?

«Даже выходят игры, в которых графики особо нет, но при этом сжирают батарею… Будут пользователи играть в такую игру? Вопрос.»
Так что больше потребляет на среднем билде в средней игровой ситуации? Вот хартстоун(юнити) просто жрет на глазах аккумулятор. Просто нонсенс — эмулятор PS1 потребляет значительно меньше ресурсов(+заряда), чем «нативная» оптимизированная игра под юнити.
А что в нём при этом запущено?
Все имеет значение. 45 Мб это 9 несжатых фонов в FullHD. Мб можно этот параметр как-нибудь улучшить?

Можно, но в ущерб тем или иным вещам. Лично я не вижу в этом никакого смысла совершенно — лучше потратить время и силы на совсем другие вещи :) «Маленькие игры» — это отдельный бизнес.

Так что больше потребляет на среднем билде в средней игровой ситуации?

К сожалению понятия «средний» для такой ситуации нет — все слишком зависит от конкретной игры.
Какая-то странная статья немного. Раньше считалось, что Unity тормозная, а UE шустрая из-за плюсовой начинки, а тут что-то наоборот решили сравнить.
Признать, я честно удивлен что «раньше считалось именно так» :) Хорошо, если такое мнение уже стало преобладающим.
Статья какая-та продажная.

Миф первый: Unreal Engine никто не использует
На юнити очень много продуктов от крупных компаний. Alto Adventure, Lara Croft Go, все части The Room, Monument Valley, Royal Blood, Cuphead и множество других серьезных проектов, которые не простыми разработчиками были созданы. Я не говорю, что Unreal Engine никто не использует, я клоню к тому, что сравнивая два движка (один из которых вы так сильно пытаетесь унизить), стоило указать — сколько компаний разочаровались в Unity и перешли на Unreal Engine. Этот показатель был бы более наглядным.

Миф второй: низкая производительность
Ну вот вы ярко расписываете, что игра прекрасно работает на iPhone 5s, да ещё и намекаете, что завтра он войдет в историю, и уже iPhone 6\6s будет минимальным целевым устройством. Android вы решили благополучно опустить, правда не понятно почему. Вон samsung в 2017 году выпустил Samsung Galaxy A3, который купят-купили огромное количество человек, а он по производительности почти в два раза хуже iPhone 5s, причем стоит этот самсунг 205евро (первая попавшаяся цена), не сказать что жутко бюджетный, за такие деньги можно найти гораздо мощнее смартфон. И сколько ещё подобных устройств приобрели за 14-15-16-е года? Если идет речь про мобильную разработку, то ставить планку iPhone 5s не лучшее решение (если конечно не идет речь о поддержке Android, но раз речь идет о мобильной разработке, Android было бы глупо исключать).

Миф третий: высокие системные требования
Забавно использовать для разработки мобильных игр Intel 3000. Сейчас топовые устройства спокойно вытягивают динамическое освещение, пост эффекты (блюм и прочее), не знаю как с минимальным комфортом можно что-то делать при такой конфигурации. А уж запекание лайтмап (для мобильных игр это немаловажная технология) вообще станет ужасом. Но тут по сути точно такая же ситуация и в Unity (хотя для лайтмап в Unity выпустили прогрессив версию, которая в режиме реального времени кусками будет строить лайтмапы, в зависимости от текущего обзора камеры, причем без сильной потери производительности). В целом, хочешь комфортно работать, запасайся мощным железом, независимо от того, Unity у тебя или UE.

Миф четвёртый: Unreal тормознее, чем Unity
Не понятно для кого были построены графики. По вашим графикам UE выигрывает чаще и оперируете вы это тем, что если речь идёт о большом количестве одинаковых объектов, то UE очень хорошо умеет их инстансить. Ну чушь же, в Unity так же есть инстансинг на GPU, или batching (dynamic/static) на CPU. Как вы сравнивали, не понятно. Что было включено, что выключено, какое освещение было, какие настройки рендеринга были (forward/deffered) какие шейдеры применяли к вашим Tree и Objects. В общем, сравнение какое-то пустое, не несет никакой смысловой нагрузки.

Игра на Unity весит гораздо меньше, чем на Unreal
Честно, не знал, что билд на UE настолько жирный. Вы оперируете тем, что если речь идет о гигабайтных ассетах, то это не важно. Но подождите же, сейчас жирные тайтлы по 1-2Гб это исключение из правил, в основном все игры пытаются подгонять под <100мб на андроид и под <150мб под iOS. Вы утверждаете, что "если вы делаете маленькие казуальные игры, либо игры с 2D-графикой, то Unreal вам не нужен.", но когда речь идет о мобильной разработке, то казуальные игры/аркады будут в топе. В таком случае UE подходит только для разработки массивных 1-2Гб игр, а это очень маленькая целевая аудитория (среди потенциальных разработчиков). Причем Unity вполне комфортно будет вести себя при разработке таких массивных игр. Итого совсем не понятно, в чем тут плюс UE.

Длительность итерации
Тут вы ярко описываете, что в UE можно увидеть картинку с мобилки прямо на десктопе. Ещё и примеры привели. Ещё и сказали, что на Unity такого нет. Ну как нет, если на юнити точно так же выбираешь платформу Android и вместо красивых размытых динамических теней мы получаем «лесенки». Unity точно так же выдает картинку, которая будет на девайсе, вплоть до того, что можно эмулировать Open GL ES 3.0/2.0 + бегать между Shader Hardware Tier 1/2/3. С Metal точно такая же ситуация, выбираешь платформу iOS и там уже можно включить Metal API для редактора. Компилировать игру на девайс вовсе не нужно, все безумно легко проверять-смотреть прямо на десктопе. С помощью editor-скриптов можно настроить управление на клавиатуре (вместо тачей) и с легкостью тестировать её прямо в редакторе (тут полагаю в UE так же можно сделать), а про Unity Cloud Build и вовсе молчу, если машина слабая (или проект жирный) и сборка занимает много времени, Unity Cloud Build может очень серьезно в этом плане помочь. В результате так и не понятно, в чем UE выигрывает в этом плане.

Расширяемость и модернизация движка
В Unity пока другая политика, они пытаются сделать ко всему высокоуровневое API, чтобы разработчик фокусировался на создании контента, а не попыткой изобрести велосипед. Тем не менее, если вы серьезная компания и разрабатываете гигабайтные игры, вам не составит труда обговорить этот вопрос с Unity, договориться обо всем и получить свои долгожданные исходники, чтобы переписать все, что вам необходимо, будь то освещение, физический движок или любые другие вещи. В любом случае, плюс UE высосан из пальца. Для мобильной разработки это практически не нужно.

Итого, как и писал в начале, получилось какая-та продажная статья, в которой пытаются подсветить плюсы UE (причем за частую высосанные из пальца), при этом абсолютно не вникая в особенности Unity.
Статья какая-та продажная.

Мне тоже так показалось…
Интересно, а зачем и кому Mail.ru «продаёт» UE?
Самоуспокоение. Выбрали анрил, построили на нем разработку, теперь слезть не могут. А хотят на Юнити. Вот и оправдывают сами себя.
Шучу, конечно же.
Статья не просто продажная, она абсолютно оторвана от жизни. Если бы товарищ был в курсе, то не заливал бы про вулканы и gles3 на андроидах, а плакал от актуальных 25% gles2 mali400.
К сожалению, статистику по железу юнитеки выпилили у себя (а там была замечательная разбивка по вендорам и вообще), поэтому можно ориентироваться по официальной статистике гугля (ближе к концу есть таблица — 37% gles2): developer.android.com/about/dashboards/index.html
Что и означает 2/3 отличнейших девайсов на GLES 3.x :)
Нет, это означает значительную потерю потребительского рынка, потому что половина gles3 устройств — это просто «gles3 ready» как раньше делали наклейки «directx 10 ready» для офисного железа. Основная проблема у мобилок — это всегда разрешение, китайские братья любят ставить дохлый или средний гпу на 2k и выше разрешение — это тоже может пройти как gles3, но будет хуже hd разрешения на том же mali400mp2.
Да нельзя охватить весь рынок, никак. Вы всегда чём-то жертвуете, особенно на андроиде. И тут встаёт выбор — либо вы работаете под лоу энд девайсы, со всеми вытекающими, либо ставите адекватные рамки — для игровых устройств. Разные ниши, разные пользователи, разные деньги. Sdk 21 версии относительно скоро будет уже минимальным для стора, впереди 64 бит и прочие радости.

Для китайских собратьев есть даунскейл. Хуже, когда сам чип GPU беден как ни крути :(
Вот мы плавно и подошли к тому, что unreal неприменим к половине android устройств, а значит нецелесообразен, т.к судя по тестам в статье разница с юнити в 1-2фпс, а ресурсов он жрет в 2 раза больше, чем юнити. Вот она — суровая реальность, а не мифы о мифах в статье.
К половине прекрасных андроидовских устройств скоро будет применён лейбак «не поддерживается Гугл плеем», о чем вы? Если вы ставите работу над играми в Гугл плее равенство «работа под лоу энд», то это уже не так. Посмотрите хотя бы игры из начала статьи, прекрасные примеры как можно делать продукт, мега успешный на рынке, не оглядываясь на девайсы такого типа.
Это еще с чего? Не поддерживается все ниже android 4.0 или 4.1, а это по сути не меняет статистики по железу. Через полтора года да, потребуется поддержка arm64, но полтора года — это целая мажорная версия юнити :)

Посмотрите хотя бы игры из начала статьи

Я прочитал тот абзац как
Давайте возьмем Unity, на нём десятки и сотни тысяч различных игр». Когда-то именно так всё и было. Но сегодня это уже не соответствует действительности. Вот меньше десяти игр, которые хоть как-то шевелятся и их не стыдно показать, сделанные на UE4

Десятки-сотни тысяч против отборного десятка — плохой пример целесообразности применения unreal. Скорее пример адекватности остальных участников мобильного игростроя, не применяющих неоправданно тяжелые решения на ограниченном железе в угоду покрытия наибольшего количества устройств и увеличения ЦА.

Ну и самый эпик-фейл, что вспомнился — как делали flappy bird на unreal, который в итоге подергивался на топовом тогда железе. А в довесок еще и оказалось, что unreal в принципе не умеет батчить спрайты, а если кому надо, то пусть напишет сам.
Спасибо, я вашу позицию понял ;)
один из которых вы так сильно пытаетесь унизить

Еще раз повторюсь — выбирайте инструмент в зависимости от проекта. Сравнение в одной из плоскостей с Unity это лишь небольшой, и совершенно не главный кусочек доклада ;)

Ну вот вы ярко расписываете, что игра прекрасно работает на iPhone 5s, да ещё и намекаете, что завтра он войдет в историю, и уже iPhone 6\6s будет минимальным целевым устройством. Android вы решили благополучно опустить, правда не понятно почему.

Я даже не намекаю, я это весьма уверенно утверждаю :) На текущий момент, разрабатывая игру для iOS, девайс iPhone 6 можно смело считать минимальным. И да, эппл как был, так и остаётся самой денежной мобильной платформой, в то время как Android — обладает большей пользовательской массой. Если вы целитесь в лоу-энд девайсы андроида — это тоже свой рынок, но лишь его часть -есть и другая, весьма многочисленная, часть андроид устройств с прекрасной производительностью.

Вы оперируете тем, что если речь идет о гигабайтных ассетах, то это не важно.

Мой основной поинт — в хорошую игру будут играть не смотря на размер, а для стран, где проблемы со сторами аля китай, легко выпускается версия, где докачка контента происходит уже в самой игре. А плохую игру или треш — сейчас уже просто так «из-за размера» качать никто не будет. Да, «меньший размер» — это плюс, но далеко не в первых рядах. И речь ведь не только о «гигабайтных ассетах» — игра 300-400 метров это уже не 150, но и далеко не гигабайты.

Unity точно так же выдает картинку, которая будет на девайсе, вплоть до того, что можно эмулировать Open GL ES 3.0/2.0 + бегать между Shader Hardware Tier 1/2/3.

Супер, я очень рад если ребята из Юнити наконец сделали это на должном уровне, но вообще поинт был совсем не об этом. На ранних версиях UE4 с длиной итерации под мобилки были сильные проблемы. Потом — они ушли. Вжух, счастье, радость :)

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

А на самом деле — нет, это весьма «составит труда», и вообще одна из главных печалей тех, кто делает серьезные проекты на юнити. Прям такая, что немало слёз разработчиков об этом пролито.
А на самом деле — нет, это весьма «составит труда», и вообще одна из главных печалей тех, кто делает серьезные проекты на юнити. Прям такая, что немало слёз разработчиков об этом пролито.

Можно этот момент закрыть, в юнити есть корпоративная подписка (как раз для серьезных проектов от серьезных компаний), где дается полный доступ к исходному коду.
Справедливости ради,
Ну как нет, если на юнити точно так же выбираешь платформу Android и вместо красивых размытых динамических теней мы получаем «лесенки». Unity точно так же выдает картинку, которая будет на девайсе, вплоть до того, что можно эмулировать Open GL ES 3.0/2.0 + бегать между Shader Hardware Tier 1/2/3.
должен предупредить, не стоит по части шейдеров слишком сильно на этот режим эмуляции надеяться, сталкивался с ситуацией когда в нём всё норм, а на итоговой сборке шейдер глючит.
Как у анрила хз.
Вы утверждаете, что «если вы делаете маленькие казуальные игры, либо игры с 2D-графикой, то Unreal вам не нужен.», но когда речь идет о мобильной разработке, то казуальные игры/аркады будут в топе. В таком случае UE подходит только для разработки массивных 1-2Гб игр, а это очень маленькая целевая аудитория (среди потенциальных разработчиков). Причем Unity вполне комфортно будет вести себя при разработке таких массивных игр. Итого совсем не понятно, в чем тут плюс UE.


Это классификация «на балконе стояла мама, папа и банка помидор».

Мелкая казуальная игра и крупных 3D-проект на одном и том же движке — это одно название что проект называется одинаково.

Тоесть статью можно сократить до "Писать крутые игры под мобилки можно и нужно!". Но с кучей ограничений: количество полигонов, разрешение, пе-ре-жа-ты-е тектстуры всякими PVR RGBA4444/RGBA5551, мержить статическую геометрию и симплигонить, атласы под всёёё-ё, лоды-куллинг, небольшие баттле-арены. Тоесть пофакту получает поколение PS3-X360. и по уровню графона из заморочек. Только vtbl уже бояться не нужно.

забивая на момент, что это была реклама мобильной армы…

Железо для билдов «из коробки» — для анриала требуется в 2 раза сильней.
Отдельный момент — это место на жестком под проект и ассеты, там сразу на порядок разница.
Анриал ооочень требовательный. Возможно, Ваша кастомная версия для разработчика армы отлично оптимизирована, но многим компаниям дешевле просто юнити из коробки взять.

Цена ассетов различается на порядок, количество — уже на 2 порядка. И все не в пользу анриала. Как минимум прототипирование из-за этого проще на юнити.

«Мой основной поинт — в хорошую игру будут играть не смотря на размер» — будут, но с эмулятора на пк и не будут платить.
Основная масса топа мобилок борется за каждый мегабайт.
Лишний мегабайт = лишняя секунда загрузки apk = % отвала пользователей.

Нет сравнения портирования на платформы, а на юнити платформ больше, проще портирование и куча партнеров (CloudMoolah, FacebookGoogle, Intel, Microsoft, Oculus, OTOY, Samsung, Vuforia, Xiaomi)

На юнити громадное количество и мобильных и пк игр. Если бы анриал был выгодней, ситуация была бы обратной.
+у анриала % ставка с продаж, а у юнити просто оплачивай подписку на человекоместа.

Анриал — хороший и самый мощный инструмент, но далеко не самый выгодный для мобильной разработки в данный момент.
забивая на момент, что это была реклама мобильной армы…

Как публикация доклада, прочитанного ровно год назад?.. :)

Железо для билдов «из коробки» — для анриала требуется в 2 раза сильней.…
… Возможно, Ваша кастомная версия для разработчика армы отлично оптимизирована, но многим компаниям дешевле просто юнити из коробки взять.

Ну… нет. В разработке используем обычную версию из лончера. Никаких сверхтребований к железу редактор не предъявляет ни разу. Даже маки без выделенных GPU используются на ура. CPU наше всё, но это очевидно когда работаешь с C++, а не скриптовыми языками.

А вот место на жестком диске да, анрил к нему всегда был требовательным. Но SSD в 240 Гб, доступный каждому уже несколько лет как, более чем достаточен для связки ОС + движок + проект.

Цена ассетов различается на порядок, количество — уже на 2 порядка. И все не в пользу анриала. Как минимум прототипирование из-за этого проще на юнити.

Наши художники только что узнали много нового… :) Цена ассетов и количество никак не зависят от движка при правильной организации пайплайна разработки. Это вообще нонсенс. PBR он и в Африке PBR, всё остальное — вторично.

Лишний мегабайт = лишняя секунда загрузки apk = % отвала пользователей.

Глобально есть разница только «доступно по LTE» и «недоступно».

Нет сравнения портирования на платформы, а на юнити платформ больше, проще портирование и куча партнеров (CloudMoolah, FacebookGoogle, Intel, Microsoft, Oculus, OTOY, Samsung, Vuforia, Xiaomi)

Да и доклад вообще не про Unity vs UE4… Оо
У анриала тут свои вкусности, у юнити — свои. О «простоте портирования» можно ой многое рассказать) Поддержка платформенных вещей встроенная у анриала слабовата, но уже кучей весьма классных плагинов расширена.

На юнити громадное количество и мобильных и пк игр. Если бы анриал был выгодней, ситуация была бы обратной.
+у анриала % ставка с продаж, а у юнити просто оплачивай подписку на человекоместа.

Юнити для мобилок старше анриала на несколько лет. Всё успеется, подождите. Это ж самый первый пункт в статье выше :)
Про % вопрос с Эпиками решаем был всегда.

Анриал — хороший и самый мощный инструмент, но далеко не самый выгодный для мобильной разработки в данный момент.

Ключевой вопрос — смотря для чего.
Эх, Lineage 2: Revolution требовательная. Мой калькулятор не берет ее.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий