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

2017年8月10日(木) 20:05

またバグ発見

 S-JET 噴射中の4つのコーナーのうち、2つ目の左コーナーはやたら解に異常が発生する。明らかにブレーキを掛けるべきではないタイミングでブレーキが掛かるのだ。
 これまでは、解を手動で修正していた。

 いいかげんスクリプトを修正すべきだろうと考え、動作を詳細にチェック。すると、やはり大バグが潜んでいた。
 速度変化を監視するため、1フレームごとに速度を保存しておき、次フレームで取り出している。問題は、特定条件でステートロードして1フレームやり直すという処理にあった。やり直した場合に、速度を取得し直すのを忘れていたのだ。
 そのため、やり直し前の速度が保存され、後の比較が意図通りに行われていなかった。

 修正後のスクリプトを動かしたところ、1つ目の右コーナーが逆に遅くなった。
 部分的最適化を集めても、全体の最適化にならない。やはりこのゲームは恐怖だ。
 しかし、2つ目の左コーナーでは少し速くなった。そのまま S-JET 最後までスクリプトをリレーしたところ、見事に0.6フレームほど速くなってショートカットファール直後のアドバンテージをしっかりキープできた。

 このバグはポートタウン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