ReSpec обычно представляет собой колонку о прекрасном техническом мире компьютерных игр, но иногда встречаются темы, которые слишком хороши, чтобы их упускать. Легенда о Зельде:окарина времени общепризнано как одно из лучшие игры для нинтендо 64 из когда-либо созданных, и хотя это не игра для ПК, самый высокий уровень технических скоростных прогонов игры показывает, как игры работают на фундаментальном уровне. Что еще более важно, эти невероятные подвиги возможны только при больших усилиях сообщества.
Содержание
- Далеко от произвольного
- Взлом на лету
Рекомендуемые видео
окарина времени это игра, на прохождение которой у обычного игрока ушло бы около 30 часов; самые опытные спидраннеры, которые стремятся пройти игру как можно быстрее, могут пройти ее примерно за три часа 40 минут без сбоев. Но категория игры Any%, которая ставит перед игроками задачу завершить игру независимо от используемых методов, сократилась до трех минут, 54 секунд и 566 миллисекунд. И да, эти миллисекунды имеют значение. Рекордсмен, занявший второе место, отстает от мирового рекордсмена менее чем на целую секунду.
Даже с таким замечательным подвигом, это еще не все окарина времени спидраны приносят к столу. На благотворительном благотворительном марафоне Summer Games Done Quick 2022, проводящемся раз в полгода, группа спидраннеров, перепрограммирующих игру на лету, чтобы отображать новую графику, воспроизводить новую музыку и даже запускать чат Twitch. наложение. И все это было сделано на стоковой копии игры без предварительного программирования.
окарина времени Сообщество спидраннеров продолжает ломать игру, казалось бы, невозможными способами. Я связался с двумя ведущими умами сообщества, чтобы узнать, что заставляет классическую игру для Nintendo 64 работать, и все сводится к одному эксплойту: выполнению произвольного кода.
Далеко от произвольного
Выполнение произвольного кода, или ACE, звучит гораздо более пугающе, чем есть на самом деле. Это термин, используемый в кибербезопасности, который в основном означает запуск кода (или программы), который не должен запускаться. Вот как dannyb, спидраннер для окарина времени который занимает второе место в категории Any%, описанной ACE в Окарина времени: «Выполнение произвольного кода в OoT — это эксплойт, с помощью которого игрок может использовать внутриигровые действия, чтобы упорядочить кучу данных в памяти, чтобы имитировать код игры, а затем манипулировать местом, где игра ищет для запуска кода, чтобы оно было местом, где мы только что это сделали аранжировка».
Дэнниб говорит, что при правильных действиях игроки могут «по сути запускать любой код, который нам нравится, из игры, и заставлять игру зависать». делать то, на что он не был запрограммирован». Эти действия включают в себя такие, казалось бы, бесполезные вещи, как имя, которое вы вводите при запуске игра. Это именно то действие, которое позволило окарина времени быть избитым так быстро.
В игре вроде Окарина времени, игра проверяет свою память на соответствие определенным требованиям, чтобы пройти игру. Целью скоростного прохождения Any% является перераспределение памяти таким образом, чтобы она смотрела на имя вашего персонажа, а не на то, где оно обычно выглядит. Это называется Stale Reference Manipulation, или SRM, и dannyb говорит, что взломал именно этот эксплойт. окарина времени спидраны открываются по-крупному.
[Бывший мировой рекорд] OoT Any% Speedrun за 3:55.300!
«ACE в любой видеоигре всегда нужны эти две вещи: точно настроенный контроль над какой-то областью памяти, чтобы игрок мог чтобы данные там имитировали код, и возможность изменить место выполнения кода, чтобы быть местом, где пользовательский код ложь. В 2019 году в OoT был обнаружен сбой под названием Stale Reference Manipulation, который в значительной степени открыл второе требование», — сказал dannyb.
В случае нормального окарина времени run, кажущиеся случайными действия в совокупности заставляют игру проверять области (например, имя вашего персонажа) на предмет требований к выполнению, когда они не должны. Это двухкомпонентный процесс. Создайте полезную нагрузку данных, например имя вашего персонажа, и манипулируйте памятью с помощью SRM, чтобы она указывала на эту полезную нагрузку.
Взлом на лету
Презентация OoT Triforce Percent ACE: TASBot собирает нас вместе на SGDQ 2022! (бета + новый контент)
Вот так побеждают спидраннеры окарина времени всего за несколько минут, но это не объясняет полностью, как любовно названная витрина Triforce% смогла добавить новые текстуры, модели, музыка, код и даже оверлей Twitch для игры без каких-либо модификаций патрон. Savestate, один из авторов этого многолетнего проекта, объяснил, что все дело в том, чтобы настроить консоль Nintendo 64 на понимание данных контроллера как игровых данных.
Это витрина возможна только благодаря TASBot, способному выполнять ввод с нечеловеческой скоростью. Как объясняет Savestate: «Мы модифицируем инструкцию в памяти, чтобы начать чтение данных контроллера как инструкции N64. Обычно это приводит к краху, но благодаря TASBot он может имитировать контроллеры и манипулировать ими с нечеловеческой скоростью. скорости, чтобы выглядеть как инструкции N64, так что игра выполняет данные контроллера как набор предопределенных инструкции."
Бегуны могут добавлять в игру любой код, который они хотят, просто через входы контроллера.
Короче говоря, витрина Triforce% использует ACE и SRM, как обычно. окарина времени speedrun, но это специально меняет то, как консоль Nintendo 64 понимает инструкции. С такой настройкой бегуны могут добавлять в игру любой код, который они хотят, просто через входы контроллера. Savestate продолжил: «Никаких модификаций игрового картриджа нет. Чтобы получить пользовательские данные в память, мы используем сбой, который позволяет нам начать добавлять и изменять данные в памяти. память с помощью TASBot, а с консолью N64 взаимодействует только через ее контроллер порты».
Эти эксплойты обнаруживаются не случайно. Savestate объяснил, что окарина времени сообщество разработало инструменты для просмотра того, как память устроена в игре, а также программы для моделирования различных механизмов памяти. Эмуляторы, такие как Project64, очень помогают, позволяя бегунам и разработчикам инструментов шаг за шагом проверять, как игра выполняет код.
окарина времени — одна из самых культовых игр, когда-либо созданных, и сильное, преданное своему делу сообщество спидраннеров позволило игре процветать благодаря новым разработкам в течение десятилетий после ее первоначального выпуска. Эксплойты, похожие на тот, который работает быстрее всего окарина времени спидраны упрощают задачу, обычно связанную с максимально быстрым прохождением игры, но они также подчеркните невероятный технический опыт и усилия сообщества, которые направлены на анализ и анализ любимых игры.
Сообщество также знает об этом балансе, по словам dannyb: «Категория скоростного прохождения Any% OoT — единственная в наших основных списках лидеров, которая позволяет использовать ACE как действительный способ достижения цели. Что касается всего остального, мы запрещаем ACE, чтобы сохранить уникальность, которая в первую очередь привела к жизни эти категории».
Эта статья является частью ReSpec — постоянная двухнедельная колонка, включающая обсуждения, советы и подробные отчеты о технологиях, лежащих в основе компьютерных игр.
Рекомендации редакции
- Zelda: Ocarina of Time попала в Зал славы видеоигр
- Расширение Switch Online N64 не будет полным без полупрозрачных контроллеров