格闘ゲームのロールバック ソシャゲとは違うのよ

深夜ふと、少し前に遊んでた格闘ゲーム「サムライスピリッツ」の動画が見たくなって色々漁ってた。
むかーしのではなく、2019年に発売されたやつね。
コイツも名前がシンプルに「サムライスピリッツ」だから、これだけだと数あるサムスピタイトルの中のどの作品指してるかわからなくなるので、ファンの間では「令サム」と呼ばれてたりする。
令和のサムスピってわけだ。

サムスピは格ゲーの中でもコンボより差し合いって感じのゲーム性で、見ててひりつく場面が多い。
互いの刀の間合いをはかりながら斬り合うのはまさにサムライ。
雰囲気は出てるんだけど、登場キャラを見回すと実は本当の意味でのサムライはいないってのが面白い。

そんな令サムの動画を見て回っていて大会動画があったから見てたんだよね。


大会って結構強キャラだらけになっちゃうことが多いんだけど、各キャラ程よくバラけてて見てて楽しかった。
実況もしてくれてて、技の特性とかキャラ相性なんかが今のバージョンでどうなってるかを織り交ぜて解説してくれて助かった。

そんな中、ふと実況の方が

「今からじゃ難しいかもだけどサムスピもロールバックほしいですね」

と話してて、私は聞いたとき意味がわからなかった。
コメント欄は「そうだね~」とか、「鉄拳も途中から入れたしいけるんじゃない?」とか流れてたので、みな意味を理解してる模様。

ソシャゲ、MMOの民である私からすると「ロールバック」というのは、障害発生時にどうしても部分的な解消が難しい場合、ゲーム全体のデータを障害発生前まで巻き戻すことをそのように呼称していて、基本的にあまり聞きたくない単語ではある。

しかしここで話されているロールバックはどうも指してるものが違うようだ。
文脈から察するに「通信ラグ」に関連する言葉らしい。
さすがに気になったので調べてみた。

一番わかり易いのはこの動画かもしれない。

(英語音声だけど設定で字幕つきにできるよ)

どうやらオンライン対戦環境における通信および画面描画に関する方式の呼称らしい。
私の理解でざっくり書くと、従来オンライン対戦などは「ディレイ方式」というものを採用していた。
これはプレイヤー間の応答速度(ping)を考慮してあえて入力遅延をいれるもの。
ボタンを押してから画面に反映するまで少しディレイを入れるわけだ。
こうすることで自分の画面でも、通信を介した先の相手の画面でも同時にボタンを押した結果が反映されることになる。
(ディレイがないと、自分だけ即反映、相手側は通信分遅れて反映となってしまう)

pingの値に応じてディレイの時間が変わることもあり、pingが高い状況(応答速度が遅い)だと、ボタンを押してからかなり待って反映されることとなり、これはストレスとなる。
またpingが安定していないと、ディレイが有効に働かないなどの問題もあるそうだ。

対して新たに生まれた「ロールバック方式」だと、入力に対してディレイを入れず、即画面に反映する。
こうすると先程も説明したように自分側は良いが、相手側は通信を待たなきゃいけない分遅れて反映されることになる。
この待っているあいだ動きを止めるのではなく、「相手の入力を予測して」反映させておくというのが肝らしい。
直前の行動を元に、まだ通信が到達してないがきっと同じ行動だろうと予測して先に画面に反映させる。
直前でガードをしていた(十字キー後ろを入力していた)から次もガードだろうと予測してとりあえず画面に表示するわけだ。
通信頻度からすると大抵この予測は当たることになる。

問題は予測がハズレた場合。
相手が次のタイミングでは実はガードではなくジャンプをしていた場合、先に反映していたガード表示と通信を介して送られてきた行動が異なってしまう。
この場合は、途中フレームをすっとばしてジャンプをした、と言う行動結果を画面に反映させるのだ。

こうやって文にすると見え方がすごいことになりそうだが、実際は数msという人間に認識できるかどうかの時間のつじつま合わせなので、pingが低く安定している環境であれば何も違和感を感じないだろう。
入力遅延もなく、相手の行動も違和感なく反映される素晴らしい技術ということらしい。
有名どころだと、ストリートファイターVやGuilty Gear Striveなんかが採用している。

まあ実際はディレイか、ロールバックか、の二択ではなくハイブリットで取り入れることで違和感を極限まで小さくするという使われ方をしているようだ。

この通信方式の話は、格ゲー界隈では当たり前のように話されてることだったみたい。
こんな技術革新があったこと今まで全然知らなかったことにちょっと愕然としちゃったね。
もうちょっとアンテナ張らないとなぁ。


たまには違う界隈の様子を覗いてみるのも大事だな~と思わされた一件でした。


いいなと思ったら応援しよう!