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

2016年7月29日(金) 21:07

完全な別解

 一直線走行と折れ線走行と言っても、ステートセーブを作る段階での差は「どれだけハンドルを切るか」だけである。
 ミュート3の製作をしていた時は、まず一直線走行を解として出力した。その後で、ムービーファイルを手動編集してハンドル時間を短くし、ガードビームと平行走行になるよう調整した。
 つまり、最後の操作が違うだけで同一走行だったのだ。

 手動編集ではなくスクリプトが自動出力してくれれば、かなり楽になる。
 その際、実際に走行させるのは1回だけで判定を2回行うのが効率的である。判定はインタープリター言語の通常速度で行われるが、走行は実時間の3倍ていどという極端に遅い速度で行われるからだ。
 だが、いざスクリプトに手を加えようとすると、同一走行に判定2回は困難だと判明。というのも、時間が掛かる実走行を減らすため、ガードビームとの間合いなどを何度もチェックして早期に切り捨てているのだ。

 一直線走行と折れ線走行ではガードビームとの間合いが異なるため、切り捨て条件も異なる。
 どう考えても、走行2回でそれぞれ別々の判定を行う方が楽だ。確かに時間が掛かるが、完全に2倍ではない。走行を繰り返すのは、走行の最終部分だけである。それに、スクリプトの安定性が向上しているので、実行を開始したら基本的に放置可能。その間に別のことができる。ほんと、以前のバージョンに比べると感動的なほど、訳の分からないエラーで落ちることが無くなった。
 だから、スクリプトの完成度を高めて、できるだけスクリプトに任せられるようにするのは効果的だ。

 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