サーバーではなくクライアントで行う場合はこうなる。
Aさんの遅延が片道1msec、
Bさんの遅延が片道100msecだった場合を考える。
Aさんには101msec前のBさんが見える。
AさんがBさんに向かって撃つと、
Aさんから見て撃った瞬間のBさんの姿に当たれば命中。
Bさんには101msec前のAさんが見える。
BさんがAさんに向かって撃つと、
Bさんから見て撃った瞬間のAさんの姿に当たれば命中。
一見平等なように見えるけど、
撃たれ始めたのに気づいて回避行動をとる時を考えると問題がある。
この方式だと撃たれた側が物陰に隠れてから
撃っている側の画面上で隠れるまでに101msecかかる。
その間も撃っている側の弾は当たる。
遅延がもっと大きければ隠れる前にキルされてしまう。
キルする側から見ると、撃っても一切回避行動をとらなかったので
簡単にキルできたように見える。
キルされた側から見ると、ありえない位置の敵から撃たれて
物陰に隠れてもかぜか撃たれ続けてキルされてしまったように見える。
つまり撃つ側が有利、撃たれる側が不利になる。
AさんがBさんを撃つときも、BさんがAさんを撃つときも、
AさんとBさんの遅延の合計が大きいほど撃つ側が有利になる。
Aさんは自分が高速な回線なのに、Bさんが遅い回線なせいで
この問題に巻き込まれてしまう。
遅延はわざと大きくすることが可能だ。
芋って遠くから撃つなら遅延を大きくすると有利になる。
この性質を利用したチートが可能になる。
このような問題があったため、当初はクライアント側での当たり判定だったのが
サーバー側での判定に仕様変更されたと思われる。
現行の仕様(サーバーでの当たり判定)では回避の面でもAさんが一方的に有利になる。
BさんがAさんを撃つ場合、
Aさんは自分が撃たれ始めたことを察知して物陰に隠れて
2msec後からダメージを受けなくなったように感じる。
Bさんから見ると200msecの間棒立ちのAさんに命中して血しぶきが出ているのに
ダメージがほとんど入らないように見え、そのままAさんは物陰に隠れてしまう。
AさんがBさんを撃つ場合、
Aさんは自分の撃った弾は撃って2msecの間に当たってダメージが入り、
しかもBさんは撃たれはじめても200msecの間棒立ちしているように見える。
Bさんは自分が物陰に隠れてから200msecの間は弾を食らい続けるように感じる。
ある意味不平等だが回線が遅いのはその人の責任という扱いになっている。