Вышедший недавно ремастер The Elder Scrolls IV: Oblivion вновь поднял дискуссию о том, где проходит граница между ремастером и ремейком. Принято считать, что ремастер — это улучшение существующей игры с сохранением её сути, в то время как ремейк подразумевает перенос на другой движок. Однако новинка для Oblivion, работающая на Unreal Engine 5, официально является ремастером. Это стало возможным благодаря технологии, известной как Engine Wrapper.
Дословно «Engine Wrapper» переводится как «обертка для движка», что довольно точно отражает его назначение. По сути, такие ремастеры используют оригинальный код и движок игры, который «встраивается» в новый движок. Новый движок-обертка перехватывает и обрабатывает определенные вызовы оригинальной программы. В более широком смысле, Wrapper в программном обеспечении — это прослойка, позволяющая запускать код в среде, для которой он изначально не был написан. Примером может служить эмуляция, позволяющая запускать игры 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, движок KEX «перехватывает» части исполнения программы и позволяет заменять их на свои. Это дает возможность с легкостью улучшать графику, менять модели, увеличивать частоту кадров и разрешение, а также адаптировать старый код под многопоточность. Кроме того, это значительно упрощает портирование: та же Turok, бывшая эксклюзивом Nintendo 64, теперь доступна на ПК и множестве консолей.
Еще один пример — переиздание Halo 2: Anniversary. В его основе лежит оригинальная игра 2001 года с движком Blam!, который отвечает за логику, триггеры и коллизии. Поверх него «наложен» урезанный рендер от Halo Reach, который обрабатывает данные оригинала для создания новой картинки. Это возможно, потому что игра 2001 года крайне нетребовательна и ее движок может работать практически в фоновом режиме. Отсюда и возможность мгновенного переключения на оригинальную графику: обновленный рендер просто отключается, а старый, работавший на фоне, выводится на передний план.
Более громким примером (хотя и не самым успешным) можно считать GTA: The Trilogy — The Definitive Edition 2021 года. Эти игры работают на оригинальном RenderWare, но для рендеринга используется Unreal Engine 4. Такой подход позволил внести изменения в графику (улучшенные текстуры, модели, погода, освещение), не меняя при этом основную логику игры, такую как физика транспорта, поведение ИИ и анимации. Несмотря на спорное качество реализации, это показательный пример возможностей Engine Wrapper.
С Oblivion происходит аналогичная ситуация: под «капотом» новинки остается всё тот же Gamebryo с оригинальными файлами, поверх которого «натянута» оболочка Unreal Engine 5. Энтузиасты быстро обнаружили, что в файлах игры есть полный оригинал, и даже старые инструменты для моддинга 2006 года могут с ним работать. Однако прямое вмешательство на базовом уровне может вызывать ошибки из-за специфики реализации Engine Wrapper. Именно поэтому портирование существующих модов пока затруднено, но, возможно, это лишь вопрос времени.







