Litmus — 話題のニュースを、深く読み解く。 RSS
ゲーム

低ping有利への2つの答え、VALORANTとApexの遅延補償

角を曲がった直後に撃たれる現象を、VALORANTとApex Legendsの公式技術ブログで比べる。128 tickで遅れの量を削るVALORANTと、判定ロジックで低ping有利をならすApexの設計が見えてくる。

ネットワークスイッチのポートに差さった青いLANケーブルの寄り

イメージ写真 記事の内容を撮影したものではありません。Photo by Brett Sayles on Pexels

この記事には Amazon アソシエイトのリンクを含みます。

角を曲がった直後に、自分より先に相手に撃たれて負ける。対戦シューターでこの経験をしたことがある人は多いはずだ。原因は「ping(自分の環境とサーバーの間で通信にかかる時間)が高かったから」と考えたくなる。低ping側が有利になる場面はどのタイトルにもあり、その有利をどこまで許容し、どこで補正するかにタイトルごとの工夫がある。VALORANTとApex Legendsの公式技術ブログを読み比べると、同じ問題に別の答えを出していることが分かる。

先に見つけたほうが得をする理由

対戦シューターのサーバーは、全員の操作を1台のサーバーで受け取り、結果を計算してから各プレイヤーの画面に送り返す。この「受け取ってから送り返すまで」の間に、複数の遅延が積み重なる。サーバーは、この遅延を織り込んで「誰が誰をいつ撃ったか」を判定しており、この判定の仕組み全体を遅延補償(ラグコンペンセーション)と呼ぶ。

Riot Gamesは2020年5月のdevブログで、この現象を「ピーカーズアドバンテージ」と呼び、次の要素の合計として説明している(playvalorant.com)。

  1. 相手側のクライアントのフレームレートによる遅れ
  2. 相手側の片道ネットワーク遅延
  3. サーバーの更新間隔(tick)による遅れ
  4. 自分側の片道ネットワーク遅延
  5. 自分の画面表示を滑らかにするための補間遅延

角を曲がって相手を先に見つけた側は、この一連の遅れの分だけ「相手がまだこちらに気づいていない」状態で発砲できる。これがピーカーズアドバンテージで、遅延補償が低ping側を有利にする場面の一つだ。VALORANTの場合、この合計は平均40〜70ミリ秒になるとRiotは説明している(playvalorant.com)。数字だけ見ると一瞬に思えるが、反応速度の限界に近い対戦シューターでは、この差が生死を分ける。

相手の フレームレート 相手側の 片道遅延 サーバーの 更新間隔(tick) 自分側の 片道遅延 自分の 補間遅延 合計がピーカーズアドバンテージ(VALORANTの説明では平均40〜70ミリ秒) この合計の大きさは、tickや補間遅延の値を小さくすれば縮められる

この図は、Riotが公式ブログで説明している5つの要素を、影響が積み重なる順に並べたものだ(playvalorant.com)。数値は2020年のクローズドベータ時点で公表されたものだ。

VALORANTは遅れの量を削る

VALORANTはサーバーを128 tick、つまり1秒間に128回、7.8125ミリ秒ごとに状態を更新する頻度で運用している。さらに、キャラクターの動きを滑らかに見せるための補間遅延も同じ7.8125ミリ秒に抑えている(Riot Games)。

先ほどの計算式のうち、「サーバーの更新間隔」と「自分の補間遅延」はどちらも、この2つの値そのものだ。Riotはこの値を小さくすることで、ピーカーズアドバンテージの合計を削っている。Riotは技術ブログで「ピーカーズアドバンテージが小さいほど、駆け引きの多いゲームになると考えている」という設計方針を述べており(playvalorant.com)、低ping側が有利になること自体は前提として受け入れつつ、その有利の絶対量を小さくする方向でチューニングしていることが分かる。

Apexは判定ロジックで調整する

Apex Legendsは、これとは違う場所に手を入れている。開発元Respawnはリード・ネットワークエンジニアの Samy Duc 名義で公開した2021年4月の開発者ブログで、「一部のゲームは常に低ping側を有利にするが、我々のシステムは能動的にそうしない設計を選んだ」という趣旨の説明をしている(EA)。低ping側を一律に有利にしないことで、通信環境が不安定な地域や田舎のプレイヤーでも比較的まともに対戦できることを利点として挙げている。

同じブログでRespawnは、低ping側が有利になる場面も具体的に挙げている。両者がほぼ同時に発砲した場合は低ping側の入力が先にサーバーへ届くこと、角を曲がって相手を発見する場面では低ping側のほうが「過去に戻っている度合い」が小さく先に相手を視認しやすいことだ(EA)。Apexの設計は、こうした場面を残しつつ、低ping有利が一律には出ない状態を作る仕組みだ。

サーバーのtickについては対照的で、Apexは20Hz、1秒間に20回・50ミリ秒間隔のまま運用している。Respawnは60Hzへの引き上げを見送る理由として「帯域とCPUのコストを3倍にしても、短縮できる遅延は最良のケースで2フレーム分にとどまる」という趣旨の説明をしている(EA)。VALORANTがtickの値そのものを遅延削減の主要な手段にしているのに対し、Apexはtickへの投資対効果を低く見積もり、別の仕組みで公平性の問題に対処している。

タイトル低pingの扱い具体的な仕組みサーバーtick出典
VALORANT低ping有利を前提に、有利の量を削るtickと補間遅延をどちらも7.8125msに抑える128 tick(7.8125ms間隔)Riot Games
Apex Legends低ping有利を一律にしない同時発砲・索敵など一部の場面以外では低ping側を有利にしない補正20Hz(50ms間隔)EA

表からも分かるように、両社は同じ「低ping有利」という結果に対して、削る量を変えるか、有利が出る条件を変えるかという、別の階層で手を入れている。VALORANTはtickの値で、Apexは判定ロジックで、それぞれ公平性を調整している。

読み比べていて面白かったのは、Apexが「tickを上げない」判断をコスト対効果の話として明言していたことだ。自分はインフラの制約だと思っていたが、Respawnは2フレーム分の短縮のためにコストを3倍にする価値がないと判断していると説明している。tickの値も、設計上の優先順位として選ばれていた。

大会など通信環境がそろった対戦を優先するなら、有利不利の起点をping差だけにできるだけ絞るVALORANT型のほうが、条件がそろっているという納得感を得やすいと思う。一方でカジュアル層や通信環境がばらつく地域を含めて遊ばせたいなら、Apexのように低ping有利が常には出ない設計のほうが参加のハードルを下げられる。大会シーンの納得感と参加者の裾野のどちらを優先するかという選択に近い。

まとめ

角を曲がった直後に撃たれる現象は、対戦シューターの仕組みから生まれる。この低ping有利に対して、VALORANTはtickと補間遅延を7.8125msまで絞って有利の量を削り、Apex Legendsは20Hzのまま、低ping有利が一律には出ない判定ロジックを組んでいる。遊んでいるタイトルが遅延補償のどこに手を入れているかを公式のブログや解説で知っておくと、撃ち合いの結果を仕組みから読み解ける。

この記事の先を読む本を探す

特定の本を勧めるものではありません。検索結果から、いまの版と目次を確かめて選んでください。

コメント

気づきや感想をどうぞ

記事への補足や、読んで考えたことをお寄せください。個人情報や、他の人を傷つける内容の投稿はお控えください。

コメントを読み込んでいます…

    ほかの記事

    最新の記事 →