[Перевод] Ностальгия по Night Light (1995)
![[Перевод] Ностальгия по Night Light (1995) [Перевод] Ностальгия по Night Light (1995)](https://habrastorage.org/webt/fq/cz/1c/fqcz1ch-znux17pxuojhvrsontk.png)
Многие из нас с восторгом вспоминают те или иные игры детства, и в данном случае речь пойдет о ностальгических воспоминаниях об игре Night Light 1995 года, которые натолкнули автора на воссоздание одного из основных элементов ее геймплея — фонарика.
Предыстория
В свои юные годы я играл в компьютерную игру Night Light, выпущенную GTE Entertainment. Ее геймплей строится вокруг кошки Pandora и собаки Pixel, которые в темноте исследуют дом после того, как все люди отправились по своим ночным делам.
Эта игра засела в моей памяти так, как это может произойти только с играми детства. Меня очень привлекла механика использования мыши в качестве фонарика, хотя я не знаю, стало ли это причиной или же следствием интереса к игре.
В течение последних лет я время от времени вспоминал о ней и пытался найти ее в сети, но успехом эти поиски не увенчались. Наконец, в 2018 году YouTube-блогер Vulnerose Plays записал ее прохождение и выложил в архив интернета образ ISO. Кстати, большинство комментаторов под видео тоже оказались людьми, пытавшимися отыскать эту игру.
На момент написания я еще не успел в нее поиграть, так как для этого необходимо эмулировать старую версию Windows, чем я пока не озадачивался. Однако недавно у меня возникло вдохновение воссоздать ее базовую механику на JavaScript с помощью Canvas, и вот мы здесь.
Извлечение ресурсов
Думаю, некоторым читателям будет интересно узнать, как я заполучил картинки из игры без ее запуска.
Для открытия и просмотра содержимого файла .iso я использовал 7-zip. Иногда выяснялось, что ресурсы вложены в сам .exe, что привносило дополнительные трудности. Тем не менее большая часть ресурсов любезно хранится в каталогах в виде отдельных файлов. Было нетрудно отыскать LIGHT.BMP и DARK.BMP для каждого уровня.

Размер этих картинок 512х344, и в каждой из них жестко закодирована тень под HUD. Но что это за файлы .mov размером с мегабайт?
Эти видео-файлы содержат по 80 фреймов, каждый из которых является фрагментом одного общего изображения. С помощью ffmpeg я разобрал эти видео-фреймы, использовав команду ffmpeg -i DARK.MOV %03d.png.

Первые 16 фреймов можно объединить в сетку 4х4, получив изображение 1024х768. А последние 64 кадра собираются в сетку 8х8, формируя картинку 2048х1376. Весьма впечатляет видеть эти уровни в столь высоком разрешении, спустя так много лет.
Из каждого каталога я удалил фреймы с 01 по 16, затем обновил свой stitch.py на получение аргумента --grid и объединил все оставшиеся 64 картинки для каждого уровня.

Кроме того, я извлек аудио-подсказки и преобразовал их во FLAC. К сожалению, многие исходные файлы оказались повреждены – избыток нулевых байтов не позволял их декодировать.

Я даже специально написал для этой задачи ffdecodetest.py. Уровни заднего двора и гостиной оказались самыми поврежденными, и в них тест прошли только три и одна дорожки соответственно. Если у вас по какому-то особому везению есть копия CD этой игры, то вы могли бы сделать с нее новый рип.
Затем мне оставалось лишь скопировать код для canvas, который я написал в прошлый раз, и «пролить на все немного света».
Включаем свет в ночи
Прим. пер.: описанные ниже инструкции по взаимодействию с воссозданной «игрой» работают только в оригинале статьи.
Дважды кликните по каждой картинке для перехода в полноэкранный режим. Уточню, что я не воссоздавал какие-либо реальные загадки из геймплея, только саму механику фонарика.
Ваш браузер может не воспроизводить аудио-подсказки, пока вы не кликните на что-либо в документе. Так что сейчас самое время, как насчет этого:
Реальные интерактивные изображения доступны в оригинале статьи
Остальные картинки
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Отсутствующие файлы меню
Я рад, что картинки уровней было легко извлечь, так как они являлись самой важной частью. Но мне бы, конечно, хотелось также добыть изображения из главного меню и фото разработчиков из титров.
Я просмотрел все файлы через 7z в надежде отыскать .bmp или «плиточный» .mov с изображением меню, но нигде их не вижу. Удивительно. Самое близкое, что мне удалось найти – это MMCHOICE.MOV, где Pixel и Pandora обсуждают выбор уровня.
В игре есть несколько подобных оверлеев также для каждого уровня, значит данный файл в этом смысле не уникален. Здесь возникает соблазнительная мысль, что mmchoice.mov мог бы содержать всю графику меню, если бы только можно было как-то уменьшить масштаб и обнаружить остальные пиксели, скрывающиеся за фреймом. Но все же я не думаю, что это так. Фоновый арт должен, как и уровни, находиться в отдельном файле.
Возможно, я просто что-то упустил, или эти изображения вложены в другое место. Файл NIGHTMPC.EXE весит целых 7.7МБ, то есть в нем вполне могли поместиться кое-какие секреты. Я просмотрел этот бинарник в поиске любых заголовков BMP или MOV… безуспешно.
Мне кажется, что игра должна работать как в Windows, так и на Mac: многие ее ресурсы представлены в дублированном виде (BMP/PIC, WAV/AIF), но среди исполняемых файлов я нахожу только .exe. Может быть есть еще какие-то, которые я не вижу? Или же некоторых файлов просто не хватает, а с ними и графики меню?
Если вам удастся в этом разобраться, прошу отписать в комментариях.
В процессе я также нашел эти маски изображений, которые помогают понять, как в игре было реализовано обнаружение кликов. Я нахожу это решение довольно грамотным.
![]()
![]()
Заключение
Здесь будет кстати упомянуть блогера Тома Скотта и его ролик о Need for Speed, в котором он отправился с ностальгическим визитом в реальное место, на основе которого был разработан один из уровней этой игры.
В конце ролика он говорит следующее:
Все, что мы создаем, будь то для широкой аудитории или же чисто для близких друзей, без сомнений может быть забыто. Но создаваемые нами вещи также могут глубоко залечь в закрома памяти отдельных людей и оказать на них влияние в дальнейшей жизни. Так что создавайте приятные вещи. Старайтесь дать людям то, о чем они будут ностальгигровать. Никогда не знаешь, какие впечатления ты можешь заложить в будущее.
Своеобразная благодарность всем разработчикам:
Comments - Cackle

Инвесторы NVIDIA требуют ответа от Дженсена Хуанга на фоне разрастающегося скандала
«Моей бабушке бы не понравилось»: подход нового главы DC Studios к супергеройскому кино встревожил фанатов
«30 FPS — вполне нормально»: почему фанаты и эксперты защищают Rockstar из-за частоты кадров в GTA 6
В Cyberpunk 2 вернется Найт-Сити и появится второй мегаполис
Бывший глава PlayStation назвал таких авторов, как Кодзима, главной силой игровой индустрии
Nintendo ищет цифрового архивариуса для сохранения исторических материалов будущим поколениям
Nintendo закрыла главную лазейку, усложнив взлом Switch 2
Стали известны продажи ARC Raiders, которая продолжает набирать популярность спустя год после релиза