見出し画像

エクバ2の通信関連の基礎知識とラグについて

2019年2月頃からゲーセンのラグに悩まされるようになりました。
バンナム、スクエニ、セガ等の企業が口を揃えて

「NTTが悪い」

と言っています。

事実ではあるものの、サービスを提供している企業としてプレイヤーに対して説明や注意喚起をもっとして欲しいというのが正直な感想です。

まあ企業側がわざわざ瑕疵(かし)を認める資料を作って発信するのは難しいというのも十分理解出来ます。

というわけで自分が書いてみました。

今回はエクバ2の「通信」「ラグ」について、ネットワークの専門知識を持っていない人が読んで

「ほ〜ん完璧に理解したわ(適当)」

って言えるぐらいになってほしいなという思いで技術要素の深掘りはせずに分かりやすさ優先で書きました。

自分もITエンジニアではありますがネットワークのプロではないので、所々ツッコミどころが出てくると思いますが、そこは大目に見て頂ければ幸いです。

また「聞いてもない事を延々と説明しだす」オタクムーブは控えます。。

1.エクバ2の通信方式

間違いなくP2P方式です。ていうか公式のお知らせに書いてます。
https://web.vsmobile.jp/exvs2/news/detail/86

画像1

P2Pとは(画像の通りなんですけど)サーバーを経由しない通信方式です。

ちなみにエクバ2にもサーバーはあります。(いきなり脱線するオタクムーブ…許して)

・バージョンを管理するリポジトリサーバー
・ゲーセンやプレイヤーを認証する認証サーバー
・戦績やオンラインリプレイを保存するストレージサーバー
・対戦相手を探す・紐付けるマッチングサーバー

まだ他にもあるでしょうけど、このようなサーバーとの通信は対戦"前後"のみ行なっています。

マッチング

対戦中はサーバーに繋ぐ必要がないので各ゲーセン筐体間でのP2P方式での通信が行われます。

マッチング2

2.P2P方式のメリット

エクバ2の対戦方式においてはP2P方式が最適解です。つまり他の通信方式はデメリットしかないです。

この辺はプロの方がそう仰ってます。以下は鉄拳プロデューサー原田氏の説明を引用

「いわゆる現行の格闘ゲーム」の特性を想像してください。
プレイヤーAとプレイヤーBの2者間が糸電話のように直接繋がって、入力キーデータのやりとりを、1/60秒単位(数フレーム単位)で頻繁かつ高速に行う事でかけひきを成立させるゲームです。
このように頻繁かつ高速にやりとりを行うゲームの場合は、間に何も挟まず直接繋がっているのがベストです。
当然一番いいのは、ネット対戦以前に1台のゲーム機にコントローラー2つ繋いで対戦するローカル方式です。
いわゆる外部のインターネットを介して対戦する場合は、サーバーなどを介さずP2P方式で2者間を繋いでキーデータのやりとりをするのが現状最適かつ最速です。
単純に、糸電話やLANケーブルを想像してください、間にいろいろ挟まるとそれは常に遅延の原因になります。基本的にはサーバーを挟まないほうが早いに決まっています。と覚えてください。

たまに「バンナムがケチってサーバーを置かないからラグってる」といった論調の方がいますが、それは大きな間違いです。

3.対戦中にどんなデータを通信しているか

キー入力のみを通信しています。
具体的に言えばレバーと5つのボタン(射撃, 格闘, ジャンプ, サーチ, 通信)の入力のみを通信しています。これを1秒間に60回の頻度でパケットデータとして通信しています。

画像6

「エクバ2になって画質がよくなったからラグってるんじゃないか?」

ていう意見をよく見るんですが、画像関連は一切通信していません。通信する意味がないからです。

遠く離れた友人と将棋をプレイする事をイメージしてみて下さい。自分のターンで動かした駒の情報をどう送ります?

画像2

こんな風に1手1手盤上の写真を撮って送りますか?

そんなわけないですよね?

「3・四歩」で分かる事ですよね?

エクバ2も一緒です。

機体のモデリング、モーション、武装、キャラの絵、ゲージデザイン、BGMなどのデータは全てそれぞれのローカル(筐体)に存在します。それをわざわざ通信するのは無駄な事です。

エクバ2のオンライン対戦に必要なものは「誰が、どの操作を、いつ実行したか」だけです。

具体例を挙げてみます。
ガンダムのサブ射撃、ライトニングのサブ射撃

画像7

見た目、動き、弾の数など違いますが通信しているのは「サブ射撃が入力された」という情報のみです。
機体の位置データ、それぞれの弾がどのように飛んでいくか、弾が敵に当たったか、ダメージ、補正など全部ローカル(筐体)で計算しています。

繰り返しますが全て通信する必要はありません。

ちなみに対戦リプレイも同じ理屈です。動画で保存しているわけではなく、プレイヤーのキー入力を全て保存しておいて、リプレイ再生時はプレイヤーのキー入力を再現しているだけです。

機体調整などでリプレイが全て消えてしまうのは、同じキー入力でもアップデート前後で異なる結果になるためです。(アップデート前は200ダメージで試合終了、アップデート後は190ダメージでギリギリ生き残るなど)

ちなみに稼働初期にあった勝敗バグ(勝ったのに負けてる、負けたのに勝ってる)はキー入力の同期がうまくいってなかったのが原因と思われます。

4.対戦中の通信量ってどのぐらい?

世の中には変態(褒め言葉)が沢山います。
PS3フルブでこの辺を細かく調べてくれている人がいます。
https://w.atwiki.jp/arcgundamvs/pages/344.html

要約すると対戦中の通信量は200kbps

今時の子に馴染みの深い単位「ギガ」に置き換えると
200 ÷ 1024 ÷ 1024 ÷ 8 = 0.000024ギガ/秒

単位が小さすぎて逆に分からないので…0.085ギガ/時、2.06ギガ/日

大手キャリアの速度制限中の速度が128kbpsなのでその程度の通信量だと考えてください。

フルブとエクバ2でパケット送信頻度や1パケットに含めるフレーム数なんかが変わってるとは思いますが、大きくブレてはいないと思います。
ラグ対策としてソフト側で通信量を減らすっていうのは元々がかなり少ない通信量なのであまり効果は出ないところですね。

5.ラグは何故起きるのか

前置き長過ぎましたがここからが本題です。
結論から言うと「時間や地域性に影響を受けるのでラグの原因特定は困難」です。

ただ一般的な話として、ラグの最たる原因として、国民一人一人の通信量の増加が挙げられます。話がでかくなってまいりました。

・動画・音楽などのサブスクリプションサービスの台頭
・高画質化が進むゲーム(グラブルなどのブラウザゲーは画像、音楽、音声などを通信しています)
・SNSやYoutubeなどで日常的に動画が配信・閲覧されるように
・携帯キャリアのギガ放題サービス

国内で通信量が日々増加しているのは明らかです。

要は慢性的にネットが混み合っている事が原因なので、バンナムがラグを解決するのは無理です。そんな事が出来るならバンナムは通信業界に進出した方がいいです。技術革新が起きます。

ネットが混み合っていると書きましたが、そうした際に真っ先にボトルネック(一番混んでいる箇所)を疑われる設備があります。

それがNTTが管理している「網終端装置」です。

網終端装置についてはIPv6のところで掘り下げますので、とりあえず単語だけ覚えておいてください。ここは簡単にまとめます。

網終端装置を経由する頻度が高いとラグ発生率が増える

6.ラグの起こりやすい環境

網終端装置を経由する頻度…つまりどういう事だってばよ?

エクバ2で考えましょう。

網終端装置を経由する頻度が高い = 通信するゲーセン間の回線数が多い

プレイ環境によりけりですが4人で対戦するエクバ2の通信するゲーセン間の回線数は以下画像のようになります。

画像10

4つのゲーセンで6つの回線を使用するシャッフル対戦が一番ラグ発生率が高いです。
固定は2つのゲーセンで1つの回線を使用するのでラグ発生率は低いです。
但し店外固定ではゲーセンが3つ〜4つと増えるのでラグ発生率は最悪シャッフルと同じです。
当たり前ですが店内対戦では回線を通さないのでラグは発生しません。

数値としてどのぐらい変わるか回線1本のラグ率10%として試算してみます。

画像10

計算式: 1 - (1 - 0.1)^回線の数

固定に比べてシャッフルは4.7倍のラグ発生率になります。

現実的にラグはランダムで起きてるわけではないのであくまで参考値です。ただ回線数が増えれば増えるほどラグ発生率が上がるのは確実です。
また回線数はゲーセン間の距離などによって変わるため本当はもっと複雑です。(東京-東京は1本、北海道-沖縄は5本など)
あと本当は回線数じゃなくてセッション数だとか、通信は単方向じゃなくて双方向だとか本当に色んな要素があります。(そろそろ有識者に怒られそうな気配を感じたため自衛)

7.IPv6対応という希望

エクバ2はALL.Netというインフラ基盤を利用して運営されています。
ALL.Netはセガが運営していて、ギルティ、鉄拳、艦これACなど色んなゲームが利用しています。

そんなALL.Netが2019年11月から順次対応を開始したIPv6

具体的にいうと「IPv6 IPoE接続に対応した機器(ルーター)の導入」です。

回線業者がNTTから変わるわけではありません。
高速回線になるわけでもありません。
高速化する理由は「ボトルネックの回避」です。

ここで再登場、網終端装置

網終端装置は先ほどネットが一番混み合う装置と説明しましたが、IPv6(IPoE)だと混み合っている網終端装置を経由せずにインターネット接続が出来るというのが最大の要因です。(高速道路で料金所をバイパスするようなイメージ)

画像11

元々ラグってたゲーセンで試験的にIPv6対応したところラグが解消されたので効果についてもお墨付きです!やった!エクバ2は救われた!

とは簡単にはいきません。

IPv6接続対応ルーター導入の初期費用

30万円です。

勿論これはゲーセン負担です。

なので全てのゲーセンに無条件に導入されるわけではありません。ちょっと考えるだけで導入に二の足を踏む理由はいくつかあります。

・30万円ペイする保証がない
・他のラグゲーセンが対応しなければ意味がない
・自分のゲーセンがラグゲーセンであるという確証が取れない

インフラ整備はNTTまたはALL.Net提供元のセガが進めて頂けると助かるんですが、、金が絡む以上難しい問題ですね。

VSモバイルでも発表されました。
ALL.Net対応タイトルの通信品質改善に向けての対応についてhttps://web.vsmobile.jp/exvs2/news/detail/165

8.何故こんなにも不満が出るのか

ここからは技術的な話ではなく、体制的な話にシフトします。
要はバンナムへの苦言です。

ゲーセンでラグると何故こんなにも不快なのか。

例えばPS3フルブ家庭版でラグったとしても対戦相手や自分の回線に文句は言いつつも気を取り直してもう1回ってなるだけですよね。

でもエクバ2でラグると許せない

何故なのか


100円取ってるからですよね?


要はゲーセン特有の「1プレイ100円(従量課金制度)の通信品質を誰がどのように保証するか?」ってのが議論の対象なんでしょう。

・お金をプレイの度に支払う(月額制や買切り制ではない)
・プレイの品質が保証されない可能性がかなり高い(100回に1回とかの頻度でなく2回に1回レベル)
・現場スタッフ(ゲーセン店員)は品質を保証する立場ではない
・返金要求・クレームをあげる相手が現場にいない

こんなサービス他にないです。理不尽には怒るのが人間だ。

SNSなどで、ラグについてレストランや公共交通機関など別サービスで例えを挙げていた方がいましたが、ピッタリハマる例えはなかったと思います。

満足なサービスが提供されない状況で、クレームも出せないし返金対応もされないというのは悪い意味でオンリーワンです。

9.何故プレイヤーへのサポートが不十分なのか

画像10

・社会的インフラを整備しているのはNTT
・ALL.Netの管理はセガ
・ゲーム(サービス)を提供しているのはバンナム
・場を提供しているのはゲーセン

関連企業が多数に渡り責任の所在が曖昧になり、1プレイ100円の内容をどの企業も保証しない。

結果、プレイヤーがただ損をしている状態(泣き寝入り)

「このラグゲーに100円払う価値なんてない」とラグが原因でプレイを休止したプレイヤーも多いので、ゲーセン、バンナム、セガも売上的には被害者だとは思います。

ただそれはプレイヤーが考えてあげる事ではないです。

現状は企業側がプレイヤーの忍耐に甘えまくっていますね。アーケード業界ってそんなに余裕のある業界でもないと思うんですが…(個人的にゲーセンは99%被害者側だと思ってます)

10.ラグ対策まとめ

「プレイヤーが出来るラグ対策」

…ほぼないです。プレイスタイルや環境次第ではそもそも何一つリスク対策が取れず、リスク回避・リスク軽減といった根本解決には繋がらないものしか選択できません。

・IPv6対応のゲーセンでプレイする
・ラグ発生率の高いシャッフルではなくラグ発生率の少ない固定で遊ぶ
・店内対戦、トライアドバトル、トレーニングモードなどのオフライン環境で遊ぶ
・ゲーセン店長に30万円を差し出す

嫌なら辞めろの精神で「エクバ2を引退(休止)する」ってのもあります。いわゆる思考放棄なので対策とは言えないものです。

「ゲーセンが出来るラグ対策」

ゲーセンは出費やオペレーションの手間などが必要ですが多少やれる事があります。

・IPv6対応を進める
・IPv6対応したら全力でアピールする(店舗探しの助けになる)
・店舗のラグ状況に応じてオフラインで遊べるモード設定を行う
・プレイヤーの求めに応じて店内対戦(貸切)に対応する

「バンナムにやって欲しいラグ対策」

本題。ゲーセンの光回線は通信品質がある程度保証されている=滅多にラグらない、という前提の元にゲームが設計されていましたが、これが根底から崩れてしまいました。

今作でもラグ対策としてソフト的な対応を何度か実施していましたが、次回作があるとすれば「ラグはあるもの」としてゲームを設計する必要があります。

以下は実装難度など全く考慮していない妄想レベルの提案です。

・マッチングサーバで通信品質のチェックを行い、通信品質or通信相性が悪いゲーセン同士はマッチングさせない。(家庭版ではプレイヤー全員が通信品質に同意して対戦が始まりますがそれを自動化するイメージ)
・試合開始30秒以内にラグが一定レベルを超えると試合を中断して再度マッチングから(試合中盤〜後半は流石に弊害の方が大きそう)

上記のような「"快適な"1プレイ100円を保証する機能」が実装されればかなり不満も収まると思います。

但しこういった機能は回転率が下がります。「回転率が下がる=売上が落ちる」なので技術的に実装は可能でもやるかどうかは難しいところです。

が、ここはプレイヤーを第一に考えてほしい…損して得取れ。

あとすぐやれる事として、VSモバイルや公式HPのトップに「通信障害に関するお知らせ」を常に表示、時系列を一つにまとめるぐらいはしてもいいんじゃないでしょうか。(今はお知らせのログを掘らないと辿り着けない)

おわりに

エクバ2に関するネットワークの基礎知識、またラグに関して現状何が起こっているのか、プレイヤーがどう立ち向かえばいいのか、サービス提供者であるバンナムは本来どうあるべきなのか等を主観ですがまとめました。

たまに「バンナムが悪いんじゃなくてNTTが悪いんだよ?割り切れよ…でないとお前も死ぬぞ」とハイネのような意見をSNSで拝見しますが、割り切ってもプレイヤーが得するところは何もないです。

エンドユーザーであるプレイヤーが声をあげ続ける事が大事だと自分は考えます。

アーケードでも家庭版でもVS.シリーズが長く続いてくれる事を願っていますので、こんなラグなんかに負けないでほしいです。

長文を読んでいただきありがとうございました。

あとは余談(本筋から外れたオタクムーブ)になりますので興味のある方は引き続きどうぞ。

余談1.ラグ武装の存在

ここまで読んでくれた方はもうお分かりだと思いますが、通信しているのはキー入力だけなので、「特定の武装を使ったせいでラグるなんて事はあり得ない」です。棒立ちでもファンネルを連射してもレバガチャをしても通信されるデータ容量は何も変わらないです。

ラグを誘発する武装なんてものは仕様上存在しません。

ただガナザク、エクセリアのメイン、起き攻めゲロビのようにラグ環境だからこそ当てやすく強い武装はあります。(何度ブーストが出ずにその場でジャンプした事か)

ラグ環境下で強い武装

という意味でラグ武装という言葉を使っているのなら間違ってないです。

余談2.ラグと混同されがちな処理落ち

前述のラグ武装の正体はどちらかというとこっちです。
処理落ちは筐体負荷が高くなって通信ラグのように画面がカクつく現象の事です。通信によるラグと画面上の挙動は一緒ですが原因が違います。

・GC版ガンダムvs.Zガンダムの画面4分割で全員キュベレイ使用
・PSPガンダムvs.ガンダムでGクロスオーバーを同時発動
・PS3エクバで百式4機で置きバズ→覚醒技

過去作でもこういった高負荷な行動をすれば簡単に再現出来ます。

ただエクバ2は新しい基板が導入されマシンパワーが格段に向上しているので、処理落ちはほぼないです。(自分は見たことありません)

処理落ちは店内対戦でも発生しますので、どなたか店内対戦で再現出来たら教えてくれると助かります。

「処理落ちは再現性がある」ので検証が容易です

余談3: ネットワークゲームの通信方式

最初はこの辺も詳しく説明しようかなぁと思いましたが、書き出すとキリがないので余談にしました。

大きく4つに区別されます。

1.「完全同期型/キー入力同期方式」
 EXVS, 鉄拳, ストリートファイターなどの対戦ゲーム

2.「完全同期型/コマンド入力同期方式」
 囲碁, 将棋, チェス, AoE, スタークラフトなどのRTSゲーム
 
3.「非同期型/サーバー集中処理型」
 FF14, FPSなどの多人数型ゲーム

4.「非同期型/クライアント分散処理型」
 PSO2, MHWなどの多人数型ゲーム

エクバ2は「完全同期型/キー入力同期方式」P2P通信にて実現しています。

以下の記事とてもタメになるので興味があるのなら是非ご一読ください。
ただ2010年の古い記事なので、最近はP2P方式でも全員が対等に通信するのではなく、誰かをホストに設定するP2P方式も出てきています。(スプラトゥーン等が該当)

[CEDEC 2010]ネットゲームの裏で何が起こっているのか。ネットワークエンジニアから見た,ゲームデザインの大原則
https://www.4gamer.net/games/105/G010549/20100905002/

この記事が気に入ったらサポートをしてみませんか?