【スーパーマリオ64】かつて0枚RTAはなぜ「人間には不可能」と言われたのか?

こちらは、0枚RTAが何をやっていてどうすごいのかを、RTA視聴者向けに解説したものになります。
0枚RTAがやってみたい方は、記事の最後をご覧ください。
 
目次

0枚RTAとはなんぞや?

スーパーマリオ64のクリアには、本来70枚のパワースター(以下:スター)が必要ですが、0枚RTAは「1枚もスターを集めることなく」マリオ64をクリアしてしまうという、最速クリアの極地です。
今でもごく一部のプレイヤーしか行うことができず、競技人口が少ないこの競技ですが、実はかつて多くのRTAプレイヤーやTAS製作者から「人間には行うことができない」と言われていた競技なのです。
 
0枚RTAでは以下のような手順でマリオ64をクリアします。
 
1)8枚のスターがないと開かない扉を猛スピードですり抜けて、その先にいるボスを倒して地下への鍵を入手
 
2)30枚のスターがないと開かない扉を猛スピードですり抜ける
 
3)扉をすり抜けた先にあるウォーターランド(以下:DDD)を猛スピードですり抜けて、その先にいるボスを倒して2階への鍵を入手
 
4)50枚のスターがないと開かない扉を猛スピードですり抜けて、3階へ突入
 
5)70枚のスターがないと突破できない無限に続く階段を
 猛スピードで突破し、ラスボスを倒す
 
以上です。基本的には猛スピードですり抜けるだけです。
 
この中で0枚RTAの肝になるのは2と3のDDD skipと呼ばれる部分でして、
これが人間には不可能と言われていた箇所になります。
 
 

DDD skipはなぜ人間には不可能と言われたのか?

これを知るには、まずDDD skipがどのような技かを知る必要があります。
DDD skipは主に以下の4工程で成り立っています。
 
1.初速をつける
2.速度を調整する
3.扉を猛スピードですり抜ける
4.DDDを猛スピードですり抜ける
 
基本的には速度をつけてすり抜けるだけですね。
では各工程がどのようなものなのかを説明していきたいと思います。
 
 

1.初速をつける

当初はこれすら人間には不可能と言われていました。
マリオ64で有名なバグとして、後ろ向きに幅跳びを出してすぐ着地、また後ろ向きに幅跳びを出すという流れを高速で行うことで、超加速するBLJ(Backwards Long Jump)と呼ばれるバグが存在します。
 
これを階段で行う場合、通常は段差に対して垂直方向に速度をつけることになります。
しかし、DDD skipに必要なのは、これを段差に対してほぼ水平方向に行うというものです。
これをSideBLJ(SBLJ)と呼びます。
 
段差に対して水平方向にBLJを行うには、
①幅跳びの上昇中に段差に引っ掛けて幅跳びの高さを殺しつつ階段を上がる
②幅跳びの着地モーション中に段差を降りる
③幅跳びの上昇中に段差に引っ掛けて幅跳びの高さを殺しつつ階段を上がる
という意味不明な動きが必要になります。
イメージできない方は動画を見ていただくのが一番わかり易いと思うので、各自動画を検索してください。
 
SideBLJを行う際、幅跳びの着地モーション中はプレイヤーの操作をほとんど受け付けず、幅跳びの最中にも角度の変更はできないため、事前にほんの僅かに角度をつけて幅跳びをしておく必要があります。
また、連続で幅跳びしている最中はただ連打すればいいわけではありません。
連打が速すぎると段差を降りきる前に幅跳びをしてしまい、連打が遅すぎると幅跳びを段差に引っ掛けることができなかったり、速度が足りなくなったりしてしまいます。
また、最適な連打速度はその時のマリオの角度、速度によって異なります。
 
更に厄介なことに、十分に速度をつけたとしても、マリオの進行方向には手すりが設置されており、この手すりの上端にマリオが触れてしまうと、幅跳びのモーションがキャンセルされ、次の工程へつなげることができなくなってしまいます。
 
 

2.速度を調整する

すごいスピードで後ろ幅跳びで吹き飛んだときに、壁に向かって後ろ幅跳びを続けると速度が上がっていきます。
(見た目にはその場で止まっているように見えますが、ゲーム内部では後ろ向きの速度がついている状態になっています。)
このとき、幅跳び1回あたり速度が約1.5倍になります。
これをAirBLJ(ABLJ)と呼びます。
 
では、ここでつけておきたい速度はどれくらいでしょうか。
マリオ64の通常プレイにおいて、速い移動手段としては(後ろ向きではなく前向きの)幅跳びがあります。
DDDをすり抜けるには、この速度調整の段階で最低でも”幅跳びの9倍”のスピードをつけている必要があります。
 
これだけだと「なんだ、幅跳びしてすごいスピードをつけるだけじゃん!」と思われそうですが、そうではありません。
 
実は、ここの壁に向かって後ろ幅跳びを繰り返しているとき、およそ”幅跳びの10倍”のスピードを超えたら速度が0になり、マリオが止まってしまいます。
つまり、がむしゃらに速度をつければいいというわけではなく、この時点で速度を幅跳びの9倍から10倍の範囲内にきれいに収めないといけないわけです。
 
静止状態    幅跳びの9倍 幅跳びの10倍
|---------速度不足--------|--適正速度--|--速度過剰(速度が0になる)----…
 
先述の通り、AirBLJ1回ごとに速度は約1.5倍になります。
例えば幅跳びの7倍程度の速度だと速度不足ですが、このときに単純にAirBLJをすると、速度は幅跳びの7*1.5=10.5倍。
この時点で速度は0になり、一発アウトになってしまいます。
そのため、AirBLJを出す回数だけでなく、幅跳びのタイミング、スティック入力など他の要素を総動員して速度を厳密に調整する必要があるのです。
 
しかも、壁に向かって後ろ幅跳びをしているとき、見た目としてはマリオがその場で壁を背にぴょんぴょんしているだけなので、速度がどれくらいついているかはぱっと見ではわかりません。
マリオの挙動のほんのわずかな違いを見て、速度を判断する必要があります。
(もっとも、マリオが普通に動いていても、目視で現在の速度が厳密に分かる人はそうそういないと思いますが)
 
 
3.扉を猛スピードですり抜ける
扉については、すり抜けるだけなら難しくはありません。
しかし、この後の工程を考えると、ここは極めて慎重に行う必要があります。
 
速度がある程度ついていれば、マリオは壁やオブジェクトをすり抜けます。
なぜ速度がついているとすり抜けるのか、説明すると長くなりますので、ここでは「そういうものだ」とお考えください。
扉の両隣の壁ではなく、わざわざ扉をすり抜けて奥へ入るのには2つの理由があります。
1つ目は、扉は通常の壁よりも薄く、すり抜けやすいためです。
2つ目は、扉に近づいたときにメッセージが表示されるためです。
メッセージ表示中はマリオが速度を保持したまま立ち止まることを利用して、スティックを倒す角度などの調整を行うことができます。
このときマリオが立ち止まった位置を利用して速度を見極め、スティックを倒す方向を正確に判断する必要があります。
ここで調整を行う必要がある理由は後述します。
 
 
4.DDDを猛スピードですり抜ける
いよいよ最後の工程になります。
DDDをすり抜ける原理を説明するには、まず「フレーム」という概念について説明する必要があります。
マリオ64の画面は動いて見えますが、実際には1秒間に約30枚という超高速なパラパラマンガのようなもので、このパラパラマンガのページ1枚のことをフレームと呼びます。
移動や当たり判定の処理も、このフレーム毎に行われます。
通常の壁などについては、やや複雑な当たり判定処理を行っています。
しかし、DDDについては、溶岩などの床の接触判定の延長の当たり判定処理となっており、フレーム毎のマリオの位置によってのみ当たり判定処理を行っています。
このフレームとフレームの間、約30分の1秒の間にオブジェクトの幅以上の移動距離を移動することができれば、オブジェクトをすり抜けることが可能です。
 
マリオが直進してオブジェクトをすり抜ける際の当たり判定
○=マリオ | |=オブジェクト
○  ○  ○| |○  ○
進行方向→
 
逆に言うと、いくら速度がついていても、ちょうどフレームの描画時にマリオがDDDに重なっていれば、DDDをすり抜けることはできないのです。
つまり、同じ速度がついていても、位置次第では…
○=マリオ | |=オブジェクト
○  ○  ○| |○(通過)
 ○  ○  |○|(接触!)
進行方向→
 
そうです。先述の速度が幅跳びの9-10倍というのは、必要条件であって十分条件ではありません。
先述の通り速度を十分につけるだけでもむずかしいのに、更に、猛スピードで動くマリオの位置を正確に調整する必要があるのです。
これを人間の操作精度で行うために、先述の3の手順でスティックの角度を調整することが重要となります。
 
近年ではマリオが猛スピードで動く中でポーズを挟み、途中で入力を変えるなどの技法も出ていますが、これもポーズのタイミングが1フレームずれると成り立たないため、極めて難しいテクニックになります。
 
 
いかがでしたでしょうか。
0枚RTAがいかに多くの難所で成り立っているか、少しでもおわかりいただけましたでしょうか。
 
この記事を読んで少しでも0枚RTAを見るのが楽しくなっていただければ幸いです。
多くの0枚プレイヤーの方々、そしてDDD skipを人力で可能なように研究を重ねられた先人のみなさまには敬意を表さずにはいられません。
 
 

更に詳しく知りたい人へ

「0枚RTAがどんなものかはわかったから、実際にやってみたい!」という方には、以下の動画をおすすめします。

 かんのさんによるDDD skipの解説動画。
 DDD skipに必要な考え方がわかりやすく整理されています。
 
 
最後になりましたが、当記事を査読していただきましたメーゼさん、みゅうさん、
動画を掲載させていただきましたかんのさんにこの場を借りてお礼申し上げます。