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

2017年2月7日(火) 21:44

大変なミス


 ファイナルラップは邪魔カーだけの問題で、実行時間の長いスクリプトが終わるのを待つストレスがある程度。

 そう思ったが、ショートカットファールの解探し中に、大変なミスに気付いた。この直後が S-JET だが、噴射中にブレーキを使っていない!
 S-JET は徐々に速度が低下し、通常の最高速まで低下すると一気に速度が上がる。それを4回繰り返すと噴射終了。そこで速度が落ちて来たときにブレーキを掛けると、通常の最高速まで早期に低下して次ループに入る。だから、適切にブレーキを掛けることで平均速度を上げられる。これが基本である。

 しかしポートタウン2の場合、左右連続のコーナーでガードビームに接触させまくる。これで結果的にブレーキが掛かる一方で、そのタイミングは制御が困難だ。タイミングをいじろうとすれば、肝心のコーナーリングが出来なくなりかねない。だから、S-JET 周期を直接に最適化するのは諦め、片っ端から走行ラインを試してガードビーム減速のパターンも成り行きに任せ、その中でたまたま速くなる解を抽出しようとした。
 そこに、大きな錯覚があった。

 ガードビームは強力なブレーキになるが、ガードビームと通常のブレーキを同時使用すれば更に強力なブレーキになる。だから、ガードビームと接触があってもブレーキはブレーキで別に使用するのがベターなはず。
 しかし、現在の S-JET スクリプトには意図的なブレーキの使用が含まれていない。


 だからと言って、ブレーキを組み込むのは容易じゃない。

 左右連続コーナーを走り抜けるという制約は大きく、走行ラインの自由度は小さい。その中で S-JET 周期を合わせようにも、半端にしか合わせられない。デスウインド2みたいな厳密解を要求すると、解無しが続出すると懸念される。
 そうすると、現在の速度だけ見てブレーキを使うかどうかを単純に切り分ける簡易方式が有力だ。現在に比べて、ベストではないがベターな解は得られるだろう。既存のスクリプトに手を入れるにも簡単。とはいえ手法が簡単過ぎて、ベターはベターでもそれほどベターじゃないという解になりそうだ。

 ブレーキを掛けるべき速度域は、ガードビームとの接触の有無でかなり変わる。接触する場合でも、その長さによりベストな速度域が変化する。だから、速度域を可変にしてスクリプトを何度か動かして、得られた解を比較するのが効果的だ。だが、本数分そのまま実行時間が必要になる。それに、速度域を決め打ちしてしまったのでは局所的な状況変化に対応できない。スクリプトの管理も面倒だ。

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