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

2014年1月15日(水) 21:49

際限なく恐ろしい

 46”08の状態から lua スクリプトを動かし、最適キー入力を探索する。
 探索範囲が狭ければ最適解を見逃し易くなるし、広いと探索に時間が掛かり過ぎる。数時間あるいは一晩で終わるぐらいがちょうど良い。
 あれこれバグを出しつつも、なかなかの解が見つかった。油断ならないのは、解の通りにキー入力しても再現されない場合があること。要するにスクリプトのバグだが(汗)

 最適解が再現され、内部速度2304に戻っているのを確認。
 しかしそこから S-JET のループを重ねると、どうも最終ループの開始が早い気がする。念のため、ムービーのキー入力を確認。すると、S-JET を噴射してから254フレーム後に最終ループ突入していた。
 噴射期間は256フレームであるから、噴射フレームの255フレーム後が期間の終わりとなる。つまり、タイミングが1フレーム早い。
 これもスクリプトのバグ。等号が噴射期間に入るか入らないかという、微妙でありがちな問題だ。

 スクリプトを修正し、今度は噴射期間をフル活用する最適解を求め直す。時間は掛かるが、放置しておけば勝手に計算してくれる。
 そこで、衝撃の結果が出た。何と、遅くなったのである。噴射期間を1フレーム余らせた方が速いのだ。恐らくは、常にそうなるのではない。最適解は整数解でなければならず、組み合わせの関係で運に恵まれないと指定フレームで内部速度2304には戻らない。1フレームの無駄が出るケースでは、当たりの整数解を得ることが出来て無駄を逆転したのだろう。
 念のために2フレームの無駄を出すパターンも調べたが、さすがに逆転は無理で遅くなった。

 しかし怪我の功名というか、S-JET 最適化は1フレームないし2フレームの無駄を出すパターンも調べるべきだと判明した。初代 F-ZERO のTAS製作は、際限なく恐ろしい。

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