Darkside(リンクエラー修正しました)

2015年3月25日(水) 21:14

MTの優位性

 スクリプトを走らせていると、シフトチェンジは案外悩ましい。
 どのタイミングでシフトチェンジを行わせるかという判断は、実車のオートマのプログラムを作成するようなものだ。直線コースを加速しながらシフトアップするのは簡単だが、シフトダウンをどうするか?
 回転数ではなく速度で判断すれば、それなりに動く。また、スクリプトの場合はアクセル使うかブレーキ使うか明確なのも有利である。加速時はシフトアップだけ考えれば良いし、減速時はシフトダウンだけ考えれば良い。

 更に、スクリプトのパッド入力は、特に記載しないボタンは自動的に押されていないものとして処理される。これも便利。
 例えばシフトアップするとき、所定の回転数を超えていれば↑を押す、というだけで良い。シフトアップが認識されると回転数が落ちるため、自動的に↑の入力が無くなる。現在が何速であるかを見ながら切り分けしてやると、実用上は問題ない。
 こうして簡易にシフトチェンジを組み込んでスクリプトを走らせたが、最適解と思しきコーナーリングのシフトチェンジに疑問を覚えた。曲がり始めで4→3速に落としているが、その数フレーム後に3→4速に戻ってしまっているのだ。

 4速にシフトアップされた理由は、回転数が所定の値を超えたからである。
 だが、この所定の回転数というのは、直進加速で調査したものだ。しかし今の場合、シフトアップ直後はコーナーリングが続くため加速しない。すぐに加速されて回転数も上昇するのを前提に、シフトアップされてしまっている。実際には、3速のままコーナーリングした方が明らかに速いと思われる。
 試しにムービーファイルを書き換えて、シフトアップを削除。これで再生すると、案の定コーナーリング速度が上昇。しかし、その分アウトに膨らんで屋台に突っ込んでしまった。

 という訳で、シフトアップしないようにスクリプトを書き換えて、再度走らせる。
 こうして得られた結果を、シフトアップ版の結果と比較。コーナー脱出して直進加速に移行した途中で4速に上げ、遥か前方での速度と座標を照合する。結果は案の定で、シフトアップせずにコーナーリングした方が遥かに速かった。
 同一状態でも、これから直進するのかコーナーリングするのか減速するのか、未来の運転次第で最適なシフトチェンジは異なる。人間であれば未来の運転を分かっているから最適なシフトチェンジを行える。だが、オートマのプログラムには悩ましい判断だろう。こんなところに、MTの優位性が現れる。

written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4