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

2016年5月20日(金) 21:44

仕様変更

 初代 F-ZERO のミュート1に関しては、ヘアピン抜けの最適化が出来ずに中断している。

 当時のスクリプトを少し異なる条件で動作させると、約11時間で終了。当時なら17時間ぐらい要したはずで、大抵は途中でエラーが出て落ちる。数時間から20時間でエラーが出るため、膨大な追記が必要な絨毯爆撃が出来ずに困った。
 だが、最新のやつならエラーが出ないかもしれない。もっとスクリプトを実行してみないと分からない。

 ともあれ実行速度が上がり、仮にエラー発生率も下がっているとすれば、スクリプトを走らせまくって最適化に挑戦するのは可能かもしれない。
 しかしここで、想定外の仕様変更に気付く。

 スクリプト探索の結果はステートセーブしておくのだが、途中経過を見ようとロードしようとしても、できない。
 正確に言えば、当たり前ながらステートロードは可能である。だが、ムービーにロードできないので、そこまでの経過が確認できない。
 以前は、ムービーを読み書き可能にしておきステートロードすれば、そのステートまでのムービーへと書き換わった。ところが、最新バージョンではムービーに上書きステートロードが出来ない。

 どうやらステートセーブの仕様が変わり、ステートにはムービーが含まれなくなったようなのだ。
 以前はステートがそこまでの操作手順を含んでいたため、ムービーに上書きできた。今は操作手順を含まないため、ムービーには上書きできない。
 一見するととんでもない改悪だが、実際にはステートセーブとムービーセーブに分かれたと考えるのが適切のようだ。

 ステートセーブがムービーも含んでいると、便利ではあるがステートファイルのサイズが大きくなる。スクリプト探索ではステートセーブとロードを多用するので、探索には必要の無いムービーファイルまで読み書きさせられると速度が遅くなる。
 ムービーの保存は、解が発見できたときだけ行えば良いのだから、ステートとムービーは分かれている方が合理的だ。解が見つかった時に、以前はステートセーブだけ行っていた。それを、更にムービーセーブまで行うようにスクリプトを書き換えるだけで良い。

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