Почему Unreal Engine на самом деле отличный движок для игр, а главная беда - разработчики

Привет, DTF.
Я главный (и единственный) разработчик средневековой RPG-Strategy игры Mainland, аналога Mount and Blade, но с кооперативом.
Кстати, демо будет доступно уже в феврале
Последние 5 лет я занимаюсь разработкой в Unreal Engine в свободное время.
За это время у меня сложилось очень хорошее отношение к этому движку и сейчас я вам объясню, почему комменты на DTF о его хуевости - это обычно чушь. Как будто вы и сами не знаете некоторых комментаторов DTF

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

Каков красавец
Каков красавец

Часть 1. Эпоха до публично доступных движков. (~ до 2009)

Долгое время у желающих создать игру был всего один основной путь - создать свой движок. В связи с этим, инди игры были не очень распространенным явлением. Сделать в одиночку И движок И игру это поистине сложная задача. Она была сложной раньше, остается сложной и сейчас. Представьте, что на игру можно потратить 1-2 года своей жизни запросто. Так вот движок это еще столько же.

Я видел немало комментариев о том, что якобы разработка своего движка давала игре какой-то стиль и самобытность. Верно ли это? В те времена - в том числе. До массового использования шейдеров (начало 2000х) движок действительно частично определял визуал. Хотя текстуры оказывали ГОРАЗДО больше влияния в любом случае.
Какой бы классный движок вы не создали, убогие текстуры уничтожат весь ваш визуал, как ни старайтесь.
И это в условиях крайне ограниченной памяти и производительности!

В общем, время было крайне забористое для разработчиков, но по своему классное.
Рынок еще только начал появляться, энтузиастов много, идей еще больше, Steam вообще только в 2003 запустился, диски все еще в ходу, патчей первого дня просто нет и игры РЕАЛЬНО приходилось тестировать.
Но потом все изменилось.

Часть 2. Эпоха публичных движков

Первым массовым доступным движком в 2009 стал Unity. Да, до него был еще ряд движков, но они обычно были по лицензии, а это значит, что вы не смогли бы просто скачать его и делать на нем игру, сначала заплатите. Не говоря уже о том, что с движком еще надо научиться работать, а документацию разработчики никогда не любили писать)
Именно Unity поменял правила игры и сильно упростил жизнь тем, кто хочет сделать игру, но не хочет влезать в совсем уж жесткое программирование.

Мы все знаем, что это привело к созданию КУЧИ сомнительного качества игр, из-за чего Unity на долгое время получил звание движка, на котором пилят говно-хорроры и прочий шлак, в который вы вряд ли зайдете поиграть в здравом уме.
Однако, среди всего хлама, находились и отличные игры, которые стали во многом легендарными.

Rust, KSP, Monument Walley, Firewatch, Ori, Cities: Skylines

ВСЕ эти игры вышли во многом благодаря тому, что движок уже был готов и разработчики могли сфокусироваться на создании непосредственно самой игры.

Unreal Engine же стал бесплатным для всех только в 2015 и отправился конкурировать за умы разработчиков, которые хотели создавать 3D игры. 2D как тогда был за Unity, так и сейчас (хотя сейчас Godot пытается забрать кусок рынка, но это уже другая тема)

Unreal Engine 3 тогда тоже отличился рядом отличных релизов. Для тех, у кого "на UE не делают хороших игр" вот вам ТОЛЬКО 2015 год.

Rocket League, Batman: Arkham Knight, Life is Strange, Killing Floor 2, ARK: Survival Evolved

Если вы думали, что эти игры вышли не так давно, то вы сейчас так же охуели, как и я.

И вот мы уже имеем 2 крупных и известных движка с открытым доступом (UE вообще с открытым кодом), которые можно использовать, если вы хотите создать свою игру.
Вы не пишите свою систему скелетов и рендера. Не пишете свою систему освещения. Вы просто берете и используете то, что доступно. Сотни людей и, наверное, сотни тысяч, если не миллионы, человеко-часов, потраченных на создание этих движков. А вы получаете это БЕСПЛАТНО прямо сейчас. Ну не сказка ли?

Часть 3. Плюсы и минусы публичных движков

Конечно, во всем есть плюсы и минусы и сейчас разберем те, которые сразу приходят мне в голову.

Плюсы:

  • Кратное сокращение времени выхода игры на рынок (в 2-3 раза)
  • Огромные возможности, которые уже заложены в движок
  • Коммьюнити, которое уже сделало множество вещей до вас

Минусы:

  • Это большой инструмент, которому придется сначала научиться
  • Как инди разраб, вы все равно не сможете использовать ВСЕ, что предлагает движок. Слишком там много всего
  • У вас нет контроля над движком. UE это решил дав исходники. Unity знатно показал, почему это плохо, с их новой монетизацией

Часть 4. А теперь про сам Unreal Engine

Итак, перейдем непосредственно у UE, потому что именно с ним я сплелся довольно тесно, разрабатывая Mainland.

- UE пытается быть всем сразу и потому захламлен всем подряд
Тут крыть почти нечем. UE и правда пытается и в игры и в рендер и в фильмы (при чем везде успешно) и потому имеет ОЧЕНЬ много всего. Однако Epic довольно хорошо разграничили эти направления и проблем это не вызывает.

- UE пытается работать сразу со всеми типами игр и везде плох.
Не везде, основное направление для UE - FPS. И в таких типах игр он показывает себя лучше всего. Даже в самом коде движка можно заметить, что он создавался под FPS (вот это неожиданность) и потому для других он и правда работает хуже

Например, при создании Mainland мне пришлось полностью отказаться от встроенной системы перемещения персонажа и создать простую, но эффективную систему на базе ContextSteering. UE буквально ложится от пары сотен юнитов, если использовать из коробки. Помним про FPS направленность.

Эта проблема частично существует, с ней приходится работать.

- UE везде обмазан рейтрейсингом

Для 5 версии это правда. Более того, статическое освещение по дефолту выключено при создании нового проекта.
Это все часть политики эпиков по уходу в полностью динамическое освещение.
Является ли это проблемой? В целом нет, потому что вот это они реально стараются оптимизировать. Lumen в последнем обновлении идет в 60FPS на консолях и они это будут улучшать и дальше. А для ПК вообще завезли упрощенный Lumen на 1070 видеокарте (которой почти 10 лет так то), что вообще казалось не особо возможным.

- UE плохо оптимизирован и игры лагают даже на топовом железе

Это, в целом, главная предъява к движку, как я вижу в интернете. И вот она СИЛЬНО не по делу. Сами разрабы иногда докапываются до EpicGames по поводу оптимизации и компания выпускает немало вещей для оптимизации, о которых разрабы обычно просто не знают!

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

Но после выхода того же ManorLords, который давал хорошие показатели и вообще идет на древнем говне в минималках, я полностью уверен, что проблема абсолютно на стороне разрабов

Manor Lords
Manor Lords

А самое смешное, что в анриле есть почти все для анализа, дебага и прочего. Я буквально месяц назад снизил бандл игры с 4Гб до 3Гб и потребление видеопамяти на глобальной карте с 1Гб до 300Мб просто проведя час в одной из аналитических приблуд!
А уж насколько хорош Unreal Insights я вообще молчу. На этой тулзе можно покадрово узнать, что где загружено, насколько и почему.
Именно благодаря таким вещам, которые уже есть в движке, я могу пушить производительность до 60Fps при 400 юнитах в бою.
Из минусов, что я в итоге упрусь в тот же движок, так как анимации довольно дорогие и потому только 400 юнитов. Но и здесь эпики постарались, так как есть уже встроенная система для пропуска кадров у юнитов вдалеке (а это то, что в Bannerlord используется повсеместно)
Есть хоть примерно ощущение, сколько я бы сам создавал все эти инструменты анализа? Вот именно

- Игры на UE визуально однообразны из-за движка

100% вина разрабов и упора в "реалистичность". Реально реалистичная 4к картинка везде будет примерно одинаково реалистична. Тут уже вопрос проработки мира, текстур и вот этого всего. Теми же текстурами и шейдерами можно вообще любой визуал сделать, хоть хоррор с PS1-like видом.

Напомню, что даже довольно реалистичный на высоких настройках Тарков - сделан не на UE)

- Моя 1070Ti не может дать 144Fps на 4к мониторе

Тут вообще идите нахуй)

Да, например к DLSS у меня тоже есть вопросы. Технология все равно однажды прокачается так, что обыграет нативку по всем фронтам.
И да, лагинпут происходит, так как GPU то кадры рисует на 200Fps, а вот CPU в этот момент пыхтит как паравоз и дает 30Fps, а клавиши ваши регистрирует именно он. Фиксится разгрузкой CPU опять же разрабами. Но это буквально убирание одного из "боттлнеков" разработки. Одного из двух.
Еще для CPU бы такое придумать и вообще все кайфовали бы.

И, во-первых, для большинства несоревновательных игр 144Fps это скорее излишество, пусть и приятное. 60Fps для приключенческих игр дает буквально в 2 раза больше возможностей разрабу на наполнение мира NPC, AI и прочими CPU вещами. А для RTS я вообще не до конца понимаю, куда там убер-фпс высокий такой. Но если есть - я только за, просто не считаю, что это необходимость.
60Fps - отличная цель для большинства игр

А во-вторых, не тянет игра на высоких настройках на 4к мониторе на железе 10-летней давности? Так оно и не должно! По статистике стима, подавляющее число игроков давно на RT видеокартах. Да, мне жаль, если нет денег на видяху новую. Они как крыло от боинга могут стоить, сам еле на 4070Ti перешел, кучу лет просидев на 1070Ti.
Но это эволюция хардвары. Не успеваете - придется играть на средних в FullHD без рейтрейса. Никто не будет ради 5% рынка откатывать технологии и отказываться от RT, DLSS, Nanite, Lumen и прочих классных вещей.

Заключение

Сразу вкину. Я ни в коем случае не оправдываю ленивых разрабов!
Наоборот, именно они привели к тому, что движок получил сомнительную славу.
Но открытые движки это благо. Я бы даже не подумал создавать игру, если бы не они. Как минимум не такую.
И стоимость разработки они снижают порядочно, иначе игры бы уже поголовно в 100$ уперлись из-за плохого менеджмента в самих компаниях, ведь кто-то же компенсировать должен.

ЛюбИте свои игры, тех, кто их делает нормально, и тех, кто позволяет создавать их легче и лучше :)

P.S. А если дочитали, очень рекомендую, особенно любителям MaB, залететь таки глянуть мою игру Mainland. А в вишлист закинете - я вообще в восторге буду :)
Закрытые тесты я уже устраивал, следующее на очереди - демо в конце февраля. Там фестиваль в Стиме
И да, УЖЕ с кооперативом!

106
25
5
4
1
2
1
111 комментарий

https://youtu.be/0NoVLnvbUhU
дрюз недавно неплохой видос накатал

13
11
1
1

Пошел нахуй этот помидор

30
2

видео хрень, да еще тупо повторяет слова мутного чела из Threat Interactive
https://youtu.be/9ggOOFRAy9Q

15

Видос реально хуйня, там надергано по верхам абсолютно без понимания как работает графика, тот же нанит.

5

Против UE не имею ничего абсолютно, но пост - херня. Ты точно разработчик? Почему про движок написана только хвальба? Я видел посты от реальных разработчиков - у них всегда были те или иные претензии к движку. А тут в минусах: "движок слишком для этого мира".

16

Минусы тоже описаны, которые не совсем технические.
А движок, как и Юнити, как и Годот - несет хорошего в разы больше, чем плохого

7
7

*слишком хорош для этого мира

3