Выход ремастера The Elder Scrolls IV: Oblivion вновь вызвал дискуссию о том, где проходит граница между ремастером и ремейком. Обычно считается, что если игру слегка улучшили без изменения сути — это ремастер, а если перенесли на другой движок — ремейк. Однако новинка работает на Unreal Engine 5, при этом оставаясь ремастером, а не полноценным ремейком. Причина в том, что речь не идет о глобальных изменениях. Скорее, используется подход создания «оболочки», известной как Engine Wrapper. Давайте простыми словами расскажем, что это за технология и в чем заключается ее принцип работы.
Дословный перевод термина Engine Wrapper — «обертка для движка», и он довольно точно описывает суть. Подобные ремастеры в своей основе используют оригинальный игровой код и даже оригинальный движок. Новый движок как бы «встраивается» поверх старого и способен перехватывать определенные части его работы. В широком смысле, Wrapper применительно к программному обеспечению позволяет запускать код в среде (на железе или софте), для которой он изначально не был предназначен. Простейшим примером может служить эмуляция, когда специальное ПО под Windows запускает игры для PlayStation, минуя оригинальное оборудование. Отличие в том, что эмуляция имитирует железо, тогда как Wrapper обычно работает на программном уровне.
Ранними примерами «оборачивания» старых игр можно считать различные source-порты классических шутеров. Например, GZDoom для DOOM: формально это уже другой движок, но для его работы необходимы оригинальные файлы игры. Более близкий к современному подходу пример — официальный порт DOOM от Bethesda, выполненный на движке Unity. Здесь используется уже существующий универсальный движок, а не написанный специально.
Пожалуй, самым известным современным примером движка, предназначенного для «оборачивания», является KEX Engine, разработанный Nightdive Studios. На нем выпущено множество переизданий классических игр: чаще всего это шутеры вроде Turok, Blood, Quake или Killing Time, но есть и исключения — адвенчуры Shadow Man и Blade Runner, или хоррор The Thing. Все эти игры в оригинале использовали разные движки, что не помешало им работать на KEX Engine.
В глобальном понимании, KEX — это мощная надстройка, работающая на высоком уровне абстракции. Она позволяет запускать оригинальный код игры практически без изменений, но за счет поддержки множества современных библиотек и API, движок «перехватывает» вызовы к устаревшим системам и перенаправляет их на современные. Это дает возможность легко улучшать качество графики, заменять модели, увеличивать частоту кадров и разрешение, добавлять поддержку многопоточности. Плюс значительно упрощается портирование: игра, бывшая когда-то эксклюзивом Nintendo 64, теперь доступна на ПК, PlayStation, Switch и многих других платформах.
Еще один схожий пример — переиздание Halo 2: Anniversary. В основе лежит оригинальная игра 2004 года с ее движком Blam!, отвечающим за внутреннюю логику, скрипты и физику. Поверх «прикручен» урезанный графический движок от Halo Reach, который берет информацию из оригинальной игры и обрабатывает ее с современной графикой. Это возможно во многом потому, что оригинальная игра по современным меркам крайне нетребовательна, позволяя ее движку работать практически в фоновом режиме. Отсюда, к слову, и возможность мгновенного переключения между старой и новой графикой по нажатию кнопки: обновленный рендер просто перестает отображаться, а старый, который всё это время работал параллельно, выходит на передний план.
Более громким примером последних лет можно назвать GTA: The Trilogy — The Definitive Edition (2021 года). Игра работает на оригинальном движке RenderWare, но использует Unreal Engine 4 для рендеринга графики. Это позволило внести значительные изменения в визуальную часть, не затрагивая основную логику игры: физику транспорта, искусственный интеллект пешеходов и врагов, а также большую часть анимаций. В то же время были улучшены текстуры, заменены модели, переработаны погодные эффекты, освещение и растительность. Хотя результат и вышел спорным по качеству, сам по себе пример показателен в демонстрации возможностей Engine Wrapper для внесения масштабных графических улучшений.
В случае с ремастером Oblivion происходит аналогичная ситуация: под «капотом» новинки остается всё тот же оригинальный движок Gamebryo со всеми его файлами, а поверх него работает Unreal Engine 5. Энтузиасты вскоре после выхода обнаружили в файлах полный оригинал игры. Хотя это и дает некоторую надежду на использование старых инструментов для моддинга 2006 года, прямое портирование существующих модов пока затруднено из-за специфики работы Engine Wrapper в данной конкретной реализации. Впрочем, возможно, это лишь вопрос времени и изучения.