Выход недавнего ремастера 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 в данном конкретном случае. В том числе поэтому нельзя просто так портировать существующие моды, хотя, возможно, это тоже вопрос времени.








