ITエンジニアのぼやき

都内メーカーITエンジニアが、ただただ気になったことを書いて、薄い知識で考えを共有していくだけのブログ。

オンラインゲームは近未来を再現している

(2023/2/11 published)

皆さんお久しぶりです本日は仕事で出たおもしろい技術話を紹介したいと思います。

私はよくゲームをするのですが、最近ではオンライン対戦ゲームが主流で、プレイヤー環境の回線速度がプレーに大きく影響する事が増えています。

そこでいわゆる「ラグい」プレイヤーがなぜ瞬間移動したり、弾抜けをするのかを説明したいと思います。

今日の内容
  • オンラインゲームのすごさ

  • 未来予測からのタイムトラベル!?

 

オンラインゲームは近未来を再現している?

オンラインゲームは遅延を見せている

オンラインゲームをやっている人なら分かるとおもいますが、そもそも世界中の人が一緒にプレイしているのにほぼ同じタイミングでゲームができるのが不思議だと感じたことはないでしょうか。

なぜ、国が違う人とほぼ同じタイミングでゲームをプレイすることができるのだろうか。

その答えは、厳密には同時にやっておらず、遅延をプレイヤーに感じさせないように微妙に誤魔化しているのです。

この遅延、いわゆるラグの処理は従来は「ディレイ方式」と呼ばれる方法で行われていました。

「ディレイ方式」は回線が速い人と遅い人が一緒にプレイしている時に、ネットワークでの情報伝達の遅延を考慮して回線が速い人の入力に対して、あえて画面を遅らせることで回線が遅い人に合わせる方式をとっています。

例えば、回線の速い自分が1F目にパンチボタンを押したとする。
・遅延が1Fあり回線が遅い相手の2F目にパンチの入力がされる。
・回線が遅い相手の3F目にパンチ動作が開始。
・回線の速い自分は2F目は何も起きず、遅い人と一緒に3F目からパンチ動作が開始。

ディレイ方式[1]

どれくらい入力に対して画面を遅らせるかは、相手との回線の状況によって変わってきます。

ネット回線の遅延が大きいほど画面を遅らせますが、遅延がひどくなり4F以上遅れると操作感に非常に違和感を感じると言われています。

このようにして遅延を解消してきましたが、このディレイ方式は近年のゲームの発展とプレイヤーの熟練度に合わなくなってきました。

世界中誰とでも遊べる昨今のゲームでは数F遅れることは多々あり、遅い方に合わせていてはらちがあきません。

極め付けはプロたちのプレイヤーたちの存在で、1F~3Fの猶予でコンボやコマンドを入力してくるため、この方式では対応できなくなってしまいました。

そこで出てきたのが、未来予測過去への舞い戻りの両方を行うロールバック方式」が出てきたのです。

オンラインゲームは近未来を再現している?

正式な名前はロールバックネットコード」といい、オンラインゲームにおける通信ラグを解消、軽減するための処理がされます。

ロールバックネットコードは「1F前に入力した内容を次の1Fでも同じく入力する」と仮定し、回線が遅い人の入力処理結果を回線が速い人に合わせて表示します。

ロールバック方式[2]

これを行うと数F分消えちゃうじゃん!と思うのですが、人間が違和感を感じるのは4Fからなので、1-3F消えたとしても人間は快適にプレーできるのです。

しかし、これが大きくなればなるほど、つまり、「予測と本来の動きが異なる」と気づくのが遅いと、瞬間移動や弾抜けなどが起きます。

実は同時オンライン対戦形式のゲームを快適にする技術が引き起こしていたんですね。

まあ、これのおかげで快適にゲームがプレイできているので、敵がラグくても「ロールバックネットコードね」と許してあげましょう。



以上、オンラインゲームの描写技術?の紹介でした。

仕事中に出てきたおもしろ話またあれば共有しますか。

ちょっとこの話よくわからなかった人は、Youtubeの動画で実際のプレイ画面で説明してくれるものがあるのそちらをどうぞ[3]

[1][2]格闘ゲームのネット対戦を快適にするロールバック方式とは?

[3]ロールバック・ネットコードはいかにしてラグを軽減しているのか?