gym-super-mario-brosのジャンプの研究

前回からの続きです。 akiyah.hatenablog.com

今回は、gym-super-mario-brosのジャンプを研究します。

最大ジャンプのAボタンフレーム数

Aボタンを押すとジャンプするのですが、押している長さに応じて高さが変わるようです。 もちろんずーっと押し続けると最大ジャンプをするのですが、何フレーム押し続ければ最大ジャンプと同じジャンプをするのか調べてみました。

ジャンプ

Aボタンを押し続けるフレーム数を何パターンか調べたところ、25フレームが最大ジャンプであることがわかりました。それ以上押しても同じ高さですし、24フレームだと少しだけ滞空時間が短いようです。

連続ジャンプ

試してわかったのですが、ずーっとAボタンを押し続けても一回しかジャンプしてくれません。Aボタンを離してから再び押すと次のジャンプをしてくれるようです。(ファミコンスーパーマリオはこうだったのか、覚えていません。)

連続ジャンプ

調べてみると、最大ジャンプの場合、着地する45フレーム目の2フレーム前である43フレーム目でAボタンが離れていて、その次のフレームからAボタンを押し続けると、連続ジャンプをしてくれるようです。 ジャンプしてから落下中にAボタンを離しておいて、着地直前にAボタンを押せば、隙間なく連続でジャンプしてくれるのですね。(なかなかシビアです)

今回のColab

colab.research.google.com

アニメーションgifと違って、Colabの中だと1フレームずつ動かすことができるので、研究する時はこちらがオススメです。

Colabの中では1フレームずつ動かすことができる