CoD:BO2のラグ補正を検証した動画が海外プレイヤーの手によりアップされていたのでご紹介。検証内容と結果について解説してみようと思います。
オンラインゲームなのだからラグがあるのは当然、と、わかってはいても、どういった処理がされているのかはわかりにくいもの。
以下の動画は、海外プレイヤーによるCoD:BO2でのラグ補正を検証したものです。具体的にどの程度のラグがあるのか、非常にわかりやすくなっていると思います。動画の前半がラグ補正の検証、後半がレビューになっていますが、ここでは前半の検証部分をピックアップします。
BlackOps2 Lag Compensation and Review – YouTube
ちょっと聞き取りづらいですが、動画を作ったときに体調不良だったと謝罪してますね。英語字幕があるので字幕機能を使ってみるとよいかと。
動画の内容は、ローカルネットワークでの検証し、そこで得たデータを実際のネットワークでも確認してみるというもの。
ではまず、ローカルネットワークでの検証から見ていきましょう。
検証の環境ですが、2台のゲーム機をローカルネットワークでゼロpingになるように接続し、エミュレーションで負荷をかけていくというもののようです。
検証のやり方は、一方のプレイヤーが壁の影から飛び出したとき、もう一方のプレイヤーの視界に表示されるまでのタイムラグを計測して行います。
また、一方のプレイヤーがもう一方のプレイヤーを撃ち、撃たれたプレイヤーの画面にダメージ表示が出るまでのタイムラグも計測しているようです。
これを繰り返して、得られたデータが以下。
この結果はホストとそれ以外のプレイヤーを比較したものです。msはミリ秒、カッコの数字は試行回数。
ゼロpingであっても、プレイヤー側は0.15秒程度のラグが発生していることがわかります。それに対し、ホスト側では、相手が赤回線であっても0.14秒程度です。
回線速度が悪くなればなるほど、ラグが増加していくことも明らかですね。ホスト有利といわれますが、それがどの程度であるのかも一目瞭然です。
では、ホスト以外のプレイヤー間ではどうなっているのでしょうか。以下がプレイヤー間のラグを示した数値です。
プレイヤー間はホストを介して繋がっているため、お互いの回線が良くても、0.28秒のラグが発生してしまうようです。この数値は、ホスト対プレイヤーでいえば黄緑回線の最低ランクと同程度になります。
以上のデータからわかるのは、壁の影から飛び出したとき、相手の画面にまだ表示されていない時間が大体0.2秒~0.4秒くらい存在する、ということです。
動画の作成者は、ローカルネットワークでここまでの検証結果を得た上で、実際のネットワークでも検証を行ったようです。そしてその検証結果は、ローカルで得た結果をそのまま示すことになりました。
プレイヤーAは緑回線、プレイヤーBは赤回線。立ち止まっているプレイヤーAに対し、プレイヤーBは曲がり角を曲がって接近します。
プレイヤーBが曲がり角を曲がった後、プレイヤーAの視界に現れるまでの時間は0.6秒程度で、これはローカルで検証した数値と同じです。
さらに、プレイヤーBがプレイヤーAに向かって射撃を行います。ここでも撃ってから弾が当たるまでのタイムラグは0.6秒程度と予想通りの結果を見せます。プレイヤーBが撃った0.5秒後にプレイヤーAが撃ち返していますが、これは間に合いません。プレイヤーAがプレイヤーBに弾を当てるまでにも0.28秒のラグがあるため、プレイヤーAの弾が到達するまでの時間に間に合わなかったためです。
では、ここまでに検証してきたラグ補正が実際の対戦中でどう影響しているのか、見てみましょう。
次々と敵をなぎ倒すシーンですが、ここに検証結果を当てはめています。
コンテナの影から飛び出して敵を倒す場面なのですが、お互い緑回線であるとすると、飛び出してから0.21~0.28秒は相手の画面にまだ表示されていません。このシーンでは、飛び出してから敵に弾を当てるまでに0.3秒程度なので、敵が撃ち返すために与えられた時間は、たったの0.1秒程度になります。
人間の平均的な反応速度は0.2秒くらいなので、0.1秒で反応するのは非常に難しいでしょう。普段の対戦の中で、曲がり角から敵が出てきたと思ったら即死させられた、と感じることがあるのは、こういったラグ補正が機能しているからですね。
最後に、CoDシリーズの過去作でも検証をしているようですが、ラグ補正についてはどうもMW2が1番よかったのではないか、と言っています。
正直なところ、MW2は調整不足や不具合のイメージが強いのですが、ラグ補正についてはシリーズで優秀だったようです。