Oblivion использует сразу два движка: что такое Engine Wrapper и как он работает

Все новости

Выход недавнего ремастера The Elder Scrolls IV: Oblivion вновь вызвал споры о том, где проходит граница между ремастером и ремейком. Казалось бы, все просто: если оригинальную игру слегка улучшили, не меняя ее сути, то это ремастер, а если полностью перенесли на другой движок — то ремейк. Однако новая версия Oblivion работает на Unreal Engine 5, но при этом все равно позиционируется как ремастер. Все дело в том, что речь действительно не идет о кардинальных изменениях — скорее, о создании особой «оболочки», которую принято называть Engine Wrapper. Попробуем простыми словами объяснить, что это за технология и как она функционирует.

Дословно Engine Wrapper можно перевести примерно как «обертка для движка», что довольно точно отражает его суть. В основе подобных ремастеров используется оригинальный код и оригинальный движок, который «встраивается» в новый и позволяет перехватывать определенные его части. В глобальном понимании Wrapper применительно к программному обеспечению обычно означает, что дополнительная программа дает возможность запускать код на аппаратном обеспечении и/или в среде, для которой он изначально не предназначен. Самым простым и понятным примером здесь можно считать эмуляцию: например, специально написанное ПО под Windows позволяет запускать игры для PlayStation, минуя оригинальное «железо». Правда, эмуляция позволяет ПК «притворяться» другим оборудованием, в то время как Wrapper чаще работает на программном уровне.

Одним из ранних примеров подобной «обертки» для старых игр можно считать различные source-порты классических шутеров. Речь, например, о GZDoom: формально это уже другой движок, однако для работы ему необходимы оригинальные файлы игры. Более яркий пример — официальный порт DOOM от Bethesda, выполненный на Unity. Здесь уже используется существующий коммерческий движок, а не написанный специально для конкретной цели.

Пожалуй, самым известным современным движком для «оборачивания» игр можно считать KEX Engine, созданный студией Nightdive Studios. На нем вышло немало различных проектов: чаще всего это шутеры вроде Turok, Blood, Quake или Killing Time, но есть и интересные исключения вроде адвенчур Shadow Man и Blade Runner или хоррора The Thing. Все эти игры в оригинале использовали совершенно разные движки, что не мешает им функционировать на KEX Engine.

В глобальном смысле KEX — это масштабная надстройка, работающая на высоком уровне абстракции. Это позволяет запускать оригинальный код почти без прямого вмешательства. Благодаря поддержке множества внешних библиотек и API движок «перехватывает» части исполняемой программы и позволяет заменять их. Это дает возможность с легкостью улучшать качество картинки, менять модели на более современные, увеличивать частоту кадров и разрешение, а также адаптировать оригинальный код для многопоточности. Плюс не стоит забывать об упрощении портирования: та же Turok в свое время была эксклюзивом Nintendo 64, но теперь доступна на множестве платформ, включая ПК, PS4, Switch и другие.

Еще один подобный пример — переиздание Halo 2: Anniversary. В основе лежит оригинальная игра 2001 года, в том числе и ее движок Blam!, отвечающий за внутреннюю логику, триггеры и коллизии. Поверх «прикручен» урезанный рендер от Halo Reach, который берет информацию из оригинала и обрабатывает ее как собственную. Во многом это возможно потому, что игра 2001 года по современным меркам крайне нетребовательна, что позволяет обрабатывать ее практически в фоновом режиме. Отсюда же, к слову, и возможность мгновенно переключаться на оригинальную картинку через нажатие одной кнопки: обновленный рендер попросту перестает отображаться, а старый, который все это время работал на фоне, выходит на передний план.

Более громким примером можно смело считать GTA: The Trilogy — The Definitive Edition, вышедшую в 2021 году. Игра использует оригинальный движок RenderWare, однако для рендеринга задействует Unreal Engine 4. Это позволяет вносить изменения в графику, не затрагивая при этом базовую логику игры. Физическая модель, искусственный интеллект трафика, пешеходов и противников, а также большая часть анимаций перешли из оригинала. Вместе с этим присутствуют и правки вроде обновленного интерфейса, улучшенных текстур, замененных моделей, а также переработанных погодных эффектов, освещения и растительности. Результат, как известно, вышел не идеальным, но речь сейчас не столько о качестве конкретного продукта, сколько о принципиальной возможности внесения подобных изменений.

С Oblivion происходит аналогичная ситуация: «под капотом» у новой версии остается все тот же Gamebryo со всеми родными файлами, поверх которого «натянут» Unreal Engine 5. Энтузиасты спустя пару часов после выхода игры уже обнаружили, что в файлах хранится полный оригинал, который даже можно «править» официальными инструментами для моддинга образца 2006 года. Правда, попытки вмешательства на базовом уровне могут приводить к ошибкам из-за специфики работы Engine Wrapper в данном конкретном случае. В том числе поэтому нельзя просто так портировать существующие моды, хотя, возможно, это тоже вопрос времени.

Давид Светлов

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

Новости спорта