goodgames
18-01
最終更新:
goodgames
-
view
Hit Srv
お問い合わせが相次ぎましたが...
この機能が搭載された時期は失念致しましたが、
Battlefield4のオプション設定にてネットワークに関する
リアルタイムなステータスを画面で確認する機能が追加されました。
Battlefield4のオプション設定にてネットワークに関する
リアルタイムなステータスを画面で確認する機能が追加されました。
ちなみにBattlefield4のインストールディレクトリ(*1)にuser.cfgなるテキストファイルを作り、
NetworkPerfOverlay.DrawGraph 1
と記述するとゲーム画面の右下にグラフなどが表示されるようになります。
Hit Srv ... ゲームサーバが判定した敵への命中回数
Cli Srv ... プレイヤーのPCが判定した敵への命中回数
Cli Srv ... プレイヤーのPCが判定した敵への命中回数
クライアントとサーバそれぞれで命中判定を行っていますが、
結果が異なる場合、サーバ側が優先されるため命中した回数が異なることがあります。
結果が異なる場合、サーバ側が優先されるため命中した回数が異なることがあります。
そのため Hit Srv < Hit Cli であれば、
プレイヤーは命中弾を与えているように見えても、
サーバはそのように判定していないケースが発生していることを意味します。
プレイヤーは命中弾を与えているように見えても、
サーバはそのように判定していないケースが発生していることを意味します。
(*1)ディフォルトではC:\Program Files (x86)\Origin Games\Battlefield 4となっています。
■Hit Srv < Hit Cliになるのはなぜか?
多くの方がHit Srv ≒ Hit Cli * 70%程度となっているとのことで、
30%程命中弾が失われているのではないかとのこと。
30%程命中弾が失われているのではないかとのこと。
このようなお問い合わせを頂いた原因は、
Hit Srv = Hit Cli にならないと命中判定にて損得が生じているとの疑念があるからだと思います。
Hit Srv = Hit Cli にならないと命中判定にて損得が生じているとの疑念があるからだと思います。
■まずは例外から
Hit Srv > Hit Cli となっています。
特殊なケースでは...
55回全てが無効になっています。
この2つの例は意図的に作り出した特殊な状況で発生していますが、
状況によって結果が大きく変化することを意味します。
状況によって結果が大きく変化することを意味します。
■いきなり結論
Hit Srv ≠ Hit Cliになる原因の多くは、
プレイヤーが見ている状態(画像)とサーバ内の状態が一致していないためと考えられます。
プレイヤーが見ている状態(画像)とサーバ内の状態が一致していないためと考えられます。
具体例.1
移動中の敵に対して発射した弾が敵に命中した(ように見えた)。 → Hit Cliは1増加
しかし、サーバ内では敵は別の場所に居る(ことになっている)ため命中とは判定されなかった。 → Hit Srvは変化せず
移動中の敵に対して発射した弾が敵に命中した(ように見えた)。 → Hit Cliは1増加
しかし、サーバ内では敵は別の場所に居る(ことになっている)ため命中とは判定されなかった。 → Hit Srvは変化せず
具体例.2
移動中の敵に対して発射した弾が敵に命中しなかった(ように見えた)。 → Hit Cliは変化せず
しかし、サーバ内では敵は別の場所に居る(ことになっている)おり、たまたま命中したと判定された。 → Hit Srvは1増加
移動中の敵に対して発射した弾が敵に命中しなかった(ように見えた)。 → Hit Cliは変化せず
しかし、サーバ内では敵は別の場所に居る(ことになっている)おり、たまたま命中したと判定された。 → Hit Srvは1増加
具体例.3
至近距離の敵と大量の銃弾を浴びせあったが、最後の命中弾を与えた(ように見えた)とき、サーバ内の状態では敵が既に死んでいた。
(サーバ内部の状況としては、死体を撃っていたことになる)
至近距離の敵と大量の銃弾を浴びせあったが、最後の命中弾を与えた(ように見えた)とき、サーバ内の状態では敵が既に死んでいた。
(サーバ内部の状況としては、死体を撃っていたことになる)
最後の命中弾は無効になるため、Hit Cliだけ1増えます。
具体例.4
至近距離の敵と大量の銃弾を浴びせあったが、最後の命中弾を与えた(ように見えた)とき、サーバ内の状態では自分が既に死んでいた。
(サーバ内部の状況としては、死体が弾を撃つことはあり得ないため、恐らく弾の発射情報は無視されている)
至近距離の敵と大量の銃弾を浴びせあったが、最後の命中弾を与えた(ように見えた)とき、サーバ内の状態では自分が既に死んでいた。
(サーバ内部の状況としては、死体が弾を撃つことはあり得ないため、恐らく弾の発射情報は無視されている)
最後の命中弾は無効になるため、Hit Cliだけ1増えます。
命中判定をサーバ側優先で行っているが故に起こる問題ですが、
クライアント側優先(またはクライアント側のみ)の仕様にすると、
命中判定がHighPingさんの影響を受けることやチートの問題など
様々なデメリットも生ずることから十分に納得出来るトレードオフだと考えられます。
(サーバ側の命中判定は自分のPing値(Latency)しか影響しません)
クライアント側優先(またはクライアント側のみ)の仕様にすると、
命中判定がHighPingさんの影響を受けることやチートの問題など
様々なデメリットも生ずることから十分に納得出来るトレードオフだと考えられます。
(サーバ側の命中判定は自分のPing値(Latency)しか影響しません)
Battlefield3のOperationMetroにて、壁の裏に隠れた後で何発も被弾した経験のある方も多いでしょう。
Battlefield4ではこのような現象は皆無になったはずです。
Battlefield4ではこのような現象は皆無になったはずです。
( - )