2017年1月26日(木) 21:34
スクリプト化して動作させたところ、スムーズな右旋回が実現。しかも、最初に連続17フレームのフル旋回を行うというのが長過ぎることもなく、適正だったと判明。パラメーター変化型だと自動運転では発生しない操作バリエーションが試され、ガードビーム上の特異的に当たり判定がキツい部分をうまく回避できるようだ。
適切にモデル化できたら、やはりパラメーター変化型は強い。いかに適切な操作モデルを設定できるかが勝負となる。
ただし、文句なく美しい右旋回を成功させたあと、直進で左コーナーのガードビームをケズってしまう。ここは、接触不可にしておいたはずだ。
左旋回はまた別スクリプトにするので、ガードビームとのケズり具合はそっちで調査する。そのためには調整余地が必要なので、ガードビームとの接触を避ける解を出力するように作ったはずなのだ。
また、ガードビームと接触すると S-JET の周期ズレが発生する。それでは右旋回部分だけでの S-JET 最適化判定ができなくなる。
まあ話は単純で、接触禁止直進のコードは記述したのだが、間違って単純直進のコードを呼び出していた。修正すると、想定通りの解が出力されるようになった。
written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2017年1月25日(水) 21:58
原則として、旋回性能に余裕があれば自動運転が有効。余裕がなければ操作モデル化が有効。
ポートタウン2のこの付近は、緩いコーナーから徐々にキツいコーナーへと変わる。だから本来、最初は自動運転が有効である。
しかし最初は特殊ケースで、強制引き戻しされるためコーナーリングしにくい位置からのスタートとなる。フル旋回から入らねばならない。
そしてコーナー曲率の微妙な絡みもあり、自動運転もモデル化も難物であると判明した。
それでも一応自動運転でそれなりの走行は出来たので、そのキー操作を確認する。
S-JET 噴射してから17フレームは、ひたすら右旋回。
続いて直進が6フレーム。
そしてクイックターンで2フレーム。
直進8フレーム。
重心移動2フレーム+クイックターン7フレーム。
あとは直進して、続く左コーナーのインすれすれ走行ラインとなる。
理想的な走行ラインのイメージと比較すると、最初の右旋回が17フレームも続くのは長過ぎる。これは自動運転の欠点で、目先の判断しかできないので早期に過剰に旋回してしまう。
しかしそれを除けばそこそこマトモに旋回できている。
最初はひたすら右旋回→直進→クイックターン→直進→クイックターン→ずっと直進という操作モデルで十分に行けそうに思える。単純重心移動が2フレームあるのは、パラメーター変更で吸収できるだろう。あえてそこまで細分化する得失を考えれば、無視して良い。
written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2017年1月24日(火) 21:25
これまでの自動運転では、キー操作を変えてみたうえで一定フレーム先の座標で判定を行っていた。
ふと思い付いたが、フレーム数を一定にせずガードビームに衝突するまで直進を続け、衝突した座標で判定を行うという手法もある。
次コーナーのインを確実に判定に組み込めるのがメリットだ。試してみると、2日前のフレーム数一定判定に比べてライン取りが良くなっている。
ただしこれでもエントリーがイン過ぎるのは確かで、次の右コーナーは苦しくなる。次コーナーのガードビームで、弾かれるだけでなく接触しただけでもNGにすれば、更にインから離れたエントリーにできるだろう。
しかし、突入時インとの適切な間合いは、コーナーそれぞれによって異なる。小手先の修正で調整すれば、それなりには走れるが最適とはいいがたい解になってしまうだろう。
最速を求めてスクリプトを組むのに、スクリプトを楽に組むことを優先させたのでは本末転倒だ。
自動運転ではなく操作をモデル化してパラメーターを変化させる手法に戻るとすれば、最初の右旋回がまた問題になる。だが、ガードビームに衝突するまで直進を続けるという判定手法は、パラメーター変化型のスクリプトにも応用できそうに思える。いまいちど、挑戦してみよう。その際には、コーナー1つごとに別スクリプトにすべきだろう。
written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2017年1月23日(月) 21:41
S-JET 噴射直後は、ひたすら右旋回。途中でハンドルをニュートラルに戻し、今度は左旋回。とまあこれは自明だ。
だが、手作業で典型的な走行パターンを1つ作るというお馴染みの作業に着手してすぐ、雲行きが怪しいことに気付く。
右旋回をあるところまで続けると、その後直進しても右ガードビームに弾かれる。しかし、右旋回を1フレーム手前で止めて直進すると、今度は左ガードビームに突っ込んでしまう。すなわち、最適解が無い。
右旋回をフルに続けるのではなく、右矢印キーを連打するというやり方に変えてみたが、左右のガードビームに弾かれず走れることは走れるものの、イン攻めが決まらない。かなり離れての走行となって、遅いことが明らか。
右旋回→直進→左旋回という単純なモデル化ではスクリプトを動かせない。
ほんとTAS製作はトラブル発生のバリエーションが豊富過ぎる。
written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
2017年1月22日(日) 20:22
S-JET 最適化が至難だと思えるので、楽できそうな皮算用を行う。2日前にやろうとしていたことである。
まずは自動運転で、S-JET の最適化を考えずに走らせる。
次に自動運転のキー操作選択を、座標優先から S-JET の終了周期を考慮した計算値へと変更。これは口で言うほど自明ではないが、幾つかの案を試してみて、自動運転が最速になったものを採用・・・というものだ。
ところが、単純な自動運転が完走できない。途中で曲がり切れなくなる。それも、かなり早い段階でだ。
out-in-out で走らねばならないのに、自動運転では in-in-と走ってしまい、最後のoutがアウト。良くあるパターンである。自動運転はインベタ走行が可能な、旋回性能に余裕がある状態でないと機能しにくい。
少し前の半円コーナーリングで威力を発揮した、方向キー連打方式を試してみた。
だがこれも、左右交互のコーナーが迫る状況では十分に働かない。最適にはほど遠い走行ラインで、すぐにガードビームに刺さる。
こうなると、自動運転は諦めてモデル化した走行やるしかない。
良く考えると、この再加速は普通の走行と異なる。すなわち、初期状態のバリエーションが小さい。だとすると、モデル化は意外に簡単かもしれない。
written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4