組み込みLINUXのハードスレat LINUX
組み込みLINUXのハードスレ - 暇つぶし2ch181:login:Penguin
05/05/12 03:49:30 gwrH6GmY
>>172
面白いアイデアだと思います。
両PS2の同期方法について検討してみました。
都内であれば違和感なしに通信対戦できるでしょう。
国際間だとパッド入力からゲーム反映までワンテンポ遅れます。

【わかっている事】
パッドとPS2の通信周期はPS2が起動トリガを握り、16ms(画面1フィールドごと)です。
パッド入力をPS-2に伝えるタイミングは16ms単位でずらすことができます。
連続したパッド入力の間隔は変えずに送信しないとコンボ技入力成否が変わります。

PS2の水晶発振子の個体差によってトリガ間隔も1ラウンドの残り時間もずれます。
1ラウンド中はトリガの位相がどうずれようと、あるパッド入力をラウンド開始から
何個目の起動トリガに返すかを両PS-2で合わせないとゲーム進行が同期しません。

私が都内中堅プロバイダ(Bフレッツ)経由でpingを打ったときの応答時間は
goo.ne.jp、yahoo.co.jpとも4ms~6msの範囲、
google.comは105~130msの範囲に収まりました。

【同期手順】
両"例の物"間のパケット往復時間を調べ、遅延トリガ数を決めます。
遅延トリガ数 = 最大往復時間 / 2 * 安全率 / トリガ間隔 (小数点以下切り上げ)
都内同士なら 6/2*1.2/16 -> 1、国際間だと130/2*1.2/16 -> 6 ぐらいです。
相手側の遅延トリガ数と比較し、大きい方に合わせます。

PS2からパッド入力要求がきたら、遅延トリガ数分古い両パッド入力情報を返します。
また、現在の自分側のパッド入力を記録します。
また、自分側パッド入力とラウンド開始から何トリガ目かを相手側に送信します。
相手側パッド入力を受信したら記録します。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch