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

2016年6月26日(日) 20:11

どうやって最適化?

 インベタで最初のコーナーに突入。

 既に予備調査で、ここのSDは壁との距離がほぼゼロでも発動可能なことを確認済みである。そのうえで、改めて突入ラインをインベタに変更している。漫然と突入する場合に比べれば、既に0.1秒ぐらいは違うはず。

 2周目以降は同様の手法は使えないため、恐らく2周目3周目に比べて1周目のラップタイムだけ突出して速いと予想できる。
 1周目の製作が済めば、2周目3周目は0.1秒ずつ余計に必要と想定し、トータルタイムの予想が可能だろう。厳密には、次ラップの都合を考えなくて済む3周目の方が、2周目より僅かに速くなるはず。

 実際には理屈通りにTASが仕上がるかどうかは分からない。だが、少なくとも理論上は1周目が最速。ふつうレースゲームで、1周目が最速ということはない。PSリッジは特殊だ。

 さて、SDを掛けるのはTAS的には容易だ。スクリプトで片っ端から操作を試して、最大速度を出せるパターンを探す。問題は、SDが開始された後。
 SDが終了するとき、速度が出ていれば出ているほど大きく速度が落ち込む。だから、ひたすら速度を上げれば速いというものでもない。落ち込んだ速度がある程度戻るまで、次のSDは使えない。

 SDが使えるように早めにSDを終了させ、速度の落ち込みも小さくしたい。
 だが、早く終了させればタイムロスだし、遅く終了させれば次のSDが使えなかったりSD終了時の減速が大きくなる。
 速度の落ち込みを減らすには終了時の速度は遅い方が良くて、と遅くなった速度を復活させるのも容易な場合と困難な場合がある。遅くなった速度は、タイミング良くシフトダウンすると早期に回復するが、効果があるかどうか、どの程度の効果があるかどうか、は謎が多い。
 いやもうここまで書き出しただけでも、これどうやって最適化するの?と言いたくなる。

 SDで速度を上げるのは、TAS的には難しくない。しかし、330キロ以上出した場合には、トータルでは遅くなるケースが多い。その気になれば340キロ近くまで出せるが、最高速が上がれば良いってものではない。
 PSリッジでは得てしてSDでどこまで速度が上がるかを注目してしまうが、実際の価値は限定的だ。

 厄介なのは、SDが解除されるタイミングがSD中の操作に依存しているらしいこと。そして、いったん解除されたら速度の落ち込みと復活させ易さも決まってしまう。レースゲームのTASというより、戦闘で乱数調整やるのが困難なRPGみたいな気分だ。
 SDの速度上昇と、SDが終了するタイミングと、終了直後の減速と、速度復帰の容易さ。これらはほぼ一体化していて、一部を単独で調整するのは困難だ。

 そこで、SD中のキー操作を変化させ、大量の走行を試行することにした。
 スクリプトで1万通りぐらいのSD走行を発生させ、次コーナー手前まで到達したものを取り出す。SDが解除されたフレームやその時点の速度。解除直前の速度。、到達時のフレームや速度と座標。もろもろのパラメーターをCSVファイルに出力。
 データーベースに読み込んで、あれこれ操作してベストな走行パターンを探す。

 トンネルを抜けた右コーナーは急なので、アウト側に寄せておかないとマズい。それも考慮すべき条件だ。考慮することが多過ぎて、大量のデーターを人間で判断するしかない。

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