道具を使ったスピードランニングがビデオゲームの内実を明らかにする方法
マリオ 64 を解体する強迫観念に囚われた人々を紹介する
今年見ていたら素晴らしいゲームがすぐに完成、あなたはすでに、お気に入りのゲームでレースをするときにプレイヤーが示す忍耐力とスキルのオリンピック選手の偉業に精通しており、いいえ、自分が思っているほどそれらの能力が優れていないことに気づきます。しかし、このコインには従来のスピードランニングほど人気のない別の側面があります。それは、ゲームをこじ開けて想像を絶することを行うプレイヤーのニッチなコミュニティです。ツール支援スピードランニング (「TAS」) は単純な不正行為のように思えるかもしれませんが、それだけではありません。これはビデオ ゲームの内部を探求するもので、専門のプレイヤーとプログラマーからなるチームが何千時間もかけて作業します。
私たちの多くにとって、ビデオ ゲームは、クレジットがロールロールされるか、すべての課題をクリアした時点で終了します (そこまで到達した場合でも)。しかし、スコット「pannenkoek2012」ブキャナン, スーパーマリオ64に終わりはありません。これは彼が内外の両方でマスターしたゲームであり、その内部の時計仕掛けに関する彼の知識は学問の域に達しています。エミュレータとメモリハッキングソフトウェアを使用することで、スコットは従来の方法では不可能なレベルでマリオをプレイできるようになりました。彼はマリオをフレームごとにコントロールし、平均的なスピードランナーさえも夢見る方法でマリオを操縦することができます。ゲームのプログラミングとそれが引き起こす不具合についての彼の驚異的な理解により、彼は両方を組み合わせて魅力的な効果を生み出すことができました。
「私は物心つく前からマリオをプレイしていました」とスコットはある日の午後、スカイプでチャットしながら私に語った。子供の頃、それが彼が初めてプレイしたゲームでした。しかし、私たちのほとんどとは異なり、スコットはスーパーマリオ 64 が提供するすべての課題を最終的にマスターしても、次に進む準備ができていませんでした。使用するsm64.com、スコットのゲームの「バイブル」である彼は、すべてのレベルですべてのコインを集めるなど、より大きな挑戦を求め始めました。ウェブサイトを通じて、彼は 3 つの異なるレベルがあり、グリッチを注意深く使用することで、プレイヤーが無限のコインを収集できる可能性があることさえ発見しました。しかし、N64 の扱いにくいコントローラーと格闘する子供だったスコットは、自分にはこうした大きな課題に対処する器用さが足りないことに気づき、最終的にはゲームから遠ざかってしまいました。
スコットがスーパー マリオ 64 への愛を再発見したのは、数年後、10 代の頃、コンピューターにダウンロードしたエミュレーターのおかげでした。スコットは、子供の頃の自分が達成できなかった課題を今度は克服すると固く決意し、興味深いものを発見しました。マリオが無限のコインを集められるのは 3 つのレベルだけではなく、さらに多くのレベルでした。この新しい発見に興奮したスコットは、最初の YouTube 動画自分の発見を世界と共有し、道具を使った遊びのコミュニティへの第一歩を踏み出しました。
TAS チームのご紹介
現在、スコットはコミュニティ全体で最も人気のあるツールアシストランナーの 1 人です。彼は、スーパー マリオ 64 をゲームから科学に変えた他の 12 人のプレイヤーのチームと協力しています。しかし、ただの筆記者であることに満足することなく、彼らはこれらのグリッチに関する卓越した知識を利用して、信じられないことを成し遂げます。たとえば、2014 年には、スコットはコインを集めたプレイヤーは 12 年間知っていましたが、世界中のジオメトリを利用しても到達できませんでした。
スコットの現在の主な焦点は、「A」ボタン チャレンジです。これは、120 個のスターをすべて集める (100% ランと呼ばれる) か、フィニッシュ ラインを目指してまっすぐ進む (100% ランと呼ばれる) かの両方で、スーパー マリオ 64 を倒す最適な方法を見つけ出すための試みです。任意の%が実行されます)。スコットと彼の同僚のおかげで、「A」ボタンのチャレンジは、100% 実行の場合の 118 回の押下から 32 回まで減少しました。彼は「」にも取り組んでいます。ボタンなしチャレンジ」 ジョイスティックだけを使ってゲームをクリアします。
この驚異的な印刷機の削減は、スコットと、彼が協力している他の 12 人のマリオ 64 の「TASers」からなる Facebook グループのおかげです。 「私たち一人一人は他の人にはない本当に優れた強みを持っているので、全員が一緒にいて、とても簡単にコミュニケーションできるのは本当に助かります」と彼は言いました。スコットに自分がグループに何をもたらしたと思うかと尋ねると、彼はすぐにこう答えた。「私は新しい戦略を考えるのに創造性があり、とても忍耐力がある。もし何かうまくいかない場合は、それを試し続けるつもりだ」そして新たな可能性について考え続けてください。」その忍耐力は、新しい方法を見つけ出そうとするときに壁にぶつかる以上のものです。スコットのツールを使ったランニングでは、1 つの動作を完了するのに最大 12 時間かかることがよくあります。多くの場合、「A」を 1 回押すのを節約するだけです。
タイラー・ケーンは、Mario TASers の内輪のもう 1 人の影響力のあるメンバーです。スコットのビデオが最初に人気を集めたとき、視聴者がコメントで解決策を提案するのが一般的でしたが、その大部分はスコットほど教育を受けていない人々からのものでした。それは、タイラーが手を差し伸べ始め、ゲームの知識でスコットを吹き飛ばすまででした。 「彼は私に何かを見せ始めた。そして私は、おお、これは侮れない男だ、と思った。彼は私が考えもしなかったものを私に見せてくれた」とスコットは語った。
タイラーはコンピューター プログラマーとしてのスキルを活かして、スーパー マリオ 64 の難解な秘密を解明します。彼は、「平行世界」という複雑なトリックを発見した人物です。この用語は、マリオの地図上の実際の位置と、マリオがしっかりした地面に立っているかを確認するためにゲームで使用される位置を非同期にする方法を発見した後に彼が作った用語です。
パラレル ユニバースは、「A」ボタン チャレンジにとって大きな進歩でした。「超高速歩行」と呼ばれる別のグリッチと組み合わせることで、マリオは地面をチェックする位置がまだ残っていたにもかかわらず、実質的にマップから完全に抜け出すのに十分な速度を集めることができたからです。後ろに。このトリックにより、マリオはマップの目に見えない複製上に配置されます。これは、マリオが実際には境界の外にいるにもかかわらず、ゲームは技術的には固い地面にいると考えるためです。これらの重複はグリッド内で無限に広がります。十分なスピードがあれば、TASer はマリオをレベル内で移動させ、ジオメトリを突破して新しい平行世界に移動させ、通常は「A」ボタンを押す必要がある障害物を回避することができます。複雑に聞こえる場合は、それはそうだからです。
スピードランニングに使用されるツール
このような複雑な手法では、複雑な計算が必要になることが多く、スコット氏はそれを得意としています。私たちのチャット中に、彼はすべての研究をまとめた 20 以上の異なるスプレッドシートを含むワークブックを私に見せてくれました。特定の敵の飛行経路から、マリオが平行世界を移動するのに必要な速度の計算に至るまで、すべてが細心の注意を払って詳細にグラフ化されています。
彼の計算値は、次のようなメモリ ハッキング ソフトウェアを使用して収集されます。チートエンジン、プログラムが割り当てる RAM 内の特定のアドレスを覗いて、そこに保存されているものを読み戻すことができます。マリオの座標やポリゴンの頂点などの変数を決定できますが、そのためにはまずどこを見るべきかを知る必要があります。
重要な違いは、スコットと彼の仲間が達成することはすべて、理論的にはゲームの支援なしバージョンを使用して可能であるということです。彼らは確かにスーパーマリオ 64 の ROM をハッキングしたり、特定の RAM アドレスに保存されている値をこじ開けて好きなように変更したりするツールを持っていますが、これらの方法はゲームを研究して理解するためにのみ使用され、チャレンジを完了するための実際の実行では使用されません。 。
グループのメンバーの 1 人は、N64 コンソールと接続し、エミュレータで使用されているのと同じボタン押しのシーケンスを入力して、エミュレータで行われる操作がネイティブ ハードウェアでも可能であることを検証できる、修正されたコントローラの開発にも取り組んでいます。これは、スコットが考案した方法を検証するために最近行われたものです。数匹のクリボーのクローンを作ってはしごを作る「A」を押すのを避けるため。このプロセスでは、N64 のハードウェアの制限により、メモリが不足するとコンソールがクラッシュするのではないかと心配していましたが、そうではないことがわかり安心しました。
実際に実行を実行する場合、Scott が使用するのは、エミュレータによって提供されるツール、精度を高めるためのコントローラー プラグイン、および複雑な操作を実行するために必要な値を確認するためのメモリ ハッキング ソフトウェアだけです。また、追加のボタンを使用して、簡単にアクセスする必要がある必要なエミュレータ機能を割り当てることができるため、有線の Xbox 360 コントローラーを使用してゲームをプレイしています。
デモンストレーションで、スコット氏は、「位置ずれ」を利用して、マリオが「A」ボタンを使用せずに高い棚にスナップできるようにする方法を教えてくれました。最初に棚の上に立つことで、スコットはマリオを上にテレポートさせるために飛び込む必要がある特定の頂点を決定することができました。次に、状態保存を使用して再試行して失敗した試行を修正し、Xbox 360 ボタンを使用してフレームごとにゲームを進め、マリオを頂点に向かって何度かダイブ (「A」ボタンは必要ありません) させました。コントローラー プラグインを使用して動きを数分の 1 度修正することで、スコットはジャンプのタイミングを完璧に計り、レベル ジオメトリに衝突し、棚から離れるのではなく押し上げられるようにすることができました。合計すると、リアルタイムでは数秒かかるはずの移動が完了するまでに、プロセス全体に数分かかりました。
2 ページ目は、そもそも不具合がどのように発見されるかということです。
不具合はどうやって見つけますか
しかし、そもそもこれらの不具合はどのようにして発見されるのでしょうか?それは私がスコットに抱いた大きな質問でしたが、実際には具体的な答えはありませんでした。それらの多くは、ゲームをいじっている平均的なプレイヤーによって発見され、記録されたり、口頭で共有されたりしました。タイラーの並行世界など、他のものは、ボンネットを開けてスーパーマリオ 64 がどのように動作するかを観察することで発見されました。
ある例では、スピードランナーがビデオを録画していたそこでは、マリオが振り向いて飛び込みマリオをつかむ前に、ボムオムがマリオを追ってきました。その結果、ボムオムは消え、すぐに近くに現れました。 「私たち4、5人は、まさにこのシナリオを再現しようと試み始めました」とスコット氏は語った。 「しかし、何が冗長で、この不具合が機能するために何が必要なのかはわかりませんでした。」
偶然にも、スコットは、マリオが帽子を持って他の物体を拾い上げ、帽子を元に戻すとテレポートしてしまう、似たような不具合を思い出した。タイラーとスコットが発見したのは、マリオが保持しているオブジェクトの位置を保存するために使用される変数 (「ホルプ」または「保持オブジェクトの最後の位置」と呼ばれる) は、マリオがオブジェクトを放すと、最後に保持していたオブジェクトの座標の値を保持するということでした。たとえ新しいゾーンに入ったとしても。マリオが帽子を持っているときなど、マリオがオブジェクトを持っているが、ホルプがオブジェクトの現在の座標に更新されていない場合、マリオがオブジェクトを放すと、マリオがオブジェクトを置いた場所ではなく、ホルプの位置にオブジェクトが表示されます。
この同様の不具合により、マリオがオブジェクトを掴んで同じフレーム内で頭をぶつけてオブジェクトを放した場合、ホルプはその座標を更新する機会がなくなり、オブジェクトがホルプの最後に移動することを発見しました。位置。ついにチームは「消えたボムオムの謎」を解明した。今ではホルプを操るのが戦略になったスコットがビデオから「A」の部分をいくつか削るのに使っているもの。
しかし、最初に不具合がどのように発見されたとしても、スコットとチームは同じプロセスを使用して不具合を文書化します。まず、グリッチを特定して再作成する必要があります。第二に、それを理解する必要があります。 Scott は、人気のある N64 エミュレータである Mupen64 を使用して、一連の入力を記録しエミュレータで再生する .m64 ファイルを作成して、ゲームの正確な処理とレンダリングを複製することができます。 「そのようなファイルに保存されている場合は、それをタイラーに渡すことができます。そうすれば、タイラーは詳細なコードを調べて、どのような呼び出しがそれを実現しているのかを調べてくれるでしょう」とスコット氏は言いました。
今年の初め、スコット氏は、Twitch ストリーマーが理由もなく突然垂直方向に巨大な距離をテレポートしたときに、潜在的な不具合に気づきました。 「A」ボタンを使用しない場合の最も難しい部分は高度を上げることであるため、スコット氏はこれがこれまでに発見された最大の不具合の 1 つである可能性があると考えました。スコットにはビデオしかなかったので、グリッチを引き起こすのに何時間も費やしました。彼は1000ドルの報奨金さえも提供しているそれを明らかに再現できる人のために。しかし、数か月経っても問題は未解決のままです。
スコット氏も、それが本当の不具合である可能性があるとは確信していません。研究中に彼は次のことを発見しましたハッキングしてビットを変更する元のビデオの同じ瞬間にマリオが垂直位置にあるとき、マリオは同様の方法で上向きにテレポートしていました。 「最後のビットを1から0に変更すると、我々が見たものと全く同じものが得られる」とスコット氏は説明し、一般的な理論では、ガンマ線がTwitchストリーマーのコンピューターに入り、たまたまビットが反転したか、あるいはコンピューターの誤動作が示唆されていると付け加えた。カートリッジによってわずかな変化が発生しました。
純粋対。道具を使ったスピードランニング
TAS コミュニティを取り巻く最大の誤解の 1 つは、その起源がスピードランニングの一種であることに由来しています。 TAS に鼻を突き、従来のスピードランニングの純粋さと比較して不正行為であると非難する人を見つけることは珍しいことではありません。しかし、そうすることは、これらのプレイヤーが費やした仕事と労力を削減するだけでなく、彼らがそれを行う理由を根本的に無視することになります。 「目標は、我々がどれだけゲームをプレイできるかを示すことではなく、理論的に何が可能かを示すことだ」とスコット氏は語った。 「多くの人がその違いを受け入れようとしないと思います。」
おそらくこの誤解は、TAS が純粋な魔術のように見えることが多いことから来ているのでしょう。スピードランニングとは異なり、スコットが達成したことの多くは平均的な観察者にはすぐに理解できないため、ゴッドモードをオンにしただけなのに試合に勝ったと主張する人を無視するのと同じように、スコットを無視する人がたくさんいます。
スコットと話した後、彼と彼の友人たちはアスリートというよりは科学者に近いと想像せずにはいられません。私たち自身の現実と同様に、スーパー マリオ 64 は、その中に含まれるすべての目的と行動を管理する一連の法則によって支配されています。非常に興味深いのは、スコットがコード行内に含まれるロジックではなく、コード行間のギャップを使ってどれだけのことができるかということです。プログラマーがマリオの前進速度に厳しい制限を設けるのは理にかなっていましたが、後進速度の制限を解除しておくとあらゆる種類の巧妙なトリックにつながる可能性があるとは誰が予想できたでしょうか。
スピードランニングが人間の持久力と技能を称賛するものであるなら、道具を使った遊びは人間の好奇心と理解を称賛するものです。そして、両者は遠い存在に感じるかもしれませんが、「どうすればより良くできるか?」という問いにおいて、両者は共通の祖先を共有しています。しかし、スコットにとって、スーパー マリオ 64 を理解したいというこの強迫観念は、単純でほとんど子供らしいところから来ています。「私はスーパー マリオ 64 が大好きで、それが終わることを決して望んでいませんでした。それを使用してコンピューターでそれをプレイできるようになるまでは、それはありませんでした。」エミュレーターのおかげで、できることやテストできることの上限は無限になりました。」
おそらく宮本茂はこう言いました。「目に見えるものすべてが、目に映るもの以上のものだったらどうしますか? あなたの隣にいる人は戦士で、空に見える空間は別の世界への秘密の扉です? 何かが現れたらどうしますか?」それを無視するか、もしかしたらそれは本当に入り口であり、中に入ることを選択すると、多くの予期せぬものが見つかるだろうということを受け入れるかのどちらかです。」
この記事は、RPSサポータープログラム。ありがとう!