- PVSM.RU - https://www.pvsm.ru -
Году эдак в 1998, я раздобыл редактор уровней для Duke Nukem 3D, и первым делом я создал собствнный уровень, где поставил два зеркала друг напротив друга, зеркальный коридор. Загрузился в эту карту, вошел между зеркалами и игра зависла.
Недавно энтузиаст [1] решил проверить все свойства зеркал в Duke Nukem 3D. Нашел много забавного и интересного.
На первом уровне есть туалет. Один. Значит общий для мальчиков и девочек. С огромным проёмом без двери и с писсуарами. Хм… И с диваном.
В бета версии были и мужские и женские туалеты [2].
Возможно, главная причина существование туалета — это зеркало. Чтобы продемонстрировать крутость движка. Настолько крутой, что может даже зеркало.
В зеркале отображаются монстры.
По зеркалам можно стрелять, на них остаются следы от пуль, но они сломаются от взрыва или если в них просто кинуть гранату.
Но самое интересное начинается, если вы введёте читкод на прохождение сквозь стены… и пройдёте сквозь зеркало.
Движок устроен так, что по ту сторону зеркала генерируется такая же комната и немного «магии», чтобы спрайты работали.
В зазеркалье, как и в реальной комнате есть телефонный номер на стене, но он «вывернутый».
В игре есть бомбы с дистанционным взрывателем. Что если…
… войти в зазеркалье, оставив бомбу снаружи и её взорвать?
Мда.
Игра не отображает на карте область зазеркалья.
Если вы уйдете в зазеркалье далеко, то вы умрёте, даже с кодом на бессмертие.
Вот так выглядит редактор уровней. Красная линия сверху — зеркало.
Если войти в «предпросмотр», то увидим заполнение буковками «S». Спецэффект под названием Sector Effector.
Вопрос: разработчик ручками должен прорисовать «зазеркалье» или движок автоматически копирует «реальность»?
Копирует.
Но при этом центр карты уполз. Почему?
Если вы уменьшите масштаб, вы увидите огромную комнату.
Если мы в неё войдём, оглянувшись, мы увидим туалет.
Но это большая пустая комната.
Движок копирует реальность, но в момент загрузки уровня. Он находит все зеркала и копирует «отражение» в зарезервированную область.
Если вы выходите за пределы этой комнаты в зазеркалье, вы умираете.
А если специально уменьшить эту «комнату»? Что произойдет?
Издалека зеркало не будет работать. Оно будет работать только для тех участков, которые поместились в уменьшенную комнату.
Вблизи — работет. Отдаляемся — не работает.
Мы видим, так же что и смерть с кодом на бессмертие также наступает при пересечении границы уменьшенной комнаты.
Автор: Алексей JetHackers Стаценко
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/rabota-s-3d-grafikoj/362638
Ссылки в тексте:
[1] Недавно энтузиаст: https://twitter.com/Foone/status/1372766463556083715
[2] бета версии были и мужские и женские туалеты: https://duke3dmaps.tumblr.com/post/646006098449580032/fresh-november-1995-screenshots-of-hollywood
[3] Источник: https://habr.com/ru/post/548152/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548152
Нажмите здесь для печати.