June 17, 2021

КАК ЗЕРКАЛО ИЗ DUKE NUKEM 3D УСТРОЕНО НА САМОМ ДЕЛЕ — ТЕХНИЧЕСКАЯ СТОРОНА «ЗАЗЕРКАЛЬЯ»

Комната-обманка — это ещё не главное.

Зеркало в Duke Nukem 3D — практически хрестоматийный пример того, как в играх работают отражения. Вместо того, чтобы физически симулировать отражающую поверхность (что очень ресурсозатратно даже для 2021 года), разработчики просто воссоздали отдельную комнату по ту сторону зеркала. А отражения врагов и самого Дюка Нюкема — это всего лишь копии оригинальных спрайтов, которые дублировали их положение.

Для эры первых трёхмерных игр этот приём очень даже эффективен — ведь он практически не нагружает память. Но со временем от него отказались в пользу плоских отражений, зеркальных кубов и прочих технологий.

Пользователь Твиттера foone решил разобраться в технической стороне работы зеркала в Duke Nukem 3D и сделал несколько интересных открытий. Так, например, в зеркало можно пройти, если использовать чит-код noclip.

Комната по ту сторону зеркала — отражённая, и потому даже номер телефона на стене теперь написан справа налево.

В Duke Nukem 3D зеркало можно уничтожить при помощи бомб. В связи с этим возник вопрос — что произойдёт, если подорвать его в тот момент, когда игрок находится в «зазеркалье»?

Без чит-кодов подрыв зеркала выглядит так — ничего необычного.

Но по ту сторону начинается чертовщина.

«Зазеркалье» можно поисследовать, но если отойти слишком далеко, игрок умрёт — даже с включенным God Mode.

Через редактор уровня foone выяснил, почему так происходит. На том месте, где должна находиться отражённая комната, он обнаружил огромное пустое пространство, которое выглядит как-то так.

В итоге оказалось, что на самом деле отражения работают следующим образом: вместо того, чтобы прорабатывать отзеркаленные комнаты вручную, движок игры самостоятельно их копирует и отражает на этапе подгрузки уровня.

А умирал foone потому, что уходил за пределы этой большой комнаты и по сути вылезал за границы уровня.

Artyom Kaleev, Шеф-редактор XYZ Media