GGPO Rollback Networking SDK

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

2009年に作成されたGGPOネットワーキングSDKは、ピアツーピアゲームでのロールバックネットワーキングの使用を開拓しました。 非常に正確な入力とフレームの完全な実行を必要とする速いペースの単収縮スタイルのゲームでネットワーク遅延を隠すために特別に設計されています

 

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

仕組みは?

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


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


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

詳しくは

Fight the Lag!  The Trick Behind GGPO's Low Latency Netcode

この記事は元々、Game Developer Magazineの2012年9月版に掲載されていました。 GGPOの仕組み、ゲームループとの相互作用、およびエフェクトとオーディオレンダリングへの影響について考慮するいくつかの事項についての優れた入門書です。 ここで共有できるようにしてくれたPatrick MillerとGDMagに感謝します!

Cross Counter LIVE feat. Mike Z

 

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

evo logo.png

Evo 2017 Panel on GGPO

 

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

    接触    

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

  • Twitter Social Icon