【スマブラSP】オンラインゲームに遅延が起きる理由【ラグ】

  • このエントリーをはてなブックマークに追加

普段大乱闘スマッシュブラザーズSPECIALをプレイしていると結構な頻度で回線が不安定な方と対戦をすることがあります。

オンラインの仕様から遅延自体はある程度しかたないと思っているのですが、あまりにも重かったり、途中で途切れて右下にスマブラのマークが表示されたり、酷いときは全く試合にならなかったりします。そんな時は自分は大半は自滅するのですが、そういったことが減ってほしいと願っているため記事を書いてみます。

この記事では主に大乱闘スマッシュブラザーズSPECIALについての通信を主に記述しています。

スマブラの通信形式はP2P

大前提ですが、スマブラSPの通信形態はP2P(Peer to Peer)です。日本語だとピアツーピアと発音します。簡潔に説明すると自分と相手がどこかのサーバーを介して通信するのではなく自分と相手が直接通信を行う形態で通信しているということです。

ここで大事なのが自分の回線状況がいくら良くても相手の回線が悪ければ悪いほうに引っ張られて遅延やラグを引き起こしてしまうという点です。

これがあるのであまり回線に自信がない私はオンラインに潜る前に必ずSwitchの通信速度を計測してからプレイするようにしています。



ではどんな要素が遅延やラグの原因となるのか

1.通信速度が十分に出ていない

データ通信を行うとき2つの機器の間を流れるデータの物理的な速さを伝送速度というのですが、これは帯域とも呼ばれます。

また、帯域幅という言葉もあり、こちらは本来通信や放送に使用する電波や光の周波数の最高周波数と最低周波数の差のことを示します。これはアナログ通信での定義で少しややこしいので要はデジタル通信でいう伝送速度(単位がbpsなどと表される)のことと解釈したほうがわかりやすいと思います。

つまり、伝送速度=帯域=帯域幅 ということですね。(間違っていたらすみません)

この伝送速度が大きくなると、データが流れる速さが変わるのではなくて短い時間でより多くのデータを送ることができるようになるのです。

よくある道路の例を持ち出させていただきますが、伝送速度が低速の場合道路でいうところの車線が少なく一度に少量の車しか走れない道路。高速の場合車線が多く一度に多量の車が走れる道路が用意されているということになります。

大事なのは伝達速度は実際にホストの間でやり取りされる転送速度ではないということです。

実際にやり取りされる転送速度のことをスループットといい(実効スループット)こちらの単位も伝送速度と同じくbpsと表されます。

このスループットの値が芳しくない値になっているときにラグや遅延が発生するということですね。

ではこのスループットの値の計測をSwitchで対戦中にできるかというと簡単にはできません。しかし、目安を簡単に知る方法ならあります。

今回はSwitchなのでホームボタンを押して「設定」→「インターネット」→「接続テスト」からダウンロード速度とアップロード速度が計測できます。

この計測結果は実際の対戦相手と通信してるわけではなく、おそらくどこかのサーバーへ通信を行って計測結果を表示しているので先ほど目安といったのですね。

では、値が実際のプレイ状況にどう関係しているのかという部分ですが、この値からははっきりとしたことはわからないです。よくダウンロード速度が重要であるという記事を散見するのですが、プレイ状況はそれだけでは決まらないので完全に間違っているとは言えないまでも、完全に正しくはないのかな?と私は考えています。

じゃあ何が実際のプレイ状況に重要になってくるのか?ということは後述したいと思います。主に、レイテンシ(ping値)やパケットロスの点について触れようと思います。

先ほどダウンロード速度だけではプレイ状況は決まらないといいましたが、明らかにダウンロード速度は他の要素と相関性があるのでダウンロード速度が重要というのは完全に間違ってはいないと記述しました。

これは私の体感ですが、本当に大体の感覚でまとめておきますので、参考にしてみてください。あくまで大乱闘スマッシュブラザーズSPにおいてになります。無線通信だとこのアバウトな表より不安定になります。

ダウンロード速度 プレイ状況
1.0Mb/s付近 プレイすることが不可能。試合にならない。
5.0Mb/s 動かすことはできるが、ラグも遅延も発生する。
10.0Mb/s ある程度プレイできる。遅延が心配。
20.0Mb/s ほぼ問題なくプレイできる。満足とは言えない速度。
30.0Mb/s ほぼ問題なくプレイできる。大体安心できる速度。
50.0Mb/s以上 ほぼ問題なくプレイできる。これくらいあれば安心してもいいかも。

2.レイテンシが高い

格闘ゲームにおける重要な要素の一つです。レイテンシ、またはping値とも呼ばれますね。このレイテンシが大きいほどいわゆる「遅延」を大きく感じる原因となります。

別名RTTとも呼ばれることがありまして、Round  Trip Timeのことです。要は往復時間ととらえてください。自分が通信相手にデータを送ってからその応答が返ってくるまでの時間のことになります。

先ほどダウンロード速度について記述しましたが、ダウンロード速度が遅くなればなるほどレイテンシの値も高くなると考えていいと思います。ほかにも物理的な距離が遠くなるとping値は高くなるなどの要因があります。大乱闘スマッシュブラザーズSPに関しては近場のSwitchから対戦相手を探していく方式だそうなので、回線速度がある程度正常であれば異常なレイテンシを示すことはないと思います。

この記述だとアップロード速度もレイテンシに影響しそうですが、アップロード速度に関しての参考資料は少なく、あまり問題にされてない印象を受けました。、おそらく、アップロードの回線はダウンロードの回線に比べていつでも割合空いているためあまり問題にされないのだと思います。

ではこのレイテンシがどう影響してくるかといいますと、大乱闘スマッシュブラザーズSPでは(ほかの格闘ゲームでもそうですが)コントローラーの入力がいつ行われたという情報を通信相手に送り、それを画面に反映させるということを繰り返しているので通信相手との応答時間(往復時間)が大事になってくるのです。

このレイテンシをSwitchで調べようと思うとそう簡単にはいきません。先ほどSwitchのダウンロード速度とアップロード速度を計測する方法をお伝えしましたが、この方法ではレイテンシを計測することはできません。もちろん対戦相手とのレイテンシをゲーム内で知ることも不可能です。特殊な方法を使えばSwitch本体でもレイテンシを計測することは可能との記述をネット上で見かけることができましたが、基本的にはお使いのネットワーク環境下でお使いのPCやスマートフォンを使って参考値を知ることしかできないと考えていいと思います。
レイテンシと回線速度は比例関係にあるはずなのでSwitchで対戦ゲームをする場合は先ほどの方法で速度を測定するのが一番簡単にレイテンシの参考値を知る方法だと思います。


3.無線通信を行っている

通信には有線方式と無線方式が存在するのはほどんどの方が知っておられるかと思います。有線は安定して接続できて無線では安定していないみたいなイメージがぼんやり存在するかと思いますが、これは大体正しいと思ってもらっていいと思います。なぜならば、無線はとにかく不安定だからです。無線は電波で通信を行い物理的につながっていないため、スループットが接続中変化しやすかったりほかの電波の干渉を受けてしまうのです。

無線通信には種類があり沢山規格があります。これは規格化団体(IEEE802委員会のIEEE802.11グループ)によって取り決められており、規格によって最大通信速度が決まっていたりもするのですが、家庭内の無線LAN環境において影響しやすいのはお使いの無線ルーターが2.4GHz帯/5.0GHz帯に対応しているか否かではないでしょうか。ここでいうHzというのはは無線ルーターが使用している電波の周波数帯の単位になります。これはいったい何を意味するのかといいますと仮に2.4GHz帯にしか対応していない規格の無線ルーターを使用している場合、電子レンジやBluetoothの使用している周波数帯と被ってしまい通信障害を引き起こしやすいのです。かといって5.0GHz帯に対応している規格の無線ルーターが完全に上位互換かといいますとそうでもなく、物理的な障害物に弱いといったデメリットがあったりします。

無線LANの規格についてはまた別の記事で紹介しようとも思っています。

ちなみに私が使用している無線ルーターはどちらの周波数帯にも対応しているのですが、5.0GHz帯を使用したほうが少なくともSwitchでの計測速度は上がっており、無線より有線で接続したほうが5.0Ghz帯対応無線より計測速度が上がりました。

4.パケットの消失

ゲーム中はプレイヤーがどのボタンをいつ押したみたいな情報を送り合っているわけですが、その情報のことをパケットと呼ぶことがあります。このパケットが消失してしまう(どこかに行ってしまってうまく届かない)ことをパケットロスというのですが、どうやらスマブラSPではUDPでの通信方式が採用されているようで(UDPとは簡潔に説明すると速い代わりにパケットを送り付けることはするけど届いたかどうか細かいことは後は知らんみたいなものです)パケットが失われたとしても再送を行ってくれずゲームの進行がストップする(右下のスマッシュボールマーク中のやつです)みたいなことが通信状況が悪い時に起きていると考えられます。

UDPについてはTCPと一緒にもう少し詳しく別記事で記述したいと思っています。

5.その他の要素

あとはSwitchの故障とかハードウェア系の動作不良が例として挙げられますね。基本的にはあまり考えなくていい要素だと思います(おそらく)。

まとめ

ここではなぜオンラインゲームで実際のプレイに支障が出るのかということを少しインターネットの仕組みに踏み込んで説明させて頂きました。ここまでご覧になっていただきありがとうございます。記事の正確性については保証できませんのであくまで参考程度にとどめていただけると幸いです。

最後に、自分より詳しい方がネット上にもたくさんおりますので興味のある方は踏み込んで調べてみると面白いと思います。

主な参考文献:

・「マスタリングTCP/IP 入門編(第6版)

 

https://neisuncircus.hatenablog.com/entry/2019/12/17/083648

https://www.4gamer.net/games/105/G010549/20100905002/

https://mvno.freebit.com/column/iot-m2m/bandwidth.html

  • このエントリーをはてなブックマークに追加