2016年10月06日、誰もが一度はタイトルを聞いたことがあるでしょう。ファミリーコンピュータ(ファミコン)の『スーパーマリオブラザーズ』のRTA(早解き)世界記録が更新され、前人未到の”4分56秒878”というタイムがアメリカのdarbian氏によって出されました。
1ヶ月前にもdarbian氏が”4分57秒244”というタイムは出していましたが、今回のタイムはこれとはタイム以上に大幅に異なるもので、異次元とも言えるテクニックを用いて成し遂げたものです。『スーパーマリオブラザーズ』のRTAがどういったものであるかも踏まえ、順番に解説していきます。
21フレームルール
世の中のゲームというのは、例外もあるにせよ基本的には1秒間に60回の静止画を見せ、それが変わることでまるで画面が動いているかのように見せています。
『スーパーマリオブラザーズ』に関しても例外ではなく、1秒間に60回(60フレームと言います)の静止画を見せ、マリオが本当に動いているかのように見せています。
このフレームですが、『スーパーマリオブラザーズ』は非常に特殊なプログラミングがなされており、ゲーム起動後からの総経過フレームが21の倍数にならないとステージを跨いだ際の暗転画面が終わらないという仕様があります。
例を示すと、総経過フレームが2101でステージをクリアしたときは、ここから21の倍数まで待たなくてはいけないため20フレーム(約0.33秒)の待ち時間が発生しますが、これが遅れてしまって総経過フレームが2120でステージをクリアしてしまったとしても、こちらはあと1フレームで21の倍数になることから、こちらの待ち時間は1フレーム(約0.017秒)で終わるため、0.3秒ほど遅くクリアしたのに関わらずどちらのタイムも同タイムとしてゲームは進んでしまいます。
21フレームを秒数に直すと約0.35秒ととても短いように感じるのですが、熟練プレイヤーがプレイすると1つのステージでのタイムの差はコンマ秒単位でしか変わらないものになってしまうため、いくらプレイしてもステージをクリアした際の暗転画面が解けるまでの時間で結局は均一化されてしまいます。
この21フレームルールはステージを跨いだ際にしか適用されないことから、8-3までは21フレームルールを考慮した人間の理論値で進め、21フレームルールが適用されない8-4でのみタイムを競い合うというのがこれまでの『スーパーマリオブラザーズ』RTAの流れでした。
flagpole glitchの登場
8-3までは21フレームルール上で人間が行える理論値というところまで来ていたため、さすがにこれ以上の大幅な更新は難しいだろうと思われていたのですが、ここで”flagpole glitch”というテクニックを実機でやってみようという動きが出てきました。
上記動画がそのテクニックを実機上で再現した動画です。このflagpole glitchがどういうテクニックなのかというと、マリオのX座標が一定の位置から敢えて進行方向と逆に左ボタンを押しながらジャンプすることで、何故かフラグポールが落ちて来るモーションがカットできるというバグです。日本のマリオコミュニティでも親しまれている有名なバグで、旗が働かないことから『旗らけ』と呼ばれています。
このテクニックはフレーム単位の操作が要求されるため、TAS(ツールを使ってツールにゲームを操作させる早解きのこと)でこそ実現可能なテクニックで、人間には実現不可能なテクニックだと長年思われてきましたが、実機でも頑張ればできるということが上記動画により証明されました。
このバグはマリオの座標位置の誘導が難しく、かつ1フレーム(約0.017秒!)でも操作を誤ると普通にフラグポールが落ちてきてタイムロスになってしまうこと、さらにマリオの座標位置誘導のために減速していてタイム的にはマイナスなことから、実機でもできることが証明されたにせよ、RTA界隈では反応はそこまで芳しくありませんでした。
Sockfolder’s methodの出現
flagpole glitchが実機でできると分かってから数ヶ月後、このテクニックをRTA用にタイムの減速を極力抑えて行うことができる”Sockfolder’s method“という方法が開発されました。開発者は名前の通りでSockfolder氏です。
darbian氏の実際のプレイでやり方を説明します。
まず、上記の画像の通り階段の上から2つ目の一番左をジャンプで着地します。ここに来るまでにジャンプのためにAボタンを押していましたが、着地と同時に離し、着地後は進行方向の『右』とダッシュのための『B』だけ押している状態にします。
着地した後は、そこから2フレームだけ右に走り、その後Aボタンで大ジャンプをします。ジャンプはAボタンを押す長さや十字キーの押し具合でジャンプの距離を調整できますが、このテクニックの場合は最大ジャンプで構いません。『右』と『A』を押しっぱなしにし、さらにダッシュ用の『B』も押しっぱなしでジャンプします。
マリオのX軸座標の最終到達地点が上記の画像です。この場所に到達した瞬間に『左』と『A』ボタンを同時に押してジャンプすると、flagpole glitchの完成です。フラグポールが落ちてくることなく次のステージに進めます。
ちなみに、最終到達地点に到達する3フレーム前に、『左』以外の全てのボタンを離し、3フレーム後に『左』と『A』ボタンを同時に押しするというのが正確な表現です。
ここまで1フレームもミスすることなく操作できて初めてフラグポールが落ちてこないこのテクニックが成功します。
相当に難しいように思えるのですが、マリオの熟練プレイヤーなら数回に1回は成功するレベルの割と容易いもののようです。
今回の世界記録では、1-1と4-1でこのflagpole glitchを決めています。1フレーム単位の操作を合計4回ということなので、比喩表現ではなく機械のような操作精度が要求されます。
flagpole glitchの時短効果
flagpole glitchで早くなることは分かりましたが、実際はどれくらいの時短なのでしょうか。
これは、『スーパーマリオブラザーズ』RTA世界第二位のkosmicd12氏によって検証されていますが、14フレーム(約0.23秒)のようです。
前述した21フレームルールもあり、フラグポールが落ちてくるステージは1-1と4-1と8-1と8-3の4ステージがありますが、8-1はflagpole glitchを決めてもなお21フレームルールの範囲内でしかなく、暗転画面の待ち時間の差で結局は普通にクリアしたときと同タイムになってしまいます。また、8-3は分かりやすい目印がなく成功率にかなりの差があるようで、実際に手動で時短効果を狙えるのは1-1と4-1だけのようです。
さらなるタイム更新へ
前人未到の4分56秒台が成し遂げられたのですが、タイム更新の余地はまだまだ見えています。
更新余地として一番大きいのは上記画像の箇所です。4-2ではわざと壁やブロックにぶつかり、その際に後ろを向いてマリオのX座標をずらすことによって、本来なら見えているワープ先変更透明オブジェクトを見えなくし、ステージの先へ続く土管ワープをつたワープのものへ差し替えてしまうというテクニックがあります。
今回のdarbian氏の世界記録は、この4-2土管つたワープを妥協し、前記録より21フレーム遅くして土管つたワープの成功率を高める安定策を取っています。
さらに、今回の記録は21フレームルールが適用されない8-4においても、これはわずかですが前記録より1フレーム遅くなっているため、合計22フレーム(0.37秒)のタイム短縮余地があります。
1フレーム単位の操作精度を要求しつつ他も一切ミスがないよう操作しないといけないとなると、これはもうTASの領域に突入しており、RTAプレイヤーの端くれである私も震えるしかないのですが、おそらく見えている更新余地があるなら今後も挑戦され続けるでしょう。
『スーパーマリオブラザーズ』については、バーチャルコンソールとして現在も任天堂からソフトが提供されていますし、いつでも誰でもゲームハードさえあればチャレンジすることが出来るゲームとなっています。次に記録を更新することになるのは、もしかしてこの記事を読んでいるあなたかもしれません。
※画像は全てYouTube https://www.youtube.com/watch?v=j8CHsUFsi1A より引用しています