2019年1月8日火曜日

オンラインゲームにおける回線の速度について

オンラインゲームをプレイしていると、「ラグ」という言葉を耳にする事があると思います。このラグとは自分のゲーム機とプレイしているゲームのゲームサーバー間での通信の遅れから生じるものなのですが、この通信の遅れは一般的に使われる回線速度、つまり時間あたりのダウンロード・アップロード量(○○Mbpsまたは〇〇MB/s)といった速度とはあまり関係がありません。
極端な言い方をすれば、高画質な動画配信を見れないような低速度回線でもオンラインゲームが快適に動作する事は十分にあり得ます。

なぜそういう事が起こるのかというと、オンラインゲームは常にサーバーと通信を行っていますがその通信量は微量で、大きいデータ通信はあまり行われないからです。
ではその微量な通信の状態はどうやって確認すればいいのかというと、pingコマンドというコマンドで対象のサーバーからの反応速度を見る事ができます。

コマンドはコマンドプロンプト上で行います。
コマンドプロンプトはプログラム一覧のWindowsシステムツールの中に入っています。
コマンドプロンプトを起動しましたら以下の内容を入力してエンターを押して下さい。

ping google.com

通信が行われれば、
〇〇からの応答: バイト数 =32 時間 =〇〇ms TTL=○○
といった結果が4つ表示されます。
ここの「時間=○○ms」の部分が自分のPCから32バイトのデータがGoogleのサーバーに送信されて行って帰ってくる時間になります。
時間の単位はミリ秒なので1000分の1秒となります。つまり10msの結果だった場合は10/1000秒=0.01秒で通信が行われたという事になります。

また、一番下に以下の様な統計が表示されるので、4回分の結果のまとめを見る事ができます。下記の内容だと4回送信したパケットが4回返ってきていて、その平均は16ミリ秒だったと書かれています。

パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 16ms、最大 = 17ms、平均 = 16ms

続いて

ping google.com -t

とコマンドプロンプトに入力してみましょう。-tというオプションを加える事でこちらが停止を指示するまで送信を続けます。停止の指示はCTRL+Cで行う事が出来ます。
またgoogle.comの部分を実際のゲームサーバーのIPアドレスにする事で実際の数値を見る事ができます。IPアドレスは、「ゲーム名 サーバー IPアドレス」等で調べてみて下さい。
先程は4回のみの試行でしたので今回は好きなだけ行ってみましょう。数時間単位でも問題ありません。最後にCTRL+Cを押して統計を表示させてみて最大や平均の時間、損失の数を確認します。

ゲームにもよりますし、基準はないですが平均の時間が100msより上の場合はゲームでの入力や表示に遅延を感じる可能性が非常に高いです。対戦ゲーム等ゲームスピードが速いものほどここの値は重視して良いといえます。
また、損失がある場合はパケットが損失しているのでこちらの入力やサーバーからの応答が未達となっている状況ですので、損失時は入力が反映されない、表示がカクカクになるといった症状が発生します。損失の方がやっかいな状態といえます。


以上がpingという通信の確認方法になります。
一般的に使われる回線速度、○○Mbpsという回線速度は1秒間あたりに〇メガビットのデータを通信できるという表記です。高画質な映像のストリーミングを行う際は上記の数値が重要になりますが、オンラインゲームは最初に述べた通り大きな通信はしないので低速な回線でもゲームサーバーへのpingが安定していれば安定したプレイができます。
実際に私はADSLでオンラインゲームをプレイしていた時期がありましたがpingは安定しており、問題なく遊ぶことができました。