Как стать автором
Обновить
2786.63
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Зеркала в Duke Nukem 3D

Время на прочтение2 мин
Количество просмотров48K
image

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

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

image

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

image


В бета версии были и мужские и женские туалеты.

image


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

image


В зеркале отображаются монстры.

image


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

image


Но самое интересное начинается, если вы введёте читкод на прохождение сквозь стены… и пройдёте сквозь зеркало.

Движок устроен так, что по ту сторону зеркала генерируется такая же комната и немного «магии», чтобы спрайты работали.

image


В зазеркалье, как и в реальной комнате есть телефонный номер на стене, но он «вывернутый».

В игре есть бомбы с дистанционным взрывателем. Что если…

image


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

image


Мда.

image


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

image


Если вы уйдете в зазеркалье далеко, то вы умрёте, даже с кодом на бессмертие.

image


Вот так выглядит редактор уровней. Красная линия сверху — зеркало.

image


Если войти в «предпросмотр», то увидим заполнение буковками «S». Спецэффект под названием Sector Effector.

Вопрос: разработчик ручками должен прорисовать «зазеркалье» или движок автоматически копирует «реальность»?

Копирует.

image


Но при этом центр карты уполз. Почему?

image


Если вы уменьшите масштаб, вы увидите огромную комнату.

image


Если мы в неё войдём, оглянувшись, мы увидим туалет.

image


Но это большая пустая комната.

Движок копирует реальность, но в момент загрузки уровня. Он находит все зеркала и копирует «отражение» в зарезервированную область.

Если вы выходите за пределы этой комнаты в зазеркалье, вы умираете.

image


А если специально уменьшить эту «комнату»? Что произойдет?

Ответ
image


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

image


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

image


Мы видим, так же что и смерть с кодом на бессмертие также наступает при пересечении границы уменьшенной комнаты.



Прилетел RUVDS и оставил этот баннер здесь:

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Сколько часов вы играли в Duke Nukem 3D (в одиночку и по сети)
16.84% не больше 1 часа191
33.77% больше 10 часов383
49.38% больше 100 часов560
Проголосовали 1134 пользователя. Воздержался 241 пользователь.
Теги:
Хабы:
Всего голосов 104: ↑97 и ↓7+132
Комментарии147

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds