【世界記録紹介】スーパーマリオブラザーズ Any%

2Dアクションゲーム

はじめに

毎週定例記事として公開していく『世界記録紹介』のコーナーです。
本日は『スーパーマリオブラザーズ』のAny%のWR記録(世界記録)について紹介します。

WR記録0:04:55.646
プレイヤーKosmic
動画YouTube

スーパーマリオブラザーズとは

スーパーマリオブラザーズ』は1985年にファミリーコンピュータ(FC)用ソフトとして発売されたアクションゲームです。
今ではお馴染みとなっているキャラクターである“マリオ”が広く世に知られるようになった作品であり、全世界で4,000万本以上を売り上げた大ヒット作品となっています。

本作は発売から30年以上が経過した現在でもRTAが活発な作品であり、日々新しいテクニックが生み出されています。

今回の記事では、どのように世界記録が達成されたのか、また世界記録に至るためにどのようなテクニックを使用しているのかを紹介します。

21フレームルールについて

スーパーマリオブラザーズ』のRTAを語る上で、21フレームルールの存在は欠かすことができないので最初に紹介します。

実は『スーパーマリオブラザーズ』のRTAはタイマーをスタートするゲーム開始ではなく、ゲームを起動した直後から最速クリアに向けての調整を行っています。

ゲームの内部のお話になりますが、『スーパーマリオブラザーズ』ではゲーム開始からどれだけフレームを消費したのかを数えるようなプログラムが走っています。

この数えたフレームは、ステージクリア後の暗転画面が終わるタイミングを測るのに使用されており、ゲーム開始からの総経過フレームが21の倍数になったときに暗転画面が終わるという仕様になっています。

フレームルールの応用

総経過フレームが21フレームの倍数になったら暗転画面が終わるということがどのようにRTAに影響するのか、具体例を挙げて詳しく説明します。

まず、合計2100フレームでステージをクリアして暗転画面に入ったとします。こちらはぴったり21で割り切れるので待ち時間0フレームですぐに次のステージに移ります。

そして、これが1フレーム遅れて2101フレームでクリアしてしまうとどうでしょう。
ここから21の倍数にするにはさらに20フレーム待たなくてはならず、1フレーム遅れるだけで結果として21フレームも遅れてしまうことになります。

多くのFC用ソフトは約60FPSで動いており『スーパーマリオブラザーズ』も例外ではありません。
21フレームは約0.35秒なので、暗転画面の差だけでかなりの時間が持っていかれることになります。

RTAでは暗転画面が終わるタイミングを測ってゲームの開始タイミングを調整しています。
タイマーのスタートは最初のステージに入った瞬間なので、Aボタンを押してゲームを開始するまでのタイムは含まれないからできる調整技ですね。

ちなみに最初のステージの1-1を例に出すと、1-1をTASとRTAで比較すると当たり前ですがTASのほうがゴールに入るタイミングが早いです。
しかし、21フレームルールによる暗転画面の待ち時間が発生して結果的に暗転画面の差でRTAがTASに追いつくので、結果的にRTAもTASも全く同じタイムでのステージクリアとなり、少なくとも1-1ではもう短縮要素が1フレームすら残されていないことになります。

TASと同じタイムになっているステージは他にもあり、実はゲーム開始から4-1クリアまではTASと完全に同一タイムで短縮余地が残されていません。
世界記録を狙う上では、いかにTASに近づけるかというのが焦点となってきます。

Kosmic氏の8-4の立ち回り

前世界記録のTaven Webb氏から約0.1秒短縮したのが今回のKosmic氏の記録ですが、実は前述した21フレームルールの関係で最後のステージである8-4まではKosmic氏もTaven Webb氏も全く同じ経過フレーム数で到達しています。

今回の世界記録更新の決め手となったのは8-4です。
8-4は最後のステージであることからステージクリア後の暗転画面が存在しないため、ここで約0.1秒を縮めたというわけですね。

改めてKosmic氏の8-4を見てみますと、地上での土管の入り方や特定位置まで進んでからの引き返し、さらに水中ステージの終わり際の土管の入り方など、減速しやすい場面をとてもスムーズに抜けています。

記録を出すためのテクニック紹介

8-4以外は前世界記録達成者と同じタイムで来ているわけですが、復習の意味も込めて『スーパーマリオブラザーズ』RTAの必須テクニックを紹介します。

旗らけ

旗らけは1-1、4-1、8-2、8-3で使用しているテクニックです。
本来ならばステージクリア後は旗が降りてきます。旗が降りてくるところはプレイヤーの介入の余地がなく待つことしかできないためその分遅くなってしまいます。

flagpole glitch

スーパーマリオブラザーズ』のステージクリア後のプログラムは、まずマリオを一番下まで下ろしてから旗からマリオを降ろし、そこから次のステージへ向かわせるという処理が走ります。

この時、旗を掴むのが一番最下段であった場合はマリオを一番下まで下ろすという処理がキャンセルされます。
ステージクリア時のマリオの位置を旗の最下段にするのはかなり難しく長年TASでないと不可能と思われてきましたが、2016年にSockfolderという方が最下段を掴むための簡単なセットアップを開発しました。

これにより1-1、4-1、8-2、8-3で旗らけを使うことで21フレームルールの壁を突き破ることに成功しています。

ちなみに8-1では使用していませんが、8-1では旗らけを使っても21フレームルールを突き破るほどは早くならず、結果として旗らけを使わない場合と同じタイムになってしまうからです。

壁抜け

1-2と4-2で使用しているテクニックですが、本来ならば通れない壁を抜けて進んでいます。

壁抜けは説明が難しいのですが、一定の速度と一定の入射角でマリオを壁にぶつけることで壁の当たり判定を抜けて先へ進めるというものです。

壁を抜けるときは減速しているので知らない方が見ると失敗しているように見えますが、こうしないと壁に入れないからであってミスではありません。

ワープ先の指定

1-2と4-2と8-4で意識しているテクニックとしてワープ先の指定があります。

一番分かりやすい例が4-2ですが、マリオが入る土管は本来ならば先のステージへ続いています。
ですが、先のステージではなく蔦を登って進むところへワープしています。

スーパーマリオブラザーズ』にはワープ先を指定するためだけに存在する透明オブジェクトがあるのですが、この透明オブジェクトを視界に捉えた瞬間にワープ先が決定するという仕様があります。

上記画像を例とすると、実はこの画面で見えていない右のほう(数ドット先)にワープ先を変更するための透明オブジェクトが存在しています。
ステージの最初に壁抜けをしていますが、壁抜けによってマリオの定位置を本来の画面位置真ん中から画面位置やや右寄りにずらすことで透明オブジェクトを表示させないようにしています。

最後に視界に捉えた透明オブジェクトは蔦の先にある8面にワープする地点なので、蔦を登らずに土管から蔦を登って進むワープ先へ進むことを実現しています。
蔦を登るモーションは長いのですが、土管からワープすることでモーションをカットしてその分早くなっています。

4-2ではマリオをずらして本来のワープ先を見えないようにし、逆に1-2と8-4では次に進むワープ先を見てから引き返して土管に入るようにしています。

壁ジャンプ

8-4で使用しているテクニックで、わずか1ドットの隙間を使って何もない足場からジャンプをしています。

本来ならば左にある隠しブロックを出現させてそれを足場として進んでいくステージですが、隠しブロックを使わないことで時間が短縮できます。

まとめ

スーパーマリオブラザーズ』の世界記録がどのように達成されたのか、またRTAで実際に使うテクニックをまとめてみました。

そして、実はこの世界記録が理論値というわけではありません。
具体的には、8-1と8-2で人力で21フレームルールを突き破るためのテクニックは既に開発されています。

あまりに成功率が低すぎるがためにまだ実践的ではないですが、今回の世界記録更新を受けてまたRTA界隈が活発になるでしょうから、いつか新たな世界記録が登場するかもしれません。

今回の世界記録はミスもほぼなく超えるのはかなり難しいですが、再び世界記録が更新されるその時を期待しましょう。

(カセットの写真は筆者宅にて撮影し、ゲーム画像はすべて [WR] Super Mario Bros. Any% Speedrun in 4:55.646 より引用しました)

参考リンク

コメント

タイトルとURLをコピーしました