無駄に連れまわしていると行動に制限が生まれ、ロスになってしまいます。
SMW全クリTASではスペシャル4からドーナツ平野コース1まではヨッシーは必要なく、
再取得も楽なのでスペシャル4の最初にヨッシーを捨てる予定でした。
バニラドームでも3コースのために捨てたことですし。
しかしバニラドームと違ってこちらは単調(TAS的に)な面が多く、
ロスも少なくなるので捨てない方が早くなるような気もします。
まあ実際にやってみればいいんですが、今回は面が多くめんどくさいので
計算によって求めてみることにしました。
(追記)
思い違いにより計算にほとんど意味がなくなったので大幅に修正しました。
具体的な計算はしないことにしました。
ヨッシーに乗ることによって生じるロスは以下のようなものがあげられます。
なおマリオの状態はマントマリオを想定しています。
マントマリオでないときはヨッシー飛行が必要ないので1,2のロスはなくなります。
1.ヨッシー飛行するまで速度49で移動することによるロス
2.ヨッシー飛行するときにヨッシーに乗りなおすときのロス
3.縦土管に出入りするときのロス
4.ラグ
5.その他
1はダッシュジャンプ直後にブロックがある場合はロスがなくなりますが、
ヨッシーに乗ってなくても頭をぶつけてマント飛行できるので、
ヨッシーのほうが早くなることはありません。
微妙な高さの違いを考えればあるかもしれませんがそこは無視しておきます。
2はヨッシーに乗りなおすときに速度が0になるために発生するロスです。
3は高さの違いのためか入るときも出るときも10フレームくらいロスします。
横土管は関係ないです。
4はヨッシーが1つのスプライト(敵とか動く足場とか)として扱われるので
その分処理量が増えてラグにつながります。
ステージ内のラグのほかにフェードアウトラグも増えるようです。
ラグはそのときの行動やスコアによっても変わってくるので
計算で求めるのは難しいです。よってラグが減ることを祈るのみです。
5はスピン、物持ちなど行動の制限や高さの違いなどによるロスです。
逆に助走中の邪魔な敵を食べたり、青甲羅飛行でスクロールしたりで短縮できることもあります。
こういうのは計算では求めにくいので直接比較したほうが早いです。
次に計算が必要そうな1と2のロスを計算してみましょう。
まずは1番、この区間ではヨッシー無しでは51、ヨッシーありでは49で移動してるので
単純に毎フレーム2サブピクセルずつ差がついていきます。
後はフレーム数を調べればいいのですがさすがに難しいので、移動距離から算出します。
移動距離は平地の場合は助走してから速度51になるまでに約16マス移動するので、
ヨッシー飛行をする場所までの距離から16マス分引けば求められます。
そして移動距離をサブピクセルに直して49で割ればフレーム数が求められます。
例えば移動距離が30マスなら
30*16*16/49 = 156.73... で156フレームかかるので
156*2=312 で312サブピクセルのロスとなります。
次に2番、ここでは速さ0から速さ51を取り戻すまでのロスを考えればいいです。
ヨッシーに乗りなおしてからの速さの推移は 0,8,12,…,40,44,48,47,51 となりますが、
このうち 48,47,51 の部分はヨッシー無しの場合も含まれるので、0~44までのロスを計算します。
ヨッシー無しの場合、当然この部分を速さ51で進むので
51*12-(0+4+…+44) = 348 で348サブピクセルのロスとなります。
これらのロスを全て合わせたものがヨッシーがいることによるロスになります。
これがヨッシー再取得のロスを上回ればヨッシーを捨て、
下回ればヨッシーをつれてけばいいことになります。
ただ、10F程度の違いならラグなどになり盛り返されることがあるので
実際にやってみたほうがいいかもです。
Powered by "Samurai Factory"