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

2017年3月3日(金) 22:38

大バグ

 ガードビームをケズりながら旋回し、即座に S-JET 噴射。これは、ミュートシティーの最終ヘアピンと同じ構造である。すなわち、S-JET の速度合わせが重大問題になる。

 S-JET の速度変化は整数組み合わせ問題であり、いい加減に処理すると大きなロスを招く。
 これを適切に処理する手法はミュートシティーで開発済みなので、同じことをすれば良い。
 前スクリプトが出力した最速解は、S-JET 噴射に関して限定的な組み合わせのキー操作しか試していない。S-JET 噴射の前に突入ラインを変化させるのに、場合の数を爆発させているからである。スクリプト実行時間の問題が立ちはだかる。
 そこで最速解を初期値に使用し、改めて更に複雑なキー操作の組み合わせで S-JET を噴射させ、faster 解を探す。こういう手法は局所最適の罠にハマる恐れがあるが、低速のスクリプトしか使えない状況では次善としてやむを得ない。

 だが、結果は恐るべきものだった。S-JET 噴射を最適化すると、無茶苦茶に遅くなったのだ。S-JET 噴射の最適化は、S-JET の速度合わせを優先するため、最速にならない可能性はある。だが、ミュートシティーでは S-JET の速度合わせを二の次にすると、遅くなった。
 何か困惑する異常事態が起きている。スクリプトにバグがあるはずだと調査したところ、S-JET の速度変化を計算している部分に見落としがあった。S-JET 噴射が終了すると、速度は即座に478キロに戻る。その処理が欠落しているばかりか、478キロに戻しさえしていなかった。つまり、S-JET 噴射が終了したら478キロよりも速い状態が延々と続くものとして計算が行われていた。
 大バグである。

 これを修正するということは、S-JET 最適化に集中する今スクリプトだけでなく、その前の暫定的な最速解まで間違った速遅判定の結果だったことを意味する。
 1つ前に戻って、スクリプトを再実行するしかない。

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