Unreal Engine vs Unity
Два самых популярных движка в индустрии сегодня. Считается что если вы собираетесь разрабатывать мобильную игру то вам нужно выбирать Unity, если что-то сложнее и масштабнее и для консолей(и ПК) - то Unreal Engine(далее UE). Но это в корне неверный подход, и вот почему.
На самом деле между этими двумя движками есть одна принципиальная разница - и это их назначение. Казалось бы как так, это ведь движки для создания игр и оба решают одну задачу. А разница в том что UE это в первую очередь in-house инструмент студии Epic Games и только потом движок для всех желающих. И из этого и проистекают все проблемы UE.
Игровые движки внутри студий, как правило, пишутся для создания определенных типов(и жанров) игр. А какие игры Epic Games делает? Экшены от первого и третьего лица, и UE заточен в первую очередь под такой тип игр. Причем помимо жанра игр движок сильно завязан и на пайплайны(процессы производства) разработки самой студии. Именно поэтому у UE такой своеобразный подход к импорту моделей и работы с аудио, например. Просто самой студии так было удобней работать.
А что же Unity, а тут все просто. Этот движок изначально делался для инди-разработчиков и сторонних в целом. И у него нет предрасположености к определенных жанрам и типам игр. Из-за его универсальности его часто используют не только для игр но и в промке, и в медицине например(программы для визуализации данных пациентов).
Если бы ко мне подошли за советом какой движок для разработки выбрать, я ответил бы так:
Все зависит от навыков команды. Всё)
Некоторые думают что для UE достаточно найти хороших C++ специалистов и уже все в ажуре, но нет, не в ажуре. C++ в UE крайне специфичен(очень), поэтому если у вас в команде нет именно UE специалистов(в идеале конечно Unreal Core Developer), то лучше в UE не лезть. Причем самое печальное в том что проблемы начнутся на этапе оптимизации. До этого все будет более менее нормально, а вот когда вы решите заняться полировкой и оптимизацией все того что вы понаделали, вот тут и начнутся проблемы. Ибо инструменты отладки хоть и разнообразны и мощны, но без пол литра в них не разобраться). И все, приплыли.
И еще такой момент.
Часто слышу такой аргумент в пользу UE, как то что это open-source и если нужно всегда можно что то самому поправить. Ну, попробуйте как-нибудь на досуге скачать исходники UE и просто их собрать. Несколько дней увлекательного садо-мазо я вам гарантирую.
Лазить в исходники, это прерогатива, как правило, довольно крупных команд, которые прекрасно понимают зачем и для чего они это делают. А уже для таких команд заплатить несколько тысяч бакисов в год(раньше было 1200, сейчас не знаю) для доступа к исходникам Unity уже не проблема.
И еще немного о наболевшем.
Про Nanite и Lumen. Как мне кажется это история не про игры, а про кино. Эпики давно уже метят в кино-продакшн. И эти технологии сделаны в первую очередь для удешевления и ускорения производства(ну и популяризации движка для этого всего). А игры это второстепенно(или даже третьестепенные).
Сейчас главная проблема игр(помимо оптимизона) не графон и количество полигончиков, а общая интерактивность окружения. Я лучше буду играть в пиксельную игру где окружение активно реагирует на мои действия, чем в ультра-графонистую и реалистичную статику.
ЗЫ.
Чет как то сумбурно вышло, у меня в голове было лучше.
Но я и не писатель, а разработчик. Unity - 9 лет, UE - где-то года 3 наверное.
Срач объявляю открытым)