読者です 読者をやめる 読者になる 読者になる

じんせいのあれこれ

人生は人それぞれやで、自分なりの答えを見つけよう!

Call of Dutyのラグについて考えてみた

 どうも、久しぶりです。ヤサカです。

 会社を辞めて今まで何をしていたかというと、会社の終了手続きとか、やっていました。今回はそんなこととは関係なく、せっかく家に帰ったということで、久しぶりに結構遊んでいるのですが、よく遠方の友達と遊んでいるのが、オンラインゲームです。

 何となく過去記事とか読んでいるとなにで遊んでいるのかも、見当がつくとも思いますが、Call of Duty Black Ops3です。はい。

 今回取り上げるのはオンラインゲームの性、そう、ラグのお話です。

 

 よく遊んでいると、ラグが半端ないな。ということが多々あります。この手の議論はよくあり、「ラグがぁぁぁぁぁ」というラグ肯定派と、「ラグなんてない、それを騒ぐのはクソ雑魚だけ」というラグ否定派の殴り合いがいつも繰り広げられています。

 別にこの記事書いてこの議論に終止符が打たれるかというと、まあ、まず打たれないでしょうし、火に油を注ぐようなことになるでしょう。

 ちなみに先に公言しておくと、私はラグがあると思っているので肯定派です。それでも、よろしいならば戦争だ、という方と時間に厳しいことに定評のあるCoDシリーズを基準にちょいちょい考えていきます。それを了承の方は最後まで見ていただけると幸いです。 

 

 

 

そもそもラグってあるの?

 まず最初に結論を持っていくというこの始末。まあ、結論から言うと、というより最初から言っていますね。ぶっちゃけ、距離の概念がある時点で、どうやってもラグは発生するだろう。というのが結論です。

 なんかいい例がないか考えた結果、火星探査機が出てきました。

 

f:id:yasakasoraiken1919:20161007175212j:plain

 

 火星探査機は火星と地球をラジコン(遥かに高次元の技術だが)で操縦するらしいのですが、火星と地球では最短距離の時でも片道4分、往復8分のラグが生まれます。要は地球上でも火星と地球の距離から見れば2900分の1という、遥かに短い距離ながらも、距離があるため、ラグが発生する、ということです。

 これは技術の発展では現状対処できないかと思います。データ容量的に軽い音声通信ですら数十ミリ秒の単位でラグが常に発生していることから考え見るに、どうしようもないでしょうね。救いはないんですかー!

 

 まあ、今作は何ミリ秒ラグがあるかを一応見れます見たことのない人はメニューで弄って見てみては?まあ、そんな途方もなく短い時間を基準にしてるんだなぁ、くらいのものですが、事、FPSでは結構時間的に厳しいです。

 

 

計算

 ということで、ちょっくら計算をしてみることに。

 

 まず、今回使うデータの基準は下記のようにします。

 

  • PING(ラグの時間):30ms~150ms
  • 計算武器(rpm):ICR-1(600rpm)

 

 

 それぞれ何かというと、PINGはそのホスト(情報処理するところ)から私のところまで、情報が返ってくるまでの時間で、私がゲームしている時にちょいちょいチェックしていたブレ幅でとっています。私の環境では30ms~150msくらいですね。

 武器はICR-1を使用、理由は600rpmという計算しやすい発射レートだったからです。それ以上でも以下でもない。

 

 では、計算をしていこう、まず、武器の発射レートは一分あたりに何発弾が打てるか?を表しているので、とりあえず、1秒あたりに変換する。

 

  • 600rpm=10rpsとなる。

 

 うん、計算が楽だ!端的に言えば1秒間に10発の弾が打てる銃、ということだ!次に、最低値の30msと150msを秒に直す。それぞれ直すと、

 

  • 30ms=0.03秒
  • 150ms=0.15秒

 

 日常生活では使わない小数点以下の秒数になってしまったなぁ(小並感)。まあ、当然の結果である。

 で、それぞれ計算するとこんな感じだ。

 

  • 30msの場合:0.3発
  • 150msの場合:1.5発

 

 これが何を表すかというと、それぞれのラグが発生するときにICR-1が打てる弾数はこれくらい違うよ、というものである。

 30msの場合は、どうなるかというのを想定するに、別に弾が3等分されたり、3分の1の飛距離まで飛び、残りの3分の2は弾が消失するわけでも、当たった弾によるダメージが 3分の1になるわけでもなく、おそらくホスト側も発射されていない確率のほうが高いと思います。

 つまり、そこまで大きい差にならないかと思います。

 

 では、本題の150msの場合を考えてみます。これは火を見るより明らかで1発分以上の差が出ます。仮に、ホストとホスト外の人で撃ち合うと、ホストは1発以上多くの弾を撃つことができます。つまり、同条件で撃ち合うと、ホストが1発分の差で勝ってしまうということです。

 実はこれはまだマシな方で、レート銃になるとひどいことになります。Vesperという銃はICR-1の倍の発射レートを持ちます。つまり、上記の計算を用いると、ホスト対ホスト外で3発分の差が出ます。これは勝てないな……。

 

 

 ラグ対策を考える~ユーザー編~

1. 回線環境を整える

  まず、一番敷居の高い方法。単純に無線から有線に変える、というものがあり、思い切って引っ越してしまうというのも考えられます、海外に……。だって、アメリカの方がCoD人口多いやん……。

 冗談はさておき、まだ無線の方で金銭的に余裕のある人は無線から有線に切り替えるのがいいかと思います。まあ、昔の記事でも明言した通り、恵まれた環境の人がやれることであるのは事実だと思うので、個人的には無理強いしません。はい。

 

 

2. ラグを気にしない

 メタルマンの外道博士よろしく、まず、ラグという言葉を思い浮かべるのだ、そしてゆっくりこう唱えるのだ、存在しないと。

 ぶっちゃけ、ゲームを純粋に楽しみたいなら、これが一番かと思います。まったくラグを考えずにプレイするのが、私個人としても、一番ゲームしてて楽しかったです。

 ただし、あくまで論点のすり替えに過ぎないです、また、ゲームの上達にはあまりお勧めしません。ぶっちゃけ、運営側でまだまだ対策の余地があるのは確かで、その辺は後述。そして、ゲームを上達したいなら、その辺に目をつぶると上達はしないかな、とも思います(純粋に強かったり、回線が生まれながらにおっふしている人は気にしなくてもいいかとも思います)。

 

 

3. ゲーム的に工夫する

 私がよく使う方法で、自分自身の立ち回りや装備でラグに対抗する手法です。ちなみに上達しないんじゃね?と前述している理由でもあります。

 CoDシリーズはどの武器でもある程度戦える半面、ある距離になると戦えなくなったり、不利になる要素がある程度あります。例えば、SGで100mの距離の敵に攻撃しても弾が消失してどんなに頑張ったって当たりません。また、LMGでの近接勝負も、スプリントアウト後の撃ち合いならSGとかSMGに圧倒的に分があります。

 要は、相手の土俵を避けまくって、自分の土俵に相手を連れてくるというFPS中級者以上の方なら当たり前やん、と思えるような要素ですが、プレイしていて、わざわざ相手の土俵に上がって虐殺されている味方が結構多いように見えたので、あえて書いておくことにしました。

 この作戦も、超うまい人や強力なパーティーにあたると太刀打ちできません。こうなると、4番の作戦を使わざるを得ない。

 

 

4. 諦める

 シンプルかつ、ある種一番の解決策です。3番でも書いていますが、頑張っても太刀打ちできる限界は必ず存在します。だって、ゲーム側から相手が有利な土俵が周到に作られているわけですからね、これを覆すのは容易ではありません。

 時には諦めるのも仕方がない、ということです。

 

 

 

 ラグ対策を考える~開発者編~

 前述しましたが、このCoDタイトル自体はまだまだ改善できると思います。その根拠は、いまだにP2P回線を使用している、という点です。

 P2Pは何かというと、端的に言えば、サーバーを持たずにユーザー同時が通信しているような状態らしいです。というか端的にしかわからん!例としてはSkypeなどがそれにあたるそうですね。

 これの何が問題かというと、現状のCoD BO3ではユーザーの誰かがホストとなり、それ以外がホスト外になるという仕組みになっており、先ほど言ったようなホスト有利体制が構築されます。また、サーバー制と異なり、悪い回線のプレイヤーがいると残りの良回線のプレイヤーも悪い回線のプレイヤーと同一にされるという性質もあり、オンラインゲームのFPS向きかといえばそうとは言えないと思います。

 

 サーバー制ならある種どうしようもないので、君はいいゲームであったが、君の地理的環境がいけないのだよ。という某ザビ家の人くらいの諦めはつくのですが、P2Pやられちゃったらなぁ。というがありますね。

 蛇足ですが、サーバー制ならホスト切断によるゲーム終了のペナルティも負わないので、そちらのほうがユーザー的にも助かるのだが、アクティビジョンさんケチらしいからなぁ……。

 

  

まとめ

  正直今回の記事を作成するに当たり、実は結構調べ物をして個人的にもいい勉強になったと思います。

 どの程度の連射レートを持つ武器ならどれくらいの発射弾数差があるか、ということを直で学べたということで価値がありましたし、今まであやふやだったP2Pとサーバーの違いなども学べました。ここでは表面的なことしか書いてないので、興味がある人は調べてみるといいかもしれません。割と個人としては面白かったです。

 

 

 どちらかというと今回の記事は、初心者さんがうまくなるためのちょっとしたお話くらいのものでとらえていただければ幸いです。

 

 では、次回まで、さよなら!