オンラインゲームはレイテンシを感じさせないゲームプレイをどのように実現しているのか?

  • 📰 gigazine
  • ⏱ Reading Time:
  • 43 sec. here
  • 2 min. at publisher
  • 📊 Quality Score:
  • News: 20%
  • Publisher: 51%

日本 見出し ニュース

日本 最新ニュース,日本 見出し

多くの優れたオンラインゲームでは、コントローラーからの入力を処理する際に発生する待ち時間、すなわち「レイテンシ」をほとんど感じさせない快適なゲームプレイが可能です。本来ならクライアントとサーバーの間でレイテンシが発生しているにも関わらず、どのようにして快適なゲームプレイを実現しているのかをDatadogのエンジニアであるエヴァン・ジョーンズ氏が解説しています。

は最大60fpsとなっており、60fpsにおいては平均8ミリ秒のレイテンシが発生します。また、ローカルゲームにおいてはフレームレートが低いゲームほど、プレイヤーの入力から画面が更新されるまでに発生するレイテンシが増加。多くのゲームは60fpsよりも低いフレームレートで描画されているため、その分遅延も大きくなります。

オンラインゲームはフレームレートの問題だけでなく、クライアントとサーバー間で通信処理が発生するため、ローカルゲームよりもレイテンシはさらに大きくなります。ジョーンズ氏はオンラインゲームにおけるレイテンシ対策を理解するため、簡易なデモを作成しました。ジョーンズ氏が作成したデモはオンラインゲームにおけるクライアントとサーバーの状態を再現し、シミュレーションでレイテンシを確認できるというもので、GitHubでソースコードが公開されています。ジョーンズ氏のデモで実装されているのは「クライアントがサーバーにコマンドを送信し、サーバーがクライアントから得たデータを基に画面の描画データをクライアントに送信する」というシンプルなオンラインゲームのネットワークモデルです。例えば「キャラクターを前進させる」というアクションをサーバーに送信すると、クライアント側がゲーム画面に実際のキャラクターの動きを描画するまでにクライアントとサーバー間でデータを1往復させる必要があります。クライアントもサーバーも、tが0のときにゲームを開始します。プレイヤーが「前進」のコマンドを押したので、クライアントはサーバーに「mo

ジョーンズ氏によると、複数のオンラインゲームではプレイヤーからのコマンドを受信してそのまま描画結果を返すのではなく、プレイヤーが取った行動から、次にプレイヤーが取るであろう行動を予測した描画結果をクライアント側が画面に表示しているとのこと。例えば、「キャラクターを前進させる」という動作でのレイテンシを隠す設計は以下の通り。tが2のとき、クライアントはさらに一歩前進した動作を予測し画面に描画します。 クライアントは、サーバーから本来のオンライン上での描画データをtが3のときに受信。サーバーから受け取ったデータがクライアントのシミュレーションと一致するかどうかチェックします。なお、一致しなかった場合は、クライアントは描画をやり直す必要があります。

 

コメントありがとうございます。コメントは審査後に公開されます。
このニュースをすぐに読めるように要約しました。ニュースに興味がある場合は、ここで全文を読むことができます。 続きを読む:

 /  🏆 80. in JP

日本 最新ニュース, 日本 見出し

Similar News:他のニュース ソースから収集した、これに似たニュース記事を読むこともできます。