格ゲーの有線無線
正確さよりもわかりやすさ、余計な情報の無さを目指して書きます
ゲームに影響しない範囲の事はなるべくかかない
ネット回線の評価点は以下の通り
帯域
一般的に言われる回線速度。一秒間に何バイト(ビット)送受信できるかの数字
応答速度
いわゆるping。送った信号がどれくらいの時間かけて到達するかを表す。
1Fは17ms程度。
物理的要因や中継器の数で変わる。
エラー率
パケットエラーレート、ビットエラーレートとも
送った信号は100%正しく送られるわけでないのでどれくらいの確率で送信に失敗するかを示す。
最近の無線技術は発展しているが、どんなに頑張ってもエラー率は有線より高くなる
電波が外的な様々な要因で正しく送れないことは多々ある
電子レンジは有名だが、流れる水等も影響を与える。どんなに頑張っても何かしらの影響を受ける。
とはいえ十分な帯域があるので普通にネットしてるぶんには問題なく感じる
ブラウザなどでネットを見るときは通常TCPという手法を使って行われる
送信側と受信側が双方向に通信をして多くの手順を挟むことでデータを正しく送ることが出来る手法
受信側がデータが正しくないことを確認したら送信側に向けて再送の申請を行う
これによりエラー率に関わらず正常なデータのやり取りが行える
弱点は手順の多さに起因する時間の長さ。
一般的なネットゲーム、特にリアルタイムなやり取りをする格闘ゲーム等はTCPを使わずUDPを使ってデータのやり取りをする
とにかく送信側が受信側データを投げつけるだけの手法
受信側は受け取ったデータがの正誤を確かめるが、間違っていても再度同じデータを要求しない
素早く通信が行えるためアクション性が強くリアルタイム性が求められるゲームと相性がいい
格闘ゲームではUDPを使ったキー入力同期方式が一般的
https://gyazo.com/b45e250f8fc108e2b7c777563fe50f54
1Fごとに通信相手にキー入力のみを送る形式
送るのはキー入力のみなので必要な帯域は少ない
通信相手からのデータを受け取るまでに、図の場合3Fは遅れる
それを考慮して相手の入力を3F待ってから操作を実行する
これが一般的な「オンラインのラグ」の原因
https://gyazo.com/9a098349e5e38e6e7b6484fc57393c74
先に述べた通りUDPはパケットロス、パケットエラーが発生することがあるので、それをリカバリできるようにしないといけない
そのため各Fで送信しているパケットにはそのフレームの直近フレームのキー入力も含まれている
おそらくパケットロスがあった際のリカバリも考慮して多めにフレーム遅延を発生させているゲームも多々ある
PC版GGXrd等ではだいたい4~5Fのディレイを用意している。仮にping 20msの通信相手の場合3Fのディレイで十分だが、5Fのディレイをかけた場合パケットロスがあった場合次の2Fまでにリカバリすればゲームを止めることなく続けられる。
最近はさらにパケットエラーなどによってゲームが止まった際にディレイFを変動させるゲームも多い
ゲームが止まった際により大きいディレイをかけることで以降ゲームが止まらないようにするためと思われる
つまり有線に比べて無線は
有線に比べエラー率が高く、パケットロスが発生しやすいためゲームを止めたりディレイが大きくなったりする原因になりがち
どちらも自分だけじゃなく対戦相手にも影響するため有線で接続しよう!桜井だってそう言ってる!
普通にネットしてる時と違い帯域の暴力は効かない
「無線だけど~~Gbps出る」とかはなんの意味もないので注意しよう
また、配信をしているからといってそれが直接ラグの要因になることは少ない
配信時は多くの帯域を使って配信サーバーに映像を送る
送信パケットはキー入力のみなので非常に小さいデータ容量
つまり配信するために多くの帯域を使っていても大半の場合回線に影響しない
ただ、帯域をほとんど全部使い果たす勢いで使用帯域を増やして配信画質を上げている場合は話が別。
P2Pも同じく
参考文献