[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
マリオワールドでは上の画像のような場面に出くわすことがよくあります.
このような横向きの土管に最速で入るためには,一体どのような条件を満たせばいいのでしょうか.
ここで「最速で入る」というのは「最速で次の画面に切り替わる」ことを
指すことにします.
真っ先に考えられるのは,何も考えずに最速で土管に触り,そのまま土管に進入するというルートです.
しかしこれは実際には最速とは限らず,上の画像(これは any% TAS のもの)では土管の直前で速度を落とすことでマリオの位置を調整しています.
当時は条件等は深く考えずにやっていたのですが,最近になって気になってきたので色々と条件を考えてみました.
ではまず土管に入るための条件は何でしょうか.
土管に右方向に入るためには次の3つの条件を満たしている必要があります.
- →を入力する前のフレームで着地している(ジャンプしてはいけない)
- →を入力する前のフレームで土管に接している
- マリオが右方向を向いている
ではさらにもう一歩踏み込んで,土管進入後画面が切り替わる条件は何でしょうか.
土管内ではマリオの速度は8になり,ある一定の座標に来ると画面が切り替わります.
この「ある一定の座標」というのは土管とマリオが土管に進入したときのサブピクセルとで決まります.
もう少し正確に言うと,土管によって決まる座標(ピクセル未満は切り捨て)と,マリオが土管に入ったときのサブピクセルを足した値に来たときに画面が切り替わります.
以上を踏まえた上で,最速で土管に入るためにはどうすればよいか.
要は土管にめり込めばいいんですね.
まず37慣性の場合を考えてみます.
この場合土管には2ピクセルめり込むことが出来るので,めり込みが1ピクセル以下の場合には速度を調整しなおして2ピクセルめり込むようにします.
こうすると土管へ進入するのは1フレーム遅れますが,画面の切り替わりが2フレーム(または4フレーム)速くなるため,結果として2ピクセルめり込みが勝つことになります.
49慣性の場合はどうでしょうか.
この場合,最大で3ピクセルめり込むことが出来ますが,土管に入るための条件 a から,めり込みが発生するときの速度は48以下にならざるをえません.
つまり土管に入るためには2ピクセルしかめり込むことができないのです.
よって49慣性のときには37慣性と同じ手法をとればよいことになります.
これに対して51慣性の場合は,土管進入時も3ピクセルめり込むことが出来ます.
めり込みが2ピクセル以下のときは1フレーム犠牲にして3ピクセルめり込みましょう.
また,水中ではアイテムを持っているときのみ,1ピクセルめり込んで土管に入ることが出来ます.
以上をまとめると次のようなめり込みが理論値につながることになります.
- 51慣性→3ピクセル
- 37慣性,49慣性→2ピクセル
- 水中(アイテムあり)→1ピクセル
壁ジャンプに必要(かつ十分)な条件は何でしょう?
Super Mario World Tricks の Walljumping の項目には次のようにあります.
In order to pull off a walljump, Mario needs at least a speed of 35 going toward a wall (壁ジャンプには速度35以上が必要である)
しかしながら MIX3 テストランの「篭城犯・イギー」を見ても分かるように,
2マス幅での加速でも壁ジャンプすることは出来ます.このときの速度は −24 だったので上の条件はやや強すぎるということが分かります.
すみません,速度は −33 でした.(2008年7月15日追記)
「篭城犯(ry」でのあの壁蹴りは今回で4回目とかだったんですが,
今回のテストランではなかなか上手く行かなかったので横座標を見てみました.
横座標については SMW Tricks または 悟茶辞苑の記事 を参照してください.
さて,色々やってみて分かったことというのが,「1ピクセル以上壁にめり込むことが必要」であるということです.
実際には2ピクセル以上のめり込みが必要です.
これが十分条件であるかどうかはまだ分かっていません.
ただ1ピクセル未満のめり込みでの成功例はまだ見つかっていないので,
1ピクセルめり込むための速度,つまり速度 17 以上が必要ということは言えそうです.
08年7月15日の時点では2ピクセルのめり込みが必要十分であるように思えます.
また縦座標に関する条件についても調べようと思いましたが,
横座標に比べてこちらの条件はかなり甘いのでやめました.
注意すべきなのは,一般にマント状態のほうが縦座標の微調整が難しいため
壁ジャンプしにくいと思われがちですが,今回の視点から見れば,
マントであるかそうでないかはほとんど影響を及ぼさないということになります.
以上のことをまとめると,
壁ジャンプするためには1ピクセルめり込まなければいけない.
壁ジャンプするためには2ピクセルめり込まなければいけない.1ピクセルめり込むには速度 17 以上が必要.
2ピクセルめり込むには速度 33 以上が必要.- 縦座標に関する条件は横座標に比べてあま~~い.
- マントの有無はあまり関係がない.
気が向いたら十分条件のほうも煮詰めていこうと思います.
とりあえず「2ピクセル以上めり込む」を必要十分条件として設定します.
実は友人マリオ第二作のアークレイ山地をやり直してみたのも,
この情報の有用性をチェックするためでした.
例の6段壁ジャンプを追記200回程度で抜けることが出来たので,
それなりに使えるんじゃないかという結論.
ちなみに例のブーストテクニックを使うことで P メータも維持することが出来ました.
残りタイム 341 の秘密はその辺に隠れていたりします.
(追記)
今回の考察は通常の壁に対するものです.
移動足場やメッセージボックスなどのマリオが引っかかりやすい壁の場合には,
壁ジャンプの条件はもっとゆるくなります.
(追記@2008年7月15日)
壁蹴り条件に関していくらかの訂正を施しました.
自分の勘違いによって混乱を招いてしまったことをお詫びします.
SMW における加減速のアルゴリズムは非常に独特です.
加速についていえば,フレームごとに1または2だけ速度が上昇します.
これに対して減速の場合は,
逆方向にキーを入れると速度がフレームごとに2または3減少し,
Yボタンを押しながら逆方向にキーを入れると5ずつ減少します.
この5の減速というのが加速よりも異常に大きいことを利用します.
最初の1フレームだけ進行方向とは逆にキーを入れることによって,
最高速に達するまでのフレーム数を1,2フレームだけ短縮することができるのです.
これは本当に微々たる差なのでゴールまでのタイムを短縮するとか
そういうことは期待できないのですが,
たとえばスタートしてすぐに障害物があったりして僅かに速度が足りなくて
減速を余儀なくされるなどという場合には威力を発揮しそうです.
[作戦会議] うっとりジャングルの smv の「賑やかな樹海(鍵)」の最初の部分が
まさにそれなんですが,通常ゴールの方では届いていたブロックに
ギリギリ届かなかったためやむをえず減速しています.
同じステートから上の方法で加速してみたところ
なんと無事ブロックに届きました.
使いどころはかなり限定されそうですが,有効であることは間違いないでしょう.
ゴールまでのタイムもゴールの位置次第では1フレーム短縮される場合が
あるかもしれません.
これは色んなコースで実際に両方の方法で走ってみて比較するしかないですね.
ただ上の方法の方が速いのは確実っぽいので,
今後のテストランではこの方法を用いてみようと思います.
ぶっちゃけ文章で説明されても良く分からないと思います.
やり方は簡単なので実際に両方向に試してみるのをおすすめします.そして有用性を実証してください.
(以下追記)
一応速度の増え方も書いておいたほうがいいと思うので
表にしておきます.
フレーム数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | … | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
従来の方法での速度 | 0 | 1 | 3 | 4 | 6 | 7 | 9 | … | 30 | 31 | 33 | 34 | 36 | 35 | 36 | 35 | 37 |
新方法での速度 | 0 | −2 | 3 | 5 | 6 | 8 | 9 | … | 30 | 32 | 33 | 35 | 36 | 35 | 37 | 36 | 35 |
どうも.
私生活を追記したがっている Mr. です.
琉斗さんのカンストTASに触発されて勢いで作りました.
ハナちゃんを踏みまくるとスコアやコインが急上昇するバグを
利用したカンストTASです.
「あれ?マントいらなくね?」と思ったのをそのまま形にしただけなので
全然吟味してなかったりします.
さっき試しに別の方法でテストランしたら1分1秒を切ったので
もしかしたら1分も切れるかもしれません.
というわけで次の目標は1分を切ることに大決定しました.