Зеркала в Duke Nukem 3D
Году эдак в 1998, я раздобыл редактор уровней для Duke Nukem 3D, и первым делом я создал собкствнный уровень, где поставил два зеркала друг напротив друга, зеркальный коридор. Загрузился в эту карту, вошел между зеркалами и игра зависла.
Недавно энтузиаст решил проверить все свойства зеркал в Duke Nukem 3D. Нашел много забавного и интересного.

На первом уровне есть туалет. Один. Значит общий для мальчиков и девочек. С огромным проёмом без двери и с писсуарами. Хм… И с диваном.

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

По зеркалам можно стрелять, на них остаются слуды от пуль, но они сломаются от взрыва или если в них просто кинуть гранату.

Но самое интересное начинается, если вы введёте читкод на прохождение сквозь стены… и пройдёте сквозь зеркало.
Движок устроен так, что по ту сторону зеркала генерируется такая же комната и немного «магии», чтобы спрайты работали.
В зазеркалье, как и в реальной комнате есть телефонный номер на стене, но он «вывернутый».
В игре есть бомбы с дистанционным взрывателем. Что если…

… войти в зазеркалье, оставив бомбу снаружи и её взорвать?

Мда.
Игра не отображает на карте область зазеркалья.

Если вы уйдете в зазеркалье далеко, то вы умрёте, даже с кодом на бессмертие.
Вот так выглядит редактор уровней. Красная линия сверху — зеркало.
Если войти в «предпросмотр», то увидим заполнени буковками «S». Спеуэффект под названием Sector Effector.
Вопрос: разработчик ручками должен прорисовать «зазеркалье» или движок автоматически копирет «реальность»?
Копирует.
Но при этом центр карты уполз. Почему?
Если вы уменьшите масштаб, вы увидите огромноую комнату.
Если мы в неё войдём, оглянувшись, мы увидим туалет.
Но это большая пустая комната.
Движок копирует реальность, но в момент загрузки уровня. Он находит все зеркала и копирует «отражение» в зарезервированную область.
Если вы выходите за перделы этой комнаты в зазеркалье, вы умираете.
А если специально уменьшить эту «комнату»? Что произойдет?

Издалека зеркало не будет работать. Оно будет работать только для тех участков, которые поместились в уменьшенную комнату.

Вблизи — работет. Отдаляемся — не работает.

Мы видим, так же что и смерть с кодом на бессмертие также наступает при пересечении границы уменьшенной комнаты.
Попытка создать руководство по Стандартной модели для начинающих
Что скрывается за вывеской Gibson Les Paul Custom?
Как «эффективное управление» оборачивается катастрофами: часть 1
История письма. Часть 16: Германские руны — наследие суровой эпохи
Клодизмы. Часть 2. Зачем нужен тезис и как получить от нейросети ясный текст
Зачем учёным использовать большие языковые модели
Клодизмы. Часть 1: классификация ошибок языковой модели в связном тексте
Выведение масс кварков и лептонов: развитие подхода Койде