<戻る

テスト編
報告1 最初のテストでわかったテクニクビートの誤差


 ソフトウェア・そして回路を作成し、いよいよ自動操作のテストに移りました。ここでは、その報告を行います。



@ うまく動いてくれるんだけど・・・

 簡易に作ったソフトウェアは、マウスクリックでボタンを操作できるようにしてあります。それを用いて「フリーモード」の「Sky Kid」でテストをしてみます。一度ゲームを開始し、すぐに終了してRetry状態で待機。決定ボタンを押すところから自動操作が始まります。Sky Kidの軽快な音楽が流れます。最初の1つ目の輪はNittyの初期位置にありますから、○ボタンを押すテストが可能になるわけです。つまり、自動操作テストは「2回○ボタンを押す」操作になります。

 1回目の○は一応1000ミリ秒のスパンを取りました。最初の輪を反応させる時間はおよそ6950ミリ秒です。ところが・・・

毎回タイミングがちょっと違う

という問題があることが判明しました。最初の輪を反応させるたびに「大JUST」「小JUST」時には「Grate」すらあります。これは少なくとも5フレームくらいはずれている事になります。どうしてこんなことになるか?その原因を考えなければなりません。

 まずパラレルポートの速度ですが、古い規格とはいえ500KB/secほどもありますし、精密機器の測定にも使われているもので毎回それほどばらつくとも思えません。ソフトウェアによるパラレルポートへの書き込みのもたりも、○ボタン2回分のを考えるとちょっとありえません。回路はトランジスタによるスイッチングですが、アナログ回路とはいえスイッチングが5フレーム分もずれるはずがありません。コントローラには反応周期がありますが、電気的な接続をしているだけにやっぱりこのズレは無いと考えられます。

 となると残されたのは「テクニクビート自体のスタートタイミングのずれ」です。何度もテストをしてみると、自動操作を始めてから音楽が始まる時間が微妙に違うのがわかりました。音ゲーであることから、何らかの同期を取っているのかもしれませんが、これにより非常に面倒な事になりました。

・・・ではどうしたよいかとなると、解決策がありません(T_T)



A 解決策模索中・・・

 スタートに誤差があっても、音楽が始まってからならばその誤差は少ないのではないかと想像します。ただ、音楽にあわせて自動操作を始める場合、どこかで一度手動によるタイミングを取る必要が出てきます。また、ボタンを押した本当の瞬間に自動操作が始まるようにしなければいけません。これは、ソフトウェアを改変して試してみないとうまくいくか分かりません。

 最初の動作テストは、まぁ当然ではありますが、問題を残して終わりました。


(2005. 11. 11追記)
B 改変後も難しいかな・・・

 ソフトウェアをボタンを押した瞬間に自動操作が始まるように改良し、何度かテストを試みてみますが、Aの方法はやはりちょっと難しいようです。毎回タイミングを合わせるのがしんどいのです。これは・・・どうやら完璧プレーは難しいかなと感じてきました。でも、Retryからはじめた時にうまいことタイミングが合うとJUSTが連続してくれます。何度かトライして、そういうタイミングになった時に録音する・・・そういうスタイルで計画を続けるしか無いでしょうね。う〜ん、ちょっと残念ではあります(-_-)


(2005. 11. 21追記)
C そ!そうか!録音するのは「音ゲー」だった!

 思いつきましたぁー!!録音しようとしているのは「テクニクビート」という音楽ゲームであることをすっかり忘れていました。音ゲーなんですから、ゲームと音のズレは許されないはず。ということは、音楽の始まりを捉えれば良いんです!つまり、ゲームがスタートしてから音楽が始まった瞬間をPCで感知して、それをトリガーに自動操作をスタートさせれば、タイミングはばっちりのはずです。少なくともリトライから始めるよりはずっと正確になりそうな気がしてきました。

 これを実行するには、PC側でテクニクビートの音をサンプリングする必要がありますが、これはサウンド関連のプログラムで大して難しいことはありません。Webに実装方法はゴロゴロ転がっていますし、専門の本も持っていることに気付きました。これは、試してみる価値ありです!やる気復活!