スト5の署名活動で思うラグのあれこれ。

最近ストリートファイター5にてネットワークの改善を求めるユーザーが署名運動を始めたと言うニュースがありました。

※1/27追記:CFNのネットワーク品質について、2017年春アップデート予定であることが発表されています。2016年2月の『ストリートファイター5』発売後、ユーザーが最も不満を挙げているのは、「ネットワーク」(サーバー)にまつわる問題でしょう。PS4・PC間のクロス対戦を実現したり、世界中のプレイヤーの詳細な対戦デー...

PS4・PC間のクロス対戦を実現したり、世界中のプレイヤーの詳細な対戦データが表示されるようになったりと、『ストリートファイター4』シリーズから大幅にパワーアップしたネットワーク周りですが、その品質についてはあまり良いものとは言えないようです。度々行われているサーバーメンテナンスや、切断対策といった新機能追加など、継続的な対応は見られるものの、ユーザーの不満が解消されるまでには至っていません。

そんな中、ネット署名サイト・Change.orgを使ったユーザーによるネットワーク改善を求める署名活動が開始しました。署名活動を立ち上げたのはアゴミ氏。開始から数時間で1,000人以上の署名が集まっており、改善を期待する声がいかに大きいかを窺い知ることができます。

相次ぐネットワーク切断、ポイント増減の不具合、頻発するサーバーメンテナンス等にとうとうユーザーの怒りが爆発した形になりました。

上記の記事様を眺めていて記事に対するコメントにも色々な意見がありました。その中で対戦中のラグやワープの話も上がってまして、「あー前にネットゲームの仕組みの記事を読んだ事あったなー」とちょっと思い出しました。とりあえずこのスト5の件は一旦置いといて、知識を整理する為にも格闘ゲームのネットワーク周りの事を考えてみたいと思います。

ハッキリ言ってプログラムの知識などは全くありませんので、見当違いな事を言い出してしまう可能性濃厚ですので前もってゴメンナサイしときます・・・。

格闘ゲームとP2P。

家庭用でもPCでもスマホでも、最近のゲームは何かしら通信しているゲームがほとんどですね。MMORPGなどは当たり前ですが、1人用のシューティングゲームでもスコアがサーバーに送信されて全世界でランキングを競い合ったりする訳で、完全オフラインのゲームなんて今時はほとんど無いんじゃないでしょうか。

その通信方式もゲームによって使い分けられています。格闘ゲームはP2P方式が主流だと思うのですが、この格闘ゲームの通信とラグの話は鉄拳プロデューサーの原田さんの説明が分かりやすくて好きですw

TwitLonger is the easy way to post more than 140 characters to Twitter

プレイヤーAとプレイヤーBの2者間が糸電話のように直接繋がって、入力キーデータのやりとりを、1/60秒単位(数フレーム単位)で頻繁かつ高速に行う事でかけひきを成立させるゲームです。
このように頻繁かつ高速にやりとりを行うゲームの場合は、間に何も挟まず直接繋がっているのがベストです。
当然一番いいのは、ネット対戦以前に1台のゲーム機にコントローラー2つ繋いで遊ぶとか、もしくは昔のJAMMAハーネスを改造して作った対戦ハーネスで繋いで対戦するローカル方式です。
いわゆる外部のインターネットを介して対戦する場合は、サーバーなどを介さずピアツーピア(P2P)方式で2者間を繋いでキーデータのやりとりをするのが現状最適かつ最速です。
もっと言えば、互いのプロバイダ間にあるAP(アクセスポイント)などもなるべく経由したくないぐらいです。
単純に、糸電話やLANケーブルを想像してください、間にいろいろ挟まるとそれは常に遅延の原因になります。基本的にはサーバーを挟まないほうが早いに決まっています。と覚えてください。
ただ、それじゃあ成立しない仕様のゲーム(大人数が一斉にオンラインで遊ぶタイプなど)はサーバーが必要です。

糸電話、うーんなるほど分かりやすいですねwそういえばご存知の方も多いと思うのですがスト5の対戦がP2Pではなくサーバーを介されてしまう時があります。VS画面の中央下に表示されているアイコンで対戦時の通信方式を判別出来ます。

One of SF5’s Netcode Mysteries Solved: Game Not Always P2P from StreetFighter

最近起動してないので分かりませんがこのアイコンはまだ表示されてるのかな?

原田さんのコメントから考えればプレイヤーとプレイヤーの間にサーバーという余計な物が挟まってしまっている状態ですのでラグが起きやすくなるのは想定されます。この状態での対戦は避けたいところですね。まぁP2P接続でもラグが起きる時は起きますけど。

というかプレイする全員が無線ではなく回線が安定する有線LANで繋げたり、ポート解放などの設定をしていればラグの軽減も見込めるんでしょうけども皆が皆同じ環境でプレイしている訳ではないですしラグを完全に回避するというのは難しいところでしょう。

裏では涙ぐましい努力が。

そんな中、開発者の方々は必ず起こりうる通信ラグを軽減させるべく奮闘しているわけですね。毎年行われているCEDECという日本最大のゲーム開発者向けカンファレンスで、開発者の方々の講演が行われるのですが『CEDEC 2010』にてネットワークエンジニアの方の講演をまとめられた4gamerさんの記事が非常に秀逸ですので紹介させて頂きたいと思います。

 先週行われた「CEDEC2010」の講演から「ネットワークゲームの仕組みとゲームデザイン」と題された講演を紹介しよう。登壇したのはセガで「ファンタシースターオンライン」シリーズを手がけた節政暁生氏。…

高いアクション性をもち、1F単位での攻防が繰り返される格闘ゲーム。LAN環境のような高速かつ信頼性の高いネットワークであれば、単にキー入力を送りあうだけで実現可能だが、インターネットを介したとたん、難しくなるのは想像に難くない。

以下の図は、VF5における「キー入力同期方式」の実装例を示したものだ。同作では1Fごとの入力キーデータをUDPによる通信で送りあうことになっている。ここで重要なのは、対戦の開始前に互いの通信遅延を測定することだ。図の場合では、相手に届くまでに2Fと少し(約40ms)の遅延が発生している。この計測値をもとに、同期のための遅延フレーム、ここでは3Fをウェイトとして設定している。この場合、自分が入力したキーは、相手の入力データが届く3Fを待ったうえで実行に移される。このような仕組みによってフレーム単位での同期を取る仕組みだ。

しかし先にも述べたとおり、UDPは必ずしも相手に届くとは限らない通信方式である。もしパケットロスが発生してしまった場合、キーデータが相手に届かないことになる。このような場合は、届かなかったフレームでゲームの進行をストップし、次のパケットを待つことになっている。一つのパケットには、過去10F分のキーデータが入っているため、それをもって直前のフレームを処理するしくみだ。10F分のデータがあれば、1回や2回パケットロスが連続した場合でもリカバリが可能で、さらに保険として1秒(=60F)に1回、RUDPで過去60F分のデータを送ることで、10F以上のバーストエラーにも対策が行われている。

上記の引用はセガの格闘ゲーム「バーチャファイター5 Live Arena」で実装された通信方式の解説ですが単純にキー入力のやりとりだけすれば良いという簡単な話ではなく、対戦前に通信遅延を測定して同期したり、起こってしまったパケットロスを次のパケット送信でリカバリしたりと、1/60秒(1フレーム)単位での駆け引きという緻密な攻防をいかにスムーズに行うことが出来るのか、開発者の努力が垣間見えます。

なお引用中にある「UDP」や「RUDP」などの用語解説やFPS、MMORPG等のゲームジャンルの場合の通信方式の取捨選択など非常に読み応えのある記事ですので、興味がある方は是非4gamerさんの記事をご覧下さい。一読の価値アリですホントに。

また『CEDEC2014』では

これに対して少しの誤差も許されないのが「鉄拳」シリーズのような1対1の対戦格闘ゲームだ。キャラクターの位置や動きが曖昧になると格闘ゲームとしてのゲーム性を壊してしまうため、「鉄拳」シリーズでは遅延を許し、かわりに厳密な同期を確保するアプローチを取っているという。これは格闘ゲームでは一般的な手法で、古くはセガ「バーチャファイター2」のPC版に始まり、その後同様のアプローチを取る格闘ゲームが多い。

-中略-

まず、現在までに「鉄拳」シリーズで試されているのが、モーション上の工夫だ。例えばケリの動作は、地面についている足が持ち上げられインパクトを生ずるまで、加速度的な運動をする。動き始めはゆっくりで、はじまりのタイミングが知覚されにくいため、数フレ遅れていても遅延がないように錯覚される。これを応用して様々なアクションで立ち上がりの動きを滑らかにし、動きの起点を消失させる(Easingアニメーションと言われる手法)と、動きの気持ちよさと遅延感覚の解消を図ることができるという。

と、モーションを工夫して遅延の感覚を解消する方法も採られていたりと何気なくプレイしてもその裏では様々なテクニックが導入されているんですね。オンラインで対戦がスムーズに楽しめるのは開発者の方々の努力に努力を重ねた賜物でしょう。ありがたやー。

応援はしてます。課金はしないけど。

とまぁ通信ラグのアレコレを書いてみましたが話を戻しまして、そういう様なラグ対策はスト5にちゃんと施されてるんかなぁ?うーん?軽く調べただけではイマイチ良く分かりませんでした。

とりあえずスト5のサーバーを強化する事によって、サーバー由来の回線切断の改善や、P2P接続にならなかったり等のダメマッチングの品質改善などは期待される所ですが、私のようにスト5に対してあまり良い印象を持ってない人が「カプコンやるやん!」と思わず感心してしまうほど改善されるのか、それともまた何かしらやらかしてくれるのか色々な意味で期待しましょう。

格闘ゲーム界のビッグネームが後手後手の対応(しかも悪手)でここまでヘイトを集めてしまったり、ゲーム界隈以外でも某イケメン事務所の副社長が90歳にもなって敬われるどころか解散させたグループのファンから罵詈雑言を浴びせられたりするのを見てると「何やってんだかなぁ・・・まぁ自業自得か・・・」と何ともしょっぱい気持ちになる今日この頃です。

・・・いや、メ○ーさんの今後なんて正直知ったこっちゃありませんがw

逆に考えれば返金運動とかならまだしも、内容の改善について署名活動が起こったりするって事はまだスト5を見捨てていない、諦めていない人が一杯いるって事だとも思いますので今回の一件を機にカプコンさんにはより一層頑張って欲しいなーと思います。

スポンサーリンク
レクタングル(大)
レクタングル(大)

シェアする

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

フォローする

コメント

  1. 唐招大事 より:

    一般的に対戦者のマッチングだけにサーバーが使われ、
    決定後は直通P2Pでサーバーは介しません

    • コメントありがとうございます。

      おっしゃる通り確かにマッチングだけにサーバーが使われるのが一般的だと思うのですが、スト5に導入されている「proudnet」に関してはサーバークライアントとP2Pで通信内容を共有するネットワークエンジンだそうで、これが色々な影響を及ぼしているという話もあるようです。

      『ストリートファイターV』で使われているネットワークエンジン「ProudNet」を開発した韓国Nettension社長インタビュー『日本での採用はストVが初めて』『きっかけは知人の紹介』 – チゲ速
      http://chigesoku3.doorblog.jp/archives/48642191.html

      65. チゲより強い名無しさん 2016年05月20日 05:20 ID:
      クラサバとP2Pの混在を行うのが、この企業の製品であるproudnet。
      ストVではゼニーという課金ゲーム内マネーでトランザクション処理が絡む故の
      proudnet導入のようだが、それが完全に裏目に出てブブ祭りになっちまったのか。

      【ストV 】マッチング処理はまず両者がサーバー経由で通信を行って開けるポートを無作為に選ぶ – スト5速報ch
      http://sf5.link/2016/04/02/post-3892/

      447俺より強い名無しに会いにいく@\(^o^)/ (ペラペラ SD3f-wt61)2016/04/02(土) 10:16:19.09ID:
      >>445 
      マッチング処理はまず両者がサーバー経由で通信を行って開けるポートを無作為に選ぶ
      その後両者のルーターはUDPホールパンチングで該当ポートの外からの通信を受け入れ可能な状態にする
      正常に受け入れ可能なら通信はサーバー経由からP2Pへ移行するが問題があればサーバー経由のまま対戦へ移行する
      因みにメモリの少ないルーターは動的に確保できるポートの範囲が少ない場合が多い

      という事もあって今後どこまで改善されるのかが期待される所ですね。

  2. けつへり より:

    最近起動してないので分かりませんがw
    エアプw
    まぁ何も改善しないスト5は糞である事に違いないが・・

    • やる気も完全に無くなってしばらく放置してたんですが
      久々にAE版を起動してみたらVS画面の端っこの方にまだP2Pマークありましたw
      AEになって表示がガチャガチャしたように思えるのでマークが見づらいのがなんとも。

      ちょこちょこと触ってますが常々思うのは格ゲーで国際交流なんてホントに無理ゲーだなーと。
      アンテナマークがバリ5(死語)でも海外勢とはワープの嵐でした。こんなんPC版だけなのかなぁ。
      マッチング許可画面でせめて国籍表示は欲しいところなんですが・・・。