『スーパーマリオブラザーズ』の世界記録4分54秒はどのようにして達成されたのか? 10年以上本作のRTAを追いかけている筆者がその凄さを解説

 2021年4月7日、アメリカに住むNiftski氏によってファミリーコンピューター用ソフト『スーパーマリオブラザーズ』の「Any%」RTA(リアルタイムアタック)の世界記録が更新された。今回Niftski氏によって達成された記録は前世界記録より0.282秒早い「4分54秒948」となる。

 人類ではじめて4分54秒台に到達したことは「『スーパーマリオブラザーズ』の「Any%」RTAにて人類で始めて「4分54秒台クリア」を達成したランナー現る。TASと同レベルの入力精度で理論上可能な記録に限りなく近い大記録」でも紹介させていただいた。

 今回達成された『スーパーマリオブラザーズ』の「Any%」のRTAとはどのようなものなのかを最初に説明しておこう。本作にはゲームを短縮するためのさまざまなテクニックが存在するが、使うテクニックに制限がないというのが「Any%」の大まかなルールだ。

 “1-2”から“4-1”、“4-2”から“8-1”への「ステージワープ」はもちろん許可されており、最速クリアにあたって実際にプレイするステージは“1-1”、“1-2”、“4-1”、“4-2”、“8-1”、“8-2”、“8-3”、“8-4”の計8ステージとなる。

 バーチャルコンソールやエミュレーターなどの実機ではない環境、さらにドットの隙間を抜ける「壁抜け」などの“バグ利用”も許可されているが、中には禁止されているものもある。具体的には連射機能付きのコントローラーの使用や純正コントローラーでは押すことのできない左右同時押し、改造されたソフトの使用はもちろんのこと、ソフト半挿しなどの「適切ではない方法でのプレイ」も禁じられている。

(写真は筆者宅にて撮影)

 筆者は『スーパーマリオブラザーズ』のRTAを十年近く追い続けている。2014年に初の4分57秒台が出たことを皮切りに2016年に4分56秒台が、さらに2018年に4分55秒台と続いて2021年に初の4分54秒台である。

 このようにトントン拍子に行くと次は4分53秒台と思う読者の方もいるかもしれないが、4分53秒台という数字は『スーパーマリオブラザーズ』の仕様と照らし合わせても理論的に不可能であると言われている。なぜ不可能なのか、この場を借りてゲーム内部の仕様に基づいた詳細を語らせていただきたい。

執筆/もか
協力/まんまる


 

(画像は筆者PCにてキャプチャ)

 ゲームのみならず映像全般に言えることだが、基本的に映像というものは1秒間に何十枚もの静止画を繋ぎ合わせてまるでそれが目の前で動いているかのように見せかけている。

 『スーパーマリオブラザーズ』も例外ではなく、1秒間に60回の静止画をパラパラ漫画のように写しており、1回の描画を1フレームという単位で呼ぶため『スーパーマリオブラザーズ』は1秒間に60フレーム【※】動くゲームということになる。

※正確には1秒間に約60.098813897441回(参考URL:TASVideos

 このフレームだが、『スーパーマリオブラザーズ』にはゲーム機本体のスイッチを入れてゲームを起動した瞬間から何フレームが経過したのか数え続けているパラメータが存在しており、敵キャラクターであるハンマーブロスやクッパなどの動きを決める乱数として用いられている。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の1:02より)

 このパラメータはステージとステージの間の暗転画面に入る処理にも用いられており、暗転画面が入るタイミングは「電源起動後からの総経過フレームが21の倍数になった瞬間」となる。

 21でぴったり割り切れるフレーム数で暗転画面に入る処理まで辿り着いた場合の待ち時間は0だが、これが21で割ったときに余りが出る数字だと余計な待ち時間が発生してしまう。逆に世界記録より数フレーム早いタイムでステージをクリアしたとしても、21フレームの範囲内に収まっているなら暗転画面の間でタイムが均一化されてしまい結果的に同じタイムとなってしまう。

 21フレームは秒数に直すと0.35秒となり、コンマ秒を競っているプレイヤーの間ではけして小さい数字ではない。このルールのことを“21フレームルール”と呼び、『スーパーマリオブラザーズ』RTAの世界ではこの21フレームの範囲を考慮して最速を目指すというのが大まかな流れになっている。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の1:41より)

 わずかなタイムロスは21フレームルールで次のステージに行く間に均一化されてしまうことから、エミュレーターを用いたスピードラン(TAS)で理論値を導き出し、そのTASが出した記録に人間で立ち向かうという無謀とも思える方法で今までチャレンジがなされてきた。21フレームの範囲内にさえ間に合えば結果的に同速度になるため、TASが出した記録よりある程度フレーム単位で遅れていても大丈夫なのだ。

 人間とはやればできるもので、Niftski氏が世界記録を出す前から“1-1”、“1-2”、“4-1”、“8-2”、“8-3”ではすでに人間とTASが21フレームルールの範囲で同速度という異次元の領域に達しており、短縮余地があるステージは“4-2(21フレームTASが早い)”、“8-1(21フレームTASが早い)”、“8-4(21フレームルールが適用されない最終ステージ)”が残されるのみとなっていた。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の2:40より)

 ここで今回達成されたNiftski氏の世界記録を見てみよう。21フレームルールを考慮した最速タイムでほとんどのステージを駆け抜けており、前述した“1-1”、“1-2”、“4-1”、“8-2”、“8-3”ではTASと同速度で駆け抜けている。

 Niftski氏の世界記録はこれらのステージに加えて“8-1”もTASと同速度でのプレイを成功させている。21フレームルールの一歩先を行ったことで21フレーム分である0.35秒早くなり、それが4分54秒台という前人未到のタイムに繋がったのだ。

 じつは“8-1”以外のステージはTASから遅れてゴールしているステージばかりなのだが、21フレームルールの暗転画面の待ち時間を使ってTASと同速度を達成していた。しかし“8-1”はフレーム猶予が一切なく、TASと同速度に持ってくるためには前世界記録のプレイからぴったり21フレーム早くする必要がある

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の2:42より)

 21フレーム短縮するためにはTASが行っているテクニックをそのまま取り入れるしかないのだが、Niftski氏が実際に行ったテクニックを実際に解説していこう。

 まずはバックジャンプだ。マリオがもっとも早く移動できるのは「Bダッシュ」だが、止まっている状態から最速の移動速度まで持っていくには普通に走るよりも後ろを向きながらジャンプをしたほうがマリオの加速度の観点から早くなっている。具体的な数字を示すと、完璧なバックジャンプに成功した場合だと普通に走るよりも“2フレーム”早くなる

 バックジャンプを成功させるためにはステージに入って操作を受け付けるようになった瞬間に進行方向とは逆の左ボタンを押し、その1フレーム後にジャンプボタンであるAボタンを、さらにその1フレーム後に進行方向である右ボタンを押すことが必要となる。1フレーム技の連続という難解な操作を成功させても早くなるのはたった2フレームだが、“8-1”をTASと同速度で駆け抜けるには必須のテクニックだ。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の3:22より)

 さらに難解な操作が必要なのはFlagpole Glitch(FPG)と呼ばれるテクニックとなる。Flagpoleという名前の通りステージのゴールにある旗のアニメーションをスキップするテクニックで、このテクニックを成功させると旗がその場から動かず働かないことから日本語では“旗らけ”という名前が付いている。

 『スーパーマリオブラザーズ』ではステージをゴールするとマリオと同時に旗が一番下まで降りてからマリオが先へ進むという処理が走る。この処理をスキップするために、ステージのクリア時に旗の一番下の部分をあらかじめ掴んでおくというのがFPGの大まかなメカニズムだ。

 旗の一番下の部分を掴むというのがすでに難しく1フレーム技なのだが、何とか成功させるとゴールした時点で既にマリオが一番下にいると判断されて旗が一番下まで降りてくるという処理をスキップすることができる。

 旗が働くアニメーションがないことでその分早く先へ進めることができる。短縮できるのは“19フレーム”となり、前述したバックジャンプの“2フレーム”と合わせるとぴったり“21フレーム”短縮となる。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の2:52より)

 旗をスキップするFPGは旗を掴んでゴールするすべてのステージで取り入れられており、他のステージではわざとBダッシュを解除してマリオを遅くしてからタイミングを見極めてボタンを押しっぱなしでジャンプすることでテクニックを成功させている。21フレームルールの範囲内にさえ間に合えば良いため、Bダッシュを解除して遅れたわずかなタイムはステージクリア後の暗転画面で吸収されるのだ。

 だが、“8-1”についてはフレーム猶予が一切ないため他のステージで用いられている操作では21フレームルールに間に合わない。“8-1”のFPGを実現するにはジャンプの位置、ジャンプの高さ、着地したマリオの位置、さらにそこからのジャンプのすべてが1フレームの猶予しかないというとんでもない操作精度を要求される。

 操作精度の困難さから“8-1”でTASと同速度を実現するのは諦めかけられていたのだが、2020年に入ってから道中の土管やブロックを目印に「Bダッシュ」と同時に下を入力してマリオの位置を1ピクセルより小さい本当にわずかな値だけずらすテクニックがLeKukie氏によって開発された。このピクセルずらしによってこれまでのやり方より難易度が緩和され、目印を頼りに人間でもぎりぎり可能なセットアップが確立されたことから“8-1”をTASと同速度で駆け抜けるということが現実となったのだ。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の2:22より)

 TASと同速度の理論値に達したステージがほとんどだが、ここではまだ人間がTASに勝てていないステージについても紹介しておこう。

 まずは“4-2”だ。ブロックに隠されたツタを登って行くことで“8-1”まで「ステージワープ」することができる中盤の要となるステージである。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の2:29より)

 『スーパーマリオブラザーズ』ではワープ先を指定する透明なオブジェクトが存在しており、透明なオブジェクトが画面に映った時にワープ先が書き換えられるようになっている。

 “4-2”から“8-1”へと「ステージワープ」ができる隠し面に移動するにはツタを登る必要があるが、ツタを登るアニメーションは時間がかかる。そこでマリオのX座標を本来の位置から左にずらすことでワープ先を指定する透明なオブジェクトを見えないようにし、ステージの先へ続く地下に移動する土管からツタを登った先にある隠し面にワープするというのが“4-2”で用いられるテクニックだ。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の2:30より)

 マリオのX座標のずらし方は「後ろ向きにジャンプしながら障害物にぶつかってずらす方法」「壁抜けをしてずらす方法」の2パターンがある。どちらも最速でこなすには並大抵の操作精度では21フレームに間に合うことができないため、安定して早くできるテクニックが開発されるかどうかが長年の課題となっている。

 土管にはパックンフラワーがいるので、そこに到達するまでに同時に出現できるオブジェクト数限界までオブジェクト(敵キャラクター4体とツタ)を出していないといけないこと、土管に入るときはマリオが静止していないとX座標が元に戻ってしまって土管からのツタワープが成功しないということなどがあり、見た目以上に難しいのが“4-2”だ。

 “4-2”だけで一記事書けそうなほどにさまざまなテクニックが散りばめられているが、詳しくは“4-2”の難しさを説明しただけで20分の動画になっている『4-2: The History of Super Mario Bros.’ Most Infamous Level』をご覧いただきたい。

(画像はSuper Mario Bros. Any% Speedrun in 4:54.948 *WR*の5:05より)

 続いては“8-4”だ。“8-4”は最終ステージなことから21フレームルールが適用されず、わずかなタイムロスが21フレームで吸収されないことから、TASと同速度で進めることが極めて難しいステージとなっている。

 1ドットの隙間を使って隠しブロックを使わずに高い位置にある土管に到達する、ワープ先を指定する透明なオブジェクトが見えたら引き返して土管に入るなどの時短テクニックは既に使用されているが、それらのテクニックを成功させても道中の細かい部分でタイムを奪われてしまうステージとなっている

 今回の世界記録動画を見てすぐに思いつく改善点を述べるなら“8-4”の開始地点でもバックジャンプを使うことだろうか。世界記録達成者のNiftski氏はバックジャンプを使っていないが、前世界記録達成者のMiniland氏は“8-4”の開始地点でバックジャンプを使っている。

 バックジャンプは平坦な道だと短縮できるフレームがわずか2フレームとなるが、“8-4”のようにステージの開始地点に段差がある箇所だと短縮できるフレームは5フレームとなる。もちろん操作ミスをしてしまうと普通に走るより遅くなってしまうため、“8-4”に世界記録ペースで辿り着くことすら相当に困難であるためここでバックジャンプを狙うのはリスクとリターンが釣り合わないかもしれない。

(画像はTASVideos – NES Super Mario Bros.より)

 4分53秒台を出すことは不可能と最初に述べたが、結論を言うと“4-2”と“8-4”以外はTASと同速度というところまで極まった『スーパーマリオブラザーズ』にもはや1秒以上更新する手立ては残っていないからだ。仮に“4-2”と“8-4”をTASと同速度にできたとしても53秒台には届かない。

 タイムを短縮する新たなテクニックが見つかれば53秒台も行けるのではと思う読者もいるかもしれないが、『スーパーマリオブラザーズ』のTASは最終更新が10年前の2011年であり、2011年の更新も前記録をわずか1フレームだけ更新したものである。当然2011年から本日に至るまで多くの人たちでさまざまな研究がなされているが、10年の間でたった一度も時短につながるテクニックが見つかっていないのが現状だ。

 他のゲームでは何もないようなところからいきなりエンディングへ飛ぶというテクニックが実行されるRTAもあるが、『スーパーマリオブラザーズ』はプログラムの完成度が高い上にプロセスが明快であり、その上でプレイヤーの操作でできることが限られているためそのような手順が見つかる余地すらない状況となっている。

(画像はSuper Mario Bros. – speedrun.comより)

 4分53秒台でのクリアは不可能かもしれないが、これまで説明してきたように4分54秒948の現世界記録からさらにコンマ秒だけ縮めることは可能となっている。“4-2”か“8-4”のどちらのステージで更新されるかは分からないが、さらに短い時間でクリアするためこれからも多くのプレイヤーが挑戦していくのであろう。

ライター/もか

ライター
小学校の頃にゲーム雑誌でタイムアタック特集を見てこんな遊び方もあるんだと感動し、RTAという言葉が生まれる以前からゲームの早解きを行い続けて現在に至る。
  • このエントリーをはてなブックマークに追加

新着記事

新着記事

ユーザー協賛プロジェクト

世界征服大作戦

電ファミの記事は協賛者の皆さまの支援によって成り立っています!

世界征服大作戦とは?

電ファミのファンクラブです。ゲームを中心にしながら、ひいてはマンガやアニメなど、エンタメ全般を扱うファンクラブへの成長を目指します。主要メンバーとして、元週刊少年ジャンプの編集長・Dr.マシリトこと鳥嶋和彦氏なども参加。面白いコンテンツによる世界征服を本気で企むコミュニティです。

詳しくはこちら

ピックアップ

連載・特集一覧

カテゴリ

その他

若ゲのいたり

SNSで更新情報をお届け!

カテゴリーピックアップ