時のオカリナのスピードランナーが新しい方法でゲームを打破する方法

respec dt アイキャッチ画像 2
このストーリーは、PC ゲームとハードウェアの世界をカバーする Jacob Roach の ReSpec シリーズの一部です。

ReSpec は通常、PC ゲームの素晴らしく技術的な世界についてのコラムですが、時折、見逃すにはもったいないトピックもあります。 ゼルダの伝説:時のオカリナ として広く評価されています。 最高のNintendo 64ゲーム これは PC タイトルではありませんが、ゲームの最高レベルで最も技術的なスピードランにより、ゲームが基本的なレベルでどのように動作するかを明らかにします。 さらに重要なのは、これらの驚くべき偉業は、コミュニティの多大な努力によってのみ可能になるということです。

コンテンツ

  • 恣意とはほど遠い
  • その場でのハッキング

おすすめ動画

時のオカリナ 普通のプレイヤーならクリアするのに約 30 時間かかるゲームです。 できるだけ早くゲームをプレイすることを目指す最も熟練したスピードランナーは、問題なく約 3 時間 40 分でゲームをクリアできます。 しかし、使用された方法に関係なくゲームを完了することがプレイヤーに課されるゲームの Any% カテゴリでは、3 分 54 秒 566 ミリ秒に短縮されています。 そして、はい、そのミリ秒が重要です。 2位の記録保持者は世界記録との差が1秒未満です。

時のオカリナはNINTENDO64用ゲームです。

こんなに素晴らしい偉業を成し遂げても、それだけではありません 時のオカリナ スピードランがもたらします。 半年に一度行われるチャリティー目的のスピードランニングマラソン「Summer Games Done Quick 2022」では、 新しいグラフィックを表示し、新しい音楽を再生し、さらには Twitch チャットを実行するために、その場でゲームを再プログラミングするスピードランナーのグループ かぶせる。 そしてそれらはすべて、事前プログラミングなしでゲームのストックコピー上で行われました。

の 時のオカリナ スピードランニング コミュニティは、一見不可能に見える方法でゲームを打破し続けています。 私は、古典的な Nintendo 64 ゲームの魅力を探るため、コミュニティの有力な頭脳の 2 人に連絡を取りました。そして、それはすべて、任意のコード実行という 1 つのエクスプロイトに行き着きました。

恣意とはほど遠い

Nintendo 64 コンソールとゲーム。
ロブ・テック/シャッターストック

任意コード実行 (ACE) という言葉は、実際よりもはるかに恐ろしいもののように聞こえます。 これはサイバーセキュリティで使われる用語で、基本的には実行すべきではないコード (またはプログラム) を実行することを意味します。 スピードランナーのダニーブはこうして 

時のオカリナ Any% カテゴリで 2 位の記録を保持している人は、ACE について次のように説明されています。 時のオカリナ: 「OoT における任意のコード実行は、プレイヤーがゲーム内アクションを使用してメモリ内の大量のデータを配置できるエクスプロイトです。 ゲームのコードを模倣し、ゲームがコードを実行しようとしている場所を操作して、先ほどコードを実行した場所にします。 アレンジしています。」

dannyb 氏は、適切なアクションを行えば、プレイヤーは「基本的にゲーム内から好きなコードを実行でき、ゲームに プログラムされていないことをするのです。」 これらのアクションには、起動時に入力する名前など、一見役に立たないものも含まれます。 ゲーム。 まさにそれが許可されている行為です 時のオカリナ こんなに早く殴られるとは。

みたいなゲームで 時のオカリナ、 ゲームは、ゲームに勝つために特定の要件が満たされているかどうかメモリをチェックします。 Any% スピードランの目標は、通常表示される場所ではなく、キャラクターの名前が表示されるようにメモリを再配置することです。 これは古い参照操作 (SRM) と呼ばれるもので、dannyb 氏によれば、このエクスプロイトがクラックされたものであるとのことです。 時のオカリナ スピードランが大幅にオープンします。

【元世界記録】3:55.300でOoT Any%スピードラン!

「あらゆるビデオ ゲームの ACE には、常に次の 2 つのことが必要です。1 つは、プレイヤーが そこにあるデータにコードを模倣させ、コードの実行場所をカスタムコードが実行される場所に変更する機能 嘘。 2019 年に、OoT で古い参照操作と呼ばれる不具合が発見され、2 番目の要件が大きく開放されました」と dannyb 氏は述べています。

通常の場合 時のオカリナ 実行すると、一見ランダムなアクションが積み重なり、ゲームを騙して、完了要件をチェックすべき領域 (キャラクターの名前など) を、チェックすべきでないときにチェックさせます。 これは 2 つの部分からなるプロセスです。 キャラクターの名前などのデータ ペイロードを作成し、そのペイロードを指すように SRM でメモリを操作します。

その場でのハッキング

OoT Triforce Percent ACE ショーケース: TASBot が SGDQ 2022 で私たちをここにまとめます! (ベータ + 新しいコンテンツ)

スピードランナーはそうやって勝つ 時のオカリナ ほんの数分で説明できますが、愛情を込めて名付けられた Triforce% ショーケースがどのようにして追加できたのか完全には説明されていません。 新しいテクスチャ、モデル、音楽、コード、さらには Twitch オーバーレイをゲームに変更することなく追加できます。 カートリッジ。 この数年にわたるプロジェクトの立役者の 1 人であるセーブステート氏は、Nintendo 64 コンソールがコントローラー データをゲーム データとして理解できるよう準備することがすべてであると説明しました。

これは、人間離れした速度で入力を実行できる TASBot だからこそ可能なショーケースです。 Savestate が説明するように、「メモリ内の命令を変更して、コントローラー データの読み取りを N64 命令として開始します。 通常これではクラッシュしてしまいますが、TASBot のおかげでコントローラーをシミュレートし、非人道的な操作を行うことができます。 N64 命令のように見えるように速度を調整することで、ゲームがコントローラー データをあらかじめ決められたセットとして実行できるようにします。 手順。"

ランナーは、コントローラーの入力を通じて、必要なコードをゲームに追加できます。

つまり、Triforce% ショーケースは通常と同じように ACE と SRM を使用しています。 時のオカリナ Speedrun ですが、具体的には Nintendo 64 本体が命令を理解する方法が変わります。 このセットアップを使用すると、ランナーはコントローラー入力だけで必要なコードをゲームに追加できます。 セーブステートは次のように続けています。「ゲーム カートリッジに変更はありません。 カスタム データをメモリに取得するには、メモリ内のデータの追加と変更を開始できるグリッチを使用します。 TASBot の助けを借りてメモリを拡張しながら、コントローラーを介してのみ N64 コンソールとインターフェイスします。 ポート。」

Nintendo 64 のコントローラー ポート。

これらのエクスプロイトは、単にランダムに発見されるわけではありません。 セーブステートは次のように説明しました。 時のオカリナ コミュニティは、ゲーム内でメモリがどのように配置されているかを調べるツールや、さまざまなメモリ配置をシミュレートするプログラムを開発しました。 Project64 のようなエミュレータは非常に役立ち、ランナーやツール開発者はゲームがどのようにコードを実行するかを段階的に確認できます。

時のオカリナ は、これまでに作られたゲームの中で最も象徴的なゲームの 1 つであり、堅牢で熱心なスピードランニング コミュニティのおかげで、このゲームは最初にリリースされてから数十年にわたって新しい開発で繁栄することができました。 最速のパワーを発揮するようなエクスプロイト 時のオカリナ スピードランは、通常できるだけ早くゲームに勝つことに伴う課題を簡単にしますが、同時に 驚異的な技術的専門知識と、愛する人々の解剖と分析に費やされたコミュニティの努力に焦点を当てます。 ゲーム。

dannyb 氏によると、コミュニティもこのバランスを認識しています。「OOT の Any% スピードラン カテゴリは、目標を達成するための有効な方法として ACE を許可するメイン リーダーボードの唯一のカテゴリです。 それ以外のことについては、そもそもこれらのカテゴリーに命を吹き込んだ独自性を維持するために、ACE を禁止します。」

この記事はの一部です リスペック – PC ゲームの背後にある技術に関するディスカッション、アドバイス、詳細なレポートを含む、継続的な隔週コラム。

編集者のおすすめ

  • ゼルダ: 時のオカリナがビデオゲームの殿堂入り
  • Switch Online の N64 拡張は半透明のコントローラーなしでは完了しません