←Назад

Unreal Engine

В последнее время движок Unreal Engine стал ассоциироваться у геймеров с низким качеством технической реализацией игры. Фризы, статтеры, в целом - неудовлетворительное качество технической реализации, ведущее к некомфортному игровому процессу. Как же так получилось, что один из старейших игровых движков, передовой, первым внедрявшим технологии... вдруг оказался антиподом качества? Эта тема волнует многих геймеров уже долгое время, поэтому в данном тексте я решил попытаться расставить все точки над И.

Начнём с ответа на вопрос: что же вообще такое игровой движок, или технологическая база, как я его люблю называть. Любая компьютерная игра есть техническая реализация видения геймдизайнера. В игре должны быть такой-то, такой-то, такой-то объект, должны они делать то-то, то-то, то-то, на экране это должно выглядеть так-то, так-то, так-то. За всё это отвечает технологическая база игры, которую создают программисты.

Средний игровой движок 2025 года - это одно из сложнейших технических изделий в истории человечества. Это десятилетия интеллектуального труда, миллионы человекочасов, потраченные на решение сложнейших проблем в сфере математики и геометрии... Но помимо графической части есть ещё сетевой код, физика, и многое другое. Естественно, ни одна игровая студия, находящаяся в здравом уме, берущаяся создать новую игру в 2025 году, не будет переизобретать с нуля весь прогресс компьютерной графики, начиная с 1970-ых годов - гораздо разумнее прибегнуть к готовому решению.

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

Когда технологии были простыми, в конце 90-ых - начале 2000-ых, можно было создать свой движок, что и делали многие студии. Сейчас за лидером угнаться уже невозможно.

Корень проблем движка Unreal лежит в четвёртой версии. Именно начиная с неё было принято стратегическое решение: совместить отрисовку в реальном времени, которая обычно используется в компьютерных играх, с предварительной отрисовкой, обычно использующейся для создания CGI-эффектов в фильмах, с целью охватить более широкий рынок. Два совершенно разных подхода. За двумя зайцами погонишься - ни одного не поймаешь.

К пятой версии движок превратился в сверхсложную и сверхзапутанную структуру с сотнями миллионов строчек кода. Даже топ-менеджмент компании Epic Games не сможет чётко разъяснить всю структуру движка. Unreal Engine 5 превратился в Голема, люди утратили над ним контроль, он живёт своей жизнью.

Garbage Collector - одно из ярчайших свидетельств катастрофической культуры разработки Unreal Engine. Это что-то типа подпрограммы в движке, которая каждые 10 минут сканирует утечки памяти и устраняет их. А написать код без утечек невозможно - как это сделать, когда над кодом работают тысяча лиц по всему миру в дистанционном режиме? Один из них напортачил - и всё. И сколько таких случаев, и как всё это проконтроллировать? В свою очередь, если в этом Garbage Collector'e будут свои ошибки - для него нужен будет второй Garbage Collector, который будет исправлять ошибки первого... Вот до какого дурдома мы докатились.

Каков масштаб трагедии? Возьмём демку "Матрица" (The Matrix Awakens, если быть точным). Я её запускал на своём компьютере. Если присмотреться к картинке - всё мигает, мерцает, по всему экрану какие-то непонятные мельтешения. Ощущение, будто картинка буквально трещит по швам. При этом уровень графики недалеко ушёл от 2015 года, обязательно требуется SSD, иначе - фризы.

На Youtube-канале Epic Games неиронично выходят видео под заголовком Unreal Engine 5: Road to 60 FPS". Приплыли, называется. Что дальше? Road to DirectX 6? Road to VGA?

Любая, абсолютно любая игра на Unreal Engine 4 и 5 - тормознутое Г. Особенно на 5. Никогда, никогда не было такого, чтобы новая игра на UE4 и 5 выходила, и с релиза в ней не было технических проблем. Это уже аксиома. Выходит игра на Unreal Engine - она по определению будет тормозить, глючить и лагать, жрать ресурсы, как не в себя.

Unreal Engine наличием таких технологий, как Nanite, пропагандирует безответственную и безалаберную культуру разработки. По принципу "нажал одну кнопочку - все ассеты оптимизировались". Раньше нужно было вручную оптимизировать LOD-ы. То есть имеем классическое понижение порога вхождения, что не всегда хорошо. Серьёзный инструмент требует серьёзной ответственности. Сюда же - фотореалистичные ассеты, которые разрабы стали пихать везде подряд без оптимизации, убивая тем самым производительность. Не улучшает ситуацию и тот факт, что одним из популярных способов учиться разработке на UE5 стал не системно, по каким-то руководствам, курсам, а по... роликам с Youtube.

Ещё одна частая претензия от игроков к UE5 - что все игры стали выглядеть, как под копирку, уже не осталось оригинальных художественных стилей. И проблема здесь даже не столько в движке, сколько в культуре разработке, которую он навязывает. Игры на UE5 клепаются, как массовый, дешёвый конвейерный продукт. Игры былых лет, на движках 1990-ых творились, как неповторимые произведения искусства.

Очередная проблема, которая появилась в четвёртой версии - движок теперь может скачать кто угодно и сделать на нём что угодно, даже выпустить игру. Если раньше студия, которой нужен движок, должна была заключать с Epic Games контракт, по-серьёзному и на бумаге, теперь имеем кучу бездарей, которые скачивают движок совершенно бесплатно и без обязательств с сайта, клепают массово на нём какие-то непотребства, и выпускают их в публику, тем самым пороча торговую марку движка. Почему же тогда UE всё еще держится на плаву с такой низкой репутацией? Ответ: у него просто нету аналогов. Монополия.

Уже появляться стали Youtube-каналы типа Threat Interactive, критика Unreal Engine 5 стала популярным общественным мнением.

Именно с 4 версии движка начались все проблемы. Я не технический эксперт, но основываясь на своём игровом опыте склоняюсь к мнению, что последняя хорошая версия движка - это третья. Приятный глобал иллюминейшн, все игры на нём красивые и нетребовательные. Лучше модель распространения, когда для его получения студия должна заключать полноценный, серьёзный договор.

Так почему же тогда нельзя просто перейти на Unreal Engine 3 или на какой-нибудь другой движок из 2000-ых, более простой, с более простой графикой? Вся проблема в том, что начиная с 2000-ых геймерам настолько сильно в голову вбивалась важность графики в компьютерных играх, что если в игре графика отстаёт хотя бы на пару лет, то она коммерчески обречена. Графика - это святое и неприкосновенное. Обязательно в игре должны быть самые последние графические финтифлюшки, иначе - смерть (контраргумент: инди-игры достигают успеха без крутой графики, но попробуйте это донести до тупорылых менеджеров).

Вторая проблема - Unreal Engine 3 сейчас попросту уже не лицензируется, как и четвёртая версия, которая считается "устаревшей". Многочисленные успешные игровые движки из 2000-ых являются проприетарными, права на них принадлежат непойми кому и они сейчас также никому не лицензируются. Если говорить про открытые, доступные движки общего назначения, всё сводится к трём вариантам - Godot, Unity, Unreal, из которых последний лидирует с большим отрывом. Дьявол кроется в мелочах: те вещи, которые в Unreal отлажены и работают десятилетиями, Godot внедряет только сейчас. Говоря простым языком: Unreal построил обыкновенную монополию.

Третья - разработчики игр сейчас - это не разработчики игр 30 лет назад. Мастера на все руки сменились сверхузкоспециализированными специалистами, работающими исключительно в своей нише и даже не смеющими выйти за неё. Если хочешь создать игру, тебе нужны специалисты, а работают они только под UE5, поскольку это стандарт в индустрии, другого выбора нету. Вот таким вот образом всё на него завязано, и никуда от него не деться.

Мало того, даже студии с уже существующими собственными движками стали от них отказываться в пользу UE5. CD Projekt Red - у них был свой движок RED Engine, который был способен выводить топовую графику, и даже поддерживал трассировку лучей, DirectX 12. Недавно, анонсировав разработку игры Ведьмак 4 - его выкинули на свалку целиком (при том, что он разрабатывался с 2007 года), заменив на Unreal Engine 5. Mafia: Old Country - та же история. У Hangar 13 был свой движок, успешно использовавшийся в Mafia 3 2016 года и Definitive Edition 2020-го. Передовой движок с поддержкой DirectX 12. Выбросили, перешли на UE5.

Вердикт - вот к чему привела вся эта безумная, умалишённая погоня за самыми последними графическими эффектами, продолжающаяся больше двадцати лет. Нужно прекратитть всю эту бессмысленную технологическую мастурбацию и вернуться к простым и понятным технологиям. Вся эта ситуация с Unreal обнажила ещё одну глубокую проблему игровой индустрии: элементарное отсутствие единых, доступных инструментов для создания игр.