[ad_1]

Летние игры сделали быстро
Вскоре после того, как наш путеводитель по Summer Games Done Quick 2022 вышел в эфир, на мероприятии состоялась поразительная демонстрация классической видеоигры, которая с тех пор переполнила ответы на эту статью Ars. Если мы хотим разделить волосы, то пробежимся по классике N64 1998 года. Легенда о Зельде: Окарина времени — это не «ускорение», а еще один пример концепции «TASBot», преобразующей игры таким образом, о котором мы и не мечтали 24 года назад.
Команда фанатов и программистов, ответственная за демонстрацию «Triforce-percent» на этой неделе, рассказала, как они добились этого, используя всего лишь стандартный N64 и оригинальный Окарина розничный картридж, хотя секрет заключается в том, что входы контроллера настолько быстры и точны, что они не могут быть выполнены ничем, кроме компьютера.
В этом пробеге нет ничего устаревшего
Видео начала 2020 года, в котором объясняется, как работает манипуляция устаревшими ссылками. Вы можете посмотреть это перед просмотром видеоролика SGDQ 2022, встроенного ниже.
53-минутная демонстрация (встроенная в конце этой статьи) начинается с эксплойта, ранее обнаруженного в конце 2019 года, который сообщество назвало «манипулирование устаревшими ссылками». Этот эксплойт использует уязвимость в исходной версии игры 1.0, которая позволяла игрокам манипулировать числовыми значениями, присвоенными определенным объектам в памяти игры. Самое простое объяснение этой сложной техники можно найти в видео на YouTube начала 2020 года (встроено выше), поскольку в нем указаны различные числовые значения, присвоенные каждому объекту в игре, такие как их X-, Y- и Z- оси и их поворот.
Опытные игроки могут сделать значения перекрывающими или перекрывающими исходный код игры, чтобы ими можно было манипулировать по своему усмотрению. Техника, которую мы видим в прогоне на этой неделе, требует, чтобы Линк поднял камень, проходя через «зону загрузки», коридор, используемый для маскировки пауз загрузки на оборудовании N64, и сделать это таким образом, чтобы игра не была предназначена для обработки. .
Первоначально этот эксплойт был инструментом ускорения, поскольку он мог заставить игру загрузить финальную последовательность титров и технически считаться «завершением» всего за несколько минут. Но процент Triforce идет гораздо дальше.
Встраивание нового контента в классическую игру
Летние игры сделали быстро
Подбирая и бросая определенные предметы, а затем заставляя героя игры Линка двигаться и выполнять маневры в определенной последовательности, команда TASBot открывает ящик Пандоры, известный как выполнение произвольного кода — тип уязвимости, используемый хакерами во всем мире для заставить закрытую компьютерную систему запускать любой код, который они хотят. Более того, цепочка движений и команд TASBot начинает сообщать N64 о необходимости принимать кнопки со всех четырех контроллеров N64, как если бы это был код.

Летние игры сделали быстро
В этот момент компьютер берет на себя все четыре порта контроллера N64 и отправляет серию быстрых нажатий кнопок, как если бы он был супергероем с миллионом пальцев, эквивалентным Флэшу. Глюк Окарина Картридж проинструктировал N64 принимать каждое нажатие кнопки в соответствии с определенными строками кода. Как только будет отправлено достаточное количество этой полезной нагрузки, команда может вернуть нормальный контроль порту «первого игрока», чтобы реальный человек мог воспроизводить совершенно новую последовательность контента — все это сбрасывается в оперативную память N64 (ОЗУ). ) благодаря невероятно быстрому вводу трех других контроллеров.
Эти исправления «на лету» могут делать много невероятных вещей, которые в совокупности напоминают полностью исправленный патч постоянной памяти (ПЗУ) картриджа, хотя команда TASBot ограничивается изменениями, которые конкретно относятся к ОЗУ консоли: крошечные изменения к существующему коду, полной замене файлов или командам, чтобы заставить игру игнорировать контент, который обычно загружается из ПЗУ. В результате этот эксплойт может давать сбои или сбои, если игроки выходят за пределы ожидаемого пути, для которого этот эксплойт оптимизирован.
[ad_2]