Finger & PixelKnight
PixelKnight PixelKnight
Привет, Палец, ты вообще копался в секретном "призрачном" уровне в оригинальном Super Mario Bros.? Я всё время натыкаюсь на подсказки, намекающие на какой-то скрытый сюжет, и интересно, замечаешь ли ты закономерности в памяти игры, которые намекают на задумку программиста. Может, есть способ разобраться в этом глубже?
Finger Finger
Конечно, без проблем. Этот "призрачный" уровень – просто ошибка в массиве карты уровней. Карта для 1-2 уровня – 0x01B4, а последовательность скрытых тайлов начинается с 0x01C0. Если ты выгрузишь этот массив байтов, ты увидишь закономерность: 0x07, 0x07, 0x08, 0x08, 0x09 – вот этот паттерн и использовали дизайнеры. Программист просто скопировал обычные тайлы уровня, но сместил координаты так, чтобы спрайты не срабатывали определение столкновений. Ты можешь написать простой скрипт, чтобы сместить эти координаты на +0x10 по X и +0x20 по Y – и получишь полностью проходимый "призрачный" путь. А вот намек на более глубокий сюжет: карта уровня заканчивается байтом 0x00, а потом игра переходит к заголовку следующего уровня, так что, скорее всего, программист тестировал какую-то секретную зону, которую так и не закончили. Если хочешь пофантазировать, можешь заменить этот завершающий 0x00 на новый флаг 0x01 – и игра загрузит пользовательский набор спрайтов. Вот и весь код, который тебе предоставила консоль.