Искал бессмертие, а стёр врагов / Анализ памяти в игре The Krion Conquest (NES)
Реверс-инжиниринг старых игр — это всегда немного лотерея. Вы ныряете в дебри оперативной памяти NES с одной целью, а всплываете с чем-то совершенно иным. Это как морской дайвинг - не знаешь заранее, что интересное попадется.
В этом выпуске мы рассмотрим The Krion Conquest — жесткая и красивая 8-битная игра, на которую когда-то было потрачено много времени и нервов чтобы пройти ее на приставке. Сейчас же с эмулятором задачу сначала выбрал классическую: найти через RAM Search таймер неуязвимости, чтобы облегчить прохождение. Просеиваю байты, отслеживаю изменения значений при ударах и отсекаю лишний цифровой шум.
Но код игры подкинул сюрприз. Вместо того чтобы сделать героя неуязвимым, мы случайно нашли «Рубильник Судного Дня».
Один замороженный адрес памяти (ячейка 600) превратил хардкорный экшен в... медитативный симулятор ходьбы. Мы буквально отменили существование всех врагов на уровне, оставив лишь пустые коридоры и одинокого босса, который явно не понимает, куда делась его армия.
Это наглядный урок того, почему в памяти консоли так интересно копаться — никогда не знаешь, какой жанр игры ты получишь, изменив всего одну переменную.




















