オン対戦では重要なラグ関係を考察してみようと思います。
まず、ラグの原因を知ることが重要なので、BF3の判定についての発言をググッてきました!
※ユーザーの発言なので、開発者がこうなってるよ〜と言っているわけではないので参考程度に読んでくださいね。
(発言 1)
BF3は攻撃処理(ヒット判定など全部)は相手側、ダメージ判定だけ自分側(食らう側)
サーバーはパケットを渡すだけ
よって何でもできる、食らう側ができることと言えば自身もチートして
無敵にするとかだけです
(発言 2)
BF3はラグ対策のためにクライアント側で当たり判定をして
いるので、サーバーに命中判定の信号を送れば相手が死ぬというチート。サーバー側で
チート対策の射程判定などをやってないみたいですね。
発言の元は、PC版のチートに関するところからとなっています。
整理すると、ユーザーからの情報をEA鯖が受け取り、対象プレイヤーに情報を渡している。
ヒット判定は相手の画面で発生している。ので、壁に隠れているのに、相手から壁に隠れて見えずに攻撃を当てていると、壁に隠れている状態の私にダメージ判定が届いてアボン!
流れを整理すると
A → B
1.Aの画面でBを攻撃
2.Bにヒットマーク発生 (ヒット判定)
3.サーバーへ情報送信
4.Bにダメージ判定をBが受け取る
5.Bの体力が減る
って事になりますね。ごく自然の流れです。
これで、1つ疑問が解消されます。
それは、出会いがしらに敵に撃たれてもいないのに、いきなり即死する場面です。
相手から見て、私が攻撃もせずに進んできたので、撃って命中しまくって倒した。
私からは、相手が見えたときには、上の処理が終わっていて、ダメージ判定が一斉に届いて即死…
逆の場合で、相手が棒立ちでこっちに気付いていないような状況があると、やや無双状態でキルしていくことができます。きっと、相手の画面では私がまだいない事になっているんだと思います。
って事で、次の現象を考察します。
ワンマガジン撃った敵が死なない現象について!!!
敵が超絶固くなります。これも、原因を整理すると簡単です。
ヒットマークは攻撃側の360で処理されており、「×」が出ればあたった事になります。
そのまま相手にダメージ判定の情報がEA鯖から送られるはずなのですが、「なかった事になっている」と考えられます。
なぜ、無かった事になっているのか、原因は、情報がEAサーバーに届いていない。EAサーバーから相手に届いていない。撃っていた行動が時差により無かった事にされている?
pingが遅いため、200msで相手に伝えようとして、相手から20msで情報が届いていると考えられます。1つヒット情報を伝えようとしたら、10も相手からダメージ情報をもらった…ってイメージです。
相手との回線差で負けているって考えるしかないのですが、回線差で負ける原因も考察する必要があります。
前にも書きましたが、TDMでも経験しており、回線状態の悪い人が同じ部隊員になると、急にラグを感じるようになります。
※逆に自分がその原因になっているとも考えられます。
※回線が悪いとチーム全体にも影響しており、チーム全員が撃ち勝てない状況が発生します。
ラグいプレイヤーがいるなぁと思ったら、自分の回線と味方のメンバーを確認してみましょう。ただ、ロス率の高いユーザーがいると、ゲーム自体がラグを感じやすくなるので、警戒が必要です。
飛行機で飛んでて見えない何かに引っかかる。
MAVが見えない天井に引っかかり上がらない、まっすぐ飛ばそうとしてゴムバンドしまくりなどです。移動してて突然のバットラックなど、ブラックホール的なプレイヤーが原因とみていいと思います。
※行政特区プレイヤーなど、ラグによりゲーム全体がおかしくなる場合もあります。
しかも、その原因のプレイヤーには自覚症状がないので困り者です。
むしろ、敵の攻撃を喰らっても、しなない ウホホーイ!って状態を満喫しています。
可能性の一部なので、絶対とはいいきれませんが、昨晩リロードモーション中や、天井に向かって銃を撃っているプレイヤーに倒されたので、回線が原因と分かっていたので、ストレスも少なくなりました(謎)