【マリオ64 RTA】WF ノンストップぶっこわにおける最適化方法を解説する

解説バッタンキングのとりで

バッタンキングのとりでたいほうでぶっこわせ!(以下ぶっこわ)は、最適化を知っていると速いタイムが出せるスターである。

70枚idealrunを作る時に『ノンストップぶっこわにおける最適化方法』を考察したので、今回はその結果を紹介する。

今回解説するパート

今回解説するパートは以下2つある。1パートずつ丁寧に解説していく。

  • 崩れる足場付近の茶色の坂にたどり着くまでの幅跳び
  • 崩れる足場前後の処理

崩れる足場付近の茶色の坂にたどり着くまでの幅跳び

まず先に結論を述べると、このパートでは

  • 5.10秒でしゃがみ
  • 5.13秒で幅跳び

を狙うのがポイントだと私は考えている。

このセクションでは、このタイムを出せるようにするための最適化を紹介する。

wf-cless-nstop-optimization-1 wf-cless-nstop-optimization-2

パート1: 木をつかまる&離れるパート

このパートで注目するべきは、木につかまるタイムと木から離れるタイムぐらいだ。以下の画像がそれらフレームとなっている。

wf-cless-nstop-optimization-3 wf-cless-nstop-optimization-4

木につかまるタイムが2.03秒で、おそらくこれがマックスである。

木から離れるタイムは2.90秒。このタイムは木から最速で離れた時のタイムではなく、3フレーム程度木を登ってから離れたタイムとなっている。

幅跳びで木につかまる場合、そのままだとマリオが少し右に向いているので、ちょっとだけ木を登って補正をかける必要がある。ゆえに、2.90秒がマックスだと思われるが、もしかしたら、あと1フレームいける可能性がある。

更新できるかどうかはともかくとして、『2.03木つかまり、2.90木離れ』を覚えておこう。

パート2: 灰色の坂のパート

『5.10秒でしゃがみ、5.13秒で幅跳びを出す』を実現するのに最も重要なパートがこのパート2だと思っている。

『ライン取り』と『ジャンプダイブの向き』と『ジャンプダイブの軌道』を意識しないといけないからだ。

ライン取り

まず、灰色の坂に乗るところは、坂に吸いつくように着地することを意識すると良い。

wf-cless-nstop-optimization-5 wf-cless-nstop-optimization-6

そして、この先の『ジャンプダイブ~幅跳び着地』が最重要パートとなる。

以降でライン取りの話をするが、文章量の関係上、アプローチはジャンプダイブがベストである前提で話を進めていく。

まずは、灰色の坂と終着点である茶色の坂を上から見た時をイメージしてほしい。

wf-cless-nstop-optimization-7

アプローチの距離を無視して考えると、最速のライン取りは以下2つが考えられる。

wf-cless-nstop-optimization-8 wf-cless-nstop-optimization-9

  • 1枚目: 最速で茶色の坂に着地するのを意識したライン取り。(以下、Aのライン取り)
  • 2枚目: 灰色の坂で距離を稼いだ後、幅跳びの向きをほぼ垂直に出すライン取り。(以下、Bのライン取り)

Aのライン取りBのライン取りの差は以下の2つある。

  • 幅跳びを出すまでのタイム差
  • 茶色の坂に着地した後、左に向くのにかかるタイム差

『幅跳びを出すまでのタイム差 > 左を向くのにかかるタイム差』ならAのほうが速く、逆ならBのほうが速いということになる。

実際に当てはめると、

  • Aでは、マリオの向きを作ったらすぐジャンプダイブ
  • Bでは、少し歩いてからジャンプダイブ

となるのだが、プレイしてみたところ、坂にダイブ復帰が吸われてしまうため、どんなに歩きを多くしたジャンプダイブでも、Bのライン取りの地点までは届かなかった。

この結果から、私はAのライン取りのほうが速いと考えている。

ジャンプダイブの向き

ここのジャンプダイブは極力左を向くように意識したほうが良い。イメージに起こすと以下となる。

wf-cless-nstop-optimization-11 wf-cless-nstop-optimization-10

1枚目は左向きジャンプダイブ、2枚目は右向きジャンプダイブとなっていて、右向きジャンプダイブだと左に向くまでにロスが発生することが分かると思う。

ただ、ジャンプダイブ前の段階で灰色の足場の左側に寄っているため、ジャンプダイブを左に向けすぎると足場から落ちてしまう。

よって、ここでの最適なジャンプダイブの向きは、灰色の坂とほぼ平行の向きだと考えられる。

ジャンプダイブの軌道

上記の考えをもとに、灰色の坂と平行の向きのジャンプダイブを出すとひとつ問題が起こる。それは、ジャンプダイブ後に曲がり切れないという問題である。

曲がり切れるようにするには、以下の画像のように少し右にずらす必要がある

ただ、この後の幅跳びは足場の端っこで出さないとロスになってしまうので、あまり右に行き過ぎてはいけないのもポイントだ。

wf-cless-nstop-optimization-12

まとめると

このパートにおける私的最適化ポイントは以下で、これらを意識すると『5.10秒でしゃがみ、5.13秒で幅跳び』が出せると思う。

  • 最速で茶色の坂に着地するのを意識したライン取りにする。
  • 灰色の坂とほぼ平行の向きにジャンプダイブするのが良い。
  • ジャンプダイブを出した後は少し右にずらす必要がある。(足場から落ちてしまうのを避けるため)
  • しかし、次の幅跳びは足場の端っこで出さないとロスになってしまうので、右に行き過ぎてはいけない。

実際にタスを作った結果、(少し大げさだが)以下のライン取りとなった。

wf-cless-nstop-optimization-13 wf-cless-nstop-optimization-14

1枚目の画像がジャンプダイブ復帰したフレームで、2枚目の青色のマークをつけた場所となっている。

おおよそ、矢印模様の先っぽあたりでダイブ復帰しているので、ここを目安にすると良いだろう。

崩れる足場前後の処理

このパートでは『どんな角度のジャンプダイブで崩れる足場に突入するか』が最適化ポイントとなる。

最適なライン取りを考えてみる

以下が崩れる足場を上から見たイメージである。

wf-cless-nstop-optimization-15

このイメージに、アプローチなどを考慮せずに最適なライン取りを描いてみた。

wf-cless-nstop-optimization-16

実際にこのライン取りでジャンプダイブを出すとひとつ問題が起こる。

それは、崩れる足場での復帰が手前すぎて距離が出ず、逆にロスになってしまうという問題である。

この問題を回避するために、『崩れる足場に並行過ぎないライン取りで』『復帰が手前過ぎないようにする』必要があり、それを満たしたのが次のセクションで紹介するライン取りである。

実際に試した結果得られたライン取り

私が思う最適なライン取りは以下だ。このパートにはポイントが2つあるので、その箇所を▲と★の記号で示した。

wf-cless-nstop-optimization-17

▲の記号が示しているのはダイブ復帰する位置である。

ダイブ復帰する位置は崩れる足場のだいたい真ん中で良い。70枚idealrunでは以下の位置で復帰している。

wf-cless-nstop-optimization-18 wf-cless-nstop-optimization-19

続いて★の記号。これは無理やり上に補正しているという意味になっている。

このライン取りでは、ジャンプダイブでかなり左を向いているため、左方向へは距離が出る分、上方向への距離が足りなくなる。なので、無理やり上入力を入れているのだ。

以上がポイント2つで、このライン取りを実現するには、茶色の坂で多めに左に向く必要がある。

wf-cless-nstop-optimization-20 wf-cless-nstop-optimization-21

ジャンプダイブを出したタイムだけを見ると遅いように見えるが、最終的には速くなる(と思われる)ので問題ないと考えている。

以上が崩れる足場前後の処理の話になるが、誤解されないように1点補足しておく。

このセクションで紹介したのはノンストップぶっこわにおけるライン取りであり、その他のルート(セットアップなど)ではこのライン取りでは遅くなると思われるので、注意してほしい。

※『進む先を意識してライン取りを考える必要がある』という意味である。

むすび

今回の紹介した内容は70枚idealrunを作成した時(2019年2月)に考えた最適化となるが、考え得る可能性を全てつぶしたわけではないので、この最適化が最適だと断言することはできない。

気になる方は自分自身で調べてみてほしい、というのが本音である。

将来、「この最適化方法は遅かった」と気づく可能性もあるので、その時は別途修正記事を書くつもりではいる。