goodgames
21-03
最終更新:
goodgames
-
view
ラグと当たり判定 1
何度お問い合わせ頂いたかわからない程の人気テーマでございます。
人気があるのにここで扱わなかった理由は単純明快。
人気があるのにここで扱わなかった理由は単純明快。
きちんと書くと半端な量じゃなくなるから。
このテーマだけでも、
世界トップクラスの権威を誇る学術雑誌ネイチャーや
ノーベル賞受賞論文掲載数世界一(未確認)の科学情報誌サイエンスに掲載されるぐらいの論文が書けるかもしれない。
(あくまでも「かもしれない」)
世界トップクラスの権威を誇る学術雑誌ネイチャーや
ノーベル賞受賞論文掲載数世界一(未確認)の科学情報誌サイエンスに掲載されるぐらいの論文が書けるかもしれない。
(あくまでも「かもしれない」)
そもそも「ラグ」と呼ばれる現象の多くは、非常に短いタイムスパンの中で発生する現象であり
説明の過程で必要となる検証を行おうにも、安定してラグを再現させるのことが非常に困難だったりします。
説明の過程で必要となる検証を行おうにも、安定してラグを再現させるのことが非常に困難だったりします。
それとラグと必ずセットで語られるのがPing。
Pingについて100人中99人ぐらいは間違って理解しています。
Pingと言うと多くの場合は数値で表記され、
数値の大小とその意味については多くの人が理解していると思いますが、
本来、Pingに値など無関係であることを知っている人は意外と少ないものです。
Pingについて100人中99人ぐらいは間違って理解しています。
Pingと言うと多くの場合は数値で表記され、
数値の大小とその意味については多くの人が理解していると思いますが、
本来、Pingに値など無関係であることを知っている人は意外と少ないものです。
何しろPingとはプログラムに付けられた単なる固有名詞ですから。
話は変わって「当たり判定」については明確に定義付けることが可能であるため、
説明すること自体は容易だが「説明したつもり」になるだけで相手が理解しているかどうかは甚だ疑問だったりします。
説明すること自体は容易だが「説明したつもり」になるだけで相手が理解しているかどうかは甚だ疑問だったりします。
なにしろ「当たり判定」は英語ではCollision Detection(衝突検出)と呼ばれますが、
それ自体が一つの学問として研究されるぐらい奥の深い技術です。
それ自体が一つの学問として研究されるぐらい奥の深い技術です。
本日はこの辺で...
と終わりにしたら怒られるので最近多いお問い合わせについて記載致します。
Q1.BF3はクライアント側で当たり判定を実行しているのか?
A1.Yes(正確には射撃側のみで判定し、被弾側では判定していない)
Q2.BF4はサーバ側で当たり判定を実行するのか?
A2.私が知っていたらおかしいでしょ。(笑)
Q3.BF4がサーバ側当たり判定になった場合何が変わるの?
A3.被弾判定に於けるラグの程度が「安定」します。
ある種のチートが激減します。(BF3ではクライアント側判定であるが故に成り立つチートが多数存在していた)
サーバ負荷が上昇します。
ある種のチートが激減します。(BF3ではクライアント側判定であるが故に成り立つチートが多数存在していた)
サーバ負荷が上昇します。
Q4.BFBC2まではサーバ側当たり判定だったって本当なの?
A4.BF1942は知りません。BF2とBF2142は忘れました。BFBC2は原則的にサーバ側当たり判定です。
但し、サーバ側判定とクライアント側判定を共に実施し、
結果が異なる場合にはサーバ側判定結果を優先する仕様でした。
但し、サーバ側判定とクライアント側判定を共に実施し、
結果が異なる場合にはサーバ側判定結果を優先する仕様でした。
お、比較的最近サーバを借りられた方からメールが。
御返事作成のため本日はここまで。
御返事作成のため本日はここまで。
近日中に続きを記載致します。
(2013/08/22 00:30追記)
立て続けに同じようなお問い合わせを頂きましたのでこちらにも記載いたします。
立て続けに同じようなお問い合わせを頂きましたのでこちらにも記載いたします。
BF4の当たり判定方式が「サーバ側のみ」になることはまず無いと考えて良いと思います。
BFBC2のサーバ/クライアント双方での判定方式と比較しメリットがほとんど無いためです。
BFBC2のサーバ/クライアント双方での判定方式と比較しメリットがほとんど無いためです。
意味合いとしては「まずクライアント側で仮の判定を実施し、その後サーバ側で正式な判定を実施する」ことになるため、
正式である「サーバ側判定」のみが語られているのではないかと思います。
正式である「サーバ側判定」のみが語られているのではないかと思います。
ちなみにBFBC2をプレイしていた方なら誰でも経験がある(と思う)おかしな現象のひとつとして、
{自分の死体が別のところに落ちている」現象が挙げられます。
{自分の死体が別のところに落ちている」現象が挙げられます。
別のところと言っても死体が100mもワープするようなことは起らず、
死体がワープする場合、多くは数メートル手前に落ちています。
死体がワープする場合、多くは数メートル手前に落ちています。
この「手前」が重要なポイントになります。
(続きは後日)
( - )