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

2015年3月17日(火) 21:44

射撃後の脱出

 机上の考えでは、壁のギリギリを通る解がベストの可能性が高い。しかし、それほど単純ではない。
 射撃後にUターンして路地を脱出せねばならないため、減速がポイントとなる。射撃時には十分に速度を落としていて、小さいRで戻って来たい。しかし、射程距離に接近せねばならないので、減速すると発砲までの時間が掛かる。話は単純ではなく、何が最適なのか良く分からない。自明ではないからこそ、手作業で解を探すのは難しい。
 命中させる解を適当に1つ見つけるだけなら、手作業でもどうってことはないのだが。

 スクリプトは、壁に完全に衝突する状態から徐々に緩めて行く。ブレーキ開始までのフレーム数を1つずつ増やす。加速状態が1フレーム長くなると、旋回が膨らんで壁から遠ざかる。繰り返しているうちに、遂に壁にぶつからなくなる。だがそれだけでは、射程内まで接近して発砲できるかどうか分からない。旋回により主砲はバッテリーの向きに近付くが、同時に距離も接近する。
 主砲の旋回が終了したタイミングで、ちょうど射程内に接近できて、その走行ラインは壁ギリギリである。そんな走行を行いたいわけだ。

 ようやく最初の解が発見された。その後は、なかなか解が発見できない。
 最初の解を見ると、見た目ぎりぎりだったのでまあ良いか、ということになった。人間が見て、特に甘いと感じない。ただし、旋回の途中で一瞬逆旋回しているように見える。これはスクリプトの不具合か?と慌てるが、どうやら振動の影響みたいだ。オブジェクトを破壊したり砲撃したりすると、車体が振動する効果が追加される。更に交差点の角は、路面が粗いという設定で車体が揺れる。
 それらの効果により、一瞬だけ逆に旋回したように見えるだけで実際に逆旋回しているのではない。

 でもって射撃後にUターンから路地を脱出する走行は、スクリプトが出来ていない。射撃する必要がない単なるレーシングゲーム状態なので、これは手作業で走行ラインを決めることにした。このTASは、1フレームを争うほどまで煮詰める予定ではない。1フレームは約0.03秒に相当するが、それは小さな単位であるとみなしている。
 初代 F-ZERO のように、5周合計で0.01秒の差を問題にするTASとは、主題が異なる。
 脱出部分に邪魔なクルマがあるため、減速を避ける探索は若干面倒である。予め砲撃して破壊しておいても、無視できない減速を食らう。そして、手作業では面倒だが、スクリプト化するのは更に面倒だ。状況を見つつ、人間の判断で操作手順を考えて試行錯誤する。

 そろそろ要領が分かって来た。
 ランナバウト1は基本的に2INTである。すなわち、秒間30枚。初代プレステのレースゲームとしては一般的だ。そして、砲撃と砲撃の間は最低32枚の書き換えを要する。つまりは64フレームだが、処理落ちして3INTになることが良くある。すると、32枚の書き換えに65フレーム以上を要するようになる。フレームカウントだけを見て64経過したと喜び勇んで発砲しても、発射されなかったりする。
 また、トリガーは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