Darkside(https対応しました) |
2016年10月30日(日) 20:15
行き詰っているシーン。
ここから最大限に右旋回しても、かなりガードビームから離れてしまう。
S-JET 最適化の解候補について速遅判定を行うが、明らかにクルマの向きが問題だ。
向きを直接見ても良いか、座標が同一ならともかく異なるのが普通。向きが良くても座標が手前では損かもしれない。
となると、何フレームか直進してみて、その座標で判定するのが適切だろう。
そのようにスクリプトを修正しようとしたが、既にそうなっていた。
それぐらいのことは考え付いていて当たり前であり、とっくに配慮されていた。
ただ、判定を直進で行っているというのは1つのポイントである。これは、ガードビームに弾かれることを恐れた処理になっている。普通に座標判定すれば、ガードビームに食い込み過ぎた解が選ばれる危険性がある。そこで、直進しても弾かれるような解は却下し、安全な中で直進後の座標ができるだけ右寄りのものを選んでいる。
ならば、ガードビームに突っ込まないことが判明した解のうち、少しでも長くガードビームに食い込み続けるものを選んだらどうだろうか?
以前と同じ判定を行い、ガードビームに弾かれないことだけは確認しておく。
弾かれない解に対し、今度は最大限に右旋回を行い、できるだけ長くガードビームに食い込み続けた解を選ぶ。単にフレーム判定ではなく、ガードビームから離れた瞬間の座標で比較する。
これは少しマシな解が選択されるのではと期待したが、動作させると事態が悪化した。
旧解よりも左を向いた解が選ばれている。
どこで処理を誤ったのだろうか?
調べているうちに、副次的な重要事項に気付いた。
S-JET のループでは、内部速度で+256の変化が生じる。ガードビームに突っ込んだ状態では1フレームで20の減速が生じるため、256を割り切ることができず速度が2304に戻らない。ついそう思っていたが、ガードビームに突っ込みっ離しだと+240にしか回復しない。だから、20で割り切れるのだ。
全くガードビームから離れずに走り、ブレーキも使用しなければ、速度は2304に戻って来る。
だから、人力プレイでもガードビームに突っ込みっ放しでそれなりに速く走れる。
逆に言えば、TASでも無策だとそれより速く走れない。
written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4