GGPO Rollback Networking SDK ピアツーピアゲーム用のゼロ入力遅延ネットワーキングライブラリ

Japanese Japanese English

2009年に作成されたGGPOネットワーキングSDKは、ピアツーピアゲームでのロールバックネットワーキングの使用を開拓しました。 非常に正確な入力とフレームの完全な実行を必要とする速いペースの単収縮スタイルのゲームでネットワーク遅延を隠すために特別に設計されています ​ 従来の手法では、プレーヤーの入力に遅延を追加することでネットワークの送信時間を考慮し、結果としてゲームの動きが鈍くなります。 ロールバックネットワーキングは、入力予測と投機的実行を使用して、プレーヤーの入力を直ちにゲームに送信し、ゼロ遅延ネットワークの錯覚を与えます。 ロールバック、同じタイミング、リアクションビジュアルおよびオーディオキュー、およびプレイヤーがオフラインでプレイする際に蓄積する筋肉のメモリを使用して、オンラインで直接翻訳します。 GGPOネットワーキングSDKは、ロールバックネットワーキングをできるだけ簡単に新規および既存のゲームに組み込むことができるように設計されています

仕組みは？

ロールバックネットワーキングは、完全に決定的なピアツーピアエンジンに統合されるように設計されています。完全な決定論により、単に同じ入力をフィードするだけで、すべてのプレイヤーコンピューターで同じ方法でゲームがプレイされることが保証されます。これを実現する1つの方法は、ネットワーク経由ですべてのプレーヤーの入力を交換し、すべてのプレーヤーがピアからすべての入力を受け取ったときにのみゲームプレイロジックのフレームを実行することです。多くの場合、結果として反応が遅く、応答が遅くなります。ネットワークを介して入力を取得するのに時間がかかるほど、ゲームは遅くなります。

ロールバックネットワーキングでは、ゲームロジックはローカルプレーヤーからの入力のみで続行できます。フレームを実行するときにリモート入力がまだ到着していない場合、ネットワーキングコードは、以前に表示された入力に基づいてリモートプレーヤーが何をするかを予測します。待つ必要がないため、ゲームはオフラインの場合と同じように反応します。これらの入力が最終的にネットワークを介して到着すると、以前に予測された入力と比較できます。それらが異なる場合、ゲームは分岐点から現在の可視フレームまで再シミュレートできます。

頭痛のように聞こえても心配しないでください。 GGPOは、既存のゲームループに簡単に統合できる方法で、ロールバックアルゴリズムと低レベルのネットワークロジックを実装するために特別に設計されました。ゲームの状態を保存し、それをロードして、結果をレンダリングせずにゲームの状態のフレームを実行する機能を実装するだけであれば、GGPOが残りを処理できます。

詳しくは

Cross Counter LIVE feat. Mike Z 「マイクZ」として知られるマイクザイモントは、Lab Zero Gamesのリードデザインディレクター兼プログラマーです。 マイクは、ラボゼロの最初のタイトルであるGGPOをSkullgirlsに組み込みました。 彼は常にロールバックネットワーキングの強力な支持者であり（マイクに感謝！）、2013年のCross Counter LIVEのこのエピソードでその理由を説明しています。

Evo 2017 Panel on GGPO 2017年に、Evolution Championship SeriesでGGPOの仕組み、その方法とその理由、およびFinalBurn Alphaエミュレーターへの統合について説明しました。 最初はファイティングゲームコミュニティの歴史と舞台設定が少しありますので、10：38にジャンプしてください。

接触

GGPO SDKは、GitHubで公開されています。 MITライセンス以外の条件でのライセンスに興味がある場合、または単に連絡を取りたい場合は、下のフォームでお気軽にお問い合わせください。