マリオ1世界記録に対する正しい見解

2014年7月6日

先月の6月25日、3年間破られていなかったFCのマリオブラザーズの世界記録が破られたということで話題になりました。
ただ、世界記録ということだけが注目され、そこに至るまでの背景等をまとめているWebサイトがどこにも存在しないため、これを機にまとめておきます。

前世界記録

マリオブラザーズの以前の世界記録は、Andrew氏が出した4:58です。
氏は、2007年に5:00のタイムを出してから1秒刻みで更新を続けており、2011年に4:58のタイムを出すに至りました。2011年時点のタイムでは、21フレームルールのこともあり、これがほぼ理論値とされてきました。

21フレームルールとは

マリオブラザーズには、面と面との間にある暗転画面の長さが一定ではないという仕様があり、そのルールのことを21フレームルールと言います。

原文が英語なのに加えて多少分かりにくく書かれているので、正確には違うのですが分かりやすく言い換えて解説しますと、マリオブラザーズには1~21までを1カウントが1フレーム(1/60秒)間隔でひたすらループで数え続けている乱数があり、それが21をカウントした瞬間にだけ面クリア後の暗転画面が解ける仕様となっています。
なので仮にこの数字が1で面をクリアしてしまうと暗転画面の長さは20フレームですが、少し遅れてしまってこの数字が20でクリアしてしまっても暗転画面の長さが今度は1フレームだけになるので、結果タイムとしては変わらないものとなってしまいます。

このルールのせいで、Andrew氏の出したタイムを上回るには21フレームルールの打ち破るほどの早さでプレイしなければならず、1フレームや2フレーム程度の短縮では21フレームの前では面を跨ぐ際の暗転時間の長さで結局は均一のタイムとなってしまうため、相当に難易度の高い壁として先日まで立ちはだかってきました。

今回使われたバグ

そんな21フレームルールを打ち破るために、今回のプレイで使われたバグは通称「旗らけ」と呼ばれるものです。このバグは、敵を踏んづけたりして得点が入ると同時に旗を取ることで、本来旗が下りてきてからここまでのタイムによる得点加算が入るところを、旗が下りてきていない状態でいきなり得点加算をさせるというバグです。
このバグは、最近発見されたと書いてあるニュースサイトも見られましたが、実は現在確認できるものだと2007年のTASから既に使われているバグで、人力での再現もAndrew氏によって数ヶ月前に確認されており、それ自体は特に目新しいものでもありません。

ただ、このバグは人間には不可能なほど早く正確な操作で行っている箇所がほとんどで、今まで人間の手でタイムが早くなるようプレイすることは不可能とされていました。

8-2でのバグの実用

しかし、今回プレイしたBlubbler氏はこのバグに目をつけ、人間の手で再現することに成功しました。
このバグを起こすには2つの方法があり、1つは人間には不可能なほどの早く正確な操作で旗を一定角度からジャンプして取り、バグで100点を取りながら旗を取る方法です。そして、もう1つは8-2でのみ行っているもので、砲台から飛び出してくるキラーを踏むと同時に旗を取る方法で、Blubblerはこれに目を付け、実践するに至りました。

ただ、このキラーも飛び出してくるタイミングがまちまちすぎて、毎回最速タイミングで飛び出してきてくれるものではないので、相当な試行回数の上でようやく実現できるレベルのものだったようです。

チート疑惑

最後に、Blubblerが行ったこのプレイが、エミュレーターを使っていることもありチートではないかという疑問を呈する声が特に海外では強まっているようなので、ここでまとめておきます。

一番多く言われているのは、パックンフラワーに当たっているのにマリオがやられていないからチートではないかという声です。
これは、パックンフラワーの当たり判定はFC版だと特に緩やかで、見た目よりかなり小さく設定されているからです。一応Blubbler氏本人が解説画像を作ってくれたようなので、それをご覧いただけたらと思います。これはチートでも何でもなく、前記録達成者のAndrew氏も同じようなパックンフラワーの立ち回りで記録を出されています。

他にもキラーのバグがおかしいだとか、8-4の壁蹴りがおかしいだとか、クッパのハンマーに当たっているだとかいう声がありますが、これも上記と同じくチートでも何でもなく、操作は当然シビアですが人力で一切チートも改造も使わず可能なものです。マリオブラザーズのタイムアタックを行っている方なら知っている常識の挙動なのですが、世界記録として出されたこのYouTubeの動画は公開と同時に世界中にその情報が駆け巡ったため、ゲームに関してもあまり知らない人にまで閲覧されたがために起きた誤解ではないでしょうか。

唯一、チートと言われてもおかしくない点としては、Twitchで行っていた時の配信のフル版動画を見てもらえば分かりますが、Blubbler氏はプレイする際に内部経過フレームを見ながらプレイしていたことでしょうか。内部経過フレームを見ても結局人間の手でプレイしていることには変わりありませんが、本来は見えない内部数値を見ながらのプレイは人によってはおかしく思う人がいてもおかしくはないでしょう。

参考リンク

共にSDA内のコンテンツで、前世界記録動画及びWikiのバグ情報を参考にしました。

前者はGame*Spark、後者はJ-CASTの記事です。
国内記事は他にもありますが、速報性に優れていたGame*Sparkと改造疑惑までをちゃんと追っていたJ-CASTを参考にまで載せておきます。

追記

2014/07/07
コメントからの意見を踏まえ、チート疑惑の箇所の文章の表現を直すとともに、脱字を一部修正しました。

2015/10/20
darbian氏によってここで紹介している記録も抜かれ、4フレーム早くなって4分57秒627が世界最速記録となりました。

8-4到達までは21フレームルールによって同一のタイムですが、8-4で前記録より4フレームほど縮めたようです。

ただ、これもまだミスがある記録で、まだまだタイムは縮められそうということです。
具体的にタイムが一番縮められそうな箇所として、4-2のつたワープのところでの21フレームルールの先を行くことが出来るらしく、21フレーム=0.35秒はまだ縮まる余地はあるとのことです。

2016/01/17
3ヶ月前に記録を出したdarbian氏によってさらにタイムは詰められ、4分57秒427が世界最速記録となりました。

今回の記録は、前記録達成時に示唆していた4-2のつたワープのところで21フレームルールの先を行くことに成功しています。
このため、8-4到達まではおそらく人間の理論値と言っても過言ではないタイムで来ています。

ただ、8-4の水中マップでミスをして少し歩いてしまっているので、それで0.1秒近く損をしています。
そのため、今回の記録も世界最速記録ではあるのですが、まだまだタイムの短縮は見込める記録となっています。

2016/04/15
上記の記録のものから、8-4でミスがない状態での記録が達成されました。

記録は4:57.260となっており、前回より0.167秒更新しています。

8-3までは21フレームルールで人力では抜くことのできない領域に来ており、8-4でも目立ったミスがないのでこの記録を抜くのは相当に難しいと思われますが、この記録を見て既に何人かのプレイヤーがさらなる新記録を目指して走り出しています。さらなる新記録の続報を期待しましょう。

RTA記録

Posted by RTAPlay!