「GGPO」以前のディレイベースの技術っていうのはね、相手の遅延を承知の上、相手の遅延に合わせてこちらの操作も遅らせる…という帳尻合わせの技術だった。これだと遅延は不確定な要素であり一定ではない誤差が生まれるがため、その帳尻合わせに無駄な分が生じてしまうよね。現実にはディレイベースだとうまく齟齬を修正できないことになる。だから、それを克服するために「GGPO」は生まれた。「GGPO」は単なるディレイベース=帳尻合わせの技術、ではないんだ。
これについてはAUTOMATONの記事が優れているためそこから事例を拝借して解説する(AUTOMATON)。ただ、AUTOMATONの当該記事は箇条書きで書かれておらず、いささかわかりにくい面があるので一連の流れを簡単に説明しよう。
・例えば、相手が1F目にキックボタンを押したとする。
・遅延が2Fあり3F目にキックが発生するとする。
・こちらの1F目のキックボタン操作を2F遅らせる(ディレイベース技術の例)。
・結論:相討ちになる。
☟これを「GGPO」はこう改善する☟
・相手が1F目にキックボタンを押す。
・同様に遅延が2Fあり3F目にキックが発生するとする。
・相手のキックボタンを押すまでの1F~2F間をスキップして、3F目から「ロールバック」つまり、2F分巻き戻し再生する。
・すると、当然、こちらの1F目のキックボタンと合致して. . .
・結論:相討ちになる。
つまり、結論は同じだけど、そこに至るまでのアルゴリズムが違っているわけだ。
じゃあ1F~2F目まではどうしてんだよwて思うでしょ?『その論理はおかしい、帳尻合わせという点では同じではないか?』ということだね。つまり、予測技術を使って、”それっぽくその間(1F~2F)まではキャラクターを動かしている”というのが「GGPO」のミソだとAUTOMATONの同記事は伝える。つまり埋め合わせの分をわざと作り出し、それと合致していない操作がある場合、それを差し戻して再生するという未来予測という学習のアルゴリズムを用いてるんだ。とはいっても、「GGPO」による「ロールバック」だけで実際ラグの問題を完全に解決できるもんでもないので、従来からのディレイベースとハイブリッドな技術として使われることがままあるそうである。
ディレイベースとは異なり、アルゴリズムが違い、その間の予測技術には様々な学習技術が使えるため、AI時代の技術として注目を浴びている。これで少なくとも、ニュアンスとしてはあっていると思う(が、間違いがあったらTwitterでご指摘お願いします<(_ _)>)。
※参考リンク①:GGPO – Wikipedia