rh日和(仮)

モノ、ゲーム、PCなどについてのブログ。

グラブルVSライジングに搭載される「ロールバックネットコード」についてわかりやすく解説してみたい


www.youtube.com

 対戦格闘ゲーム『グランブルーファンタジーヴァーサス』の続編『グランブルーファンタジーヴァーサス ライジング』が発表された。オンライン対戦がロールバックネットコードに対応するとのこと。

 ロールバックとは何か? ということについて自分なりに解説してみたい。あくまで自分の「解説欲」を満たすためのものなのでわかりにくくてもご容赦いただきたい。

ディレイ方式の問題点はゲームスピードの変化

 従来の格闘ゲームのネットコード(インターネット対戦に関する技術)は基本的に「ディレイ方式」を使用していた。それをより改善するために開発されたのが「ロールバック方式」という位置づけ。

 そもそも格闘ゲームのオンライン対戦が成立するのは、入力情報を相手のゲームハード(PS4、PS5、PC)に送信しているから。

 十字キーやボタンを押したか離したか、という情報を、インターネットを介してお互いハードに送り合う。そして受け取った情報をハードが計算し、ゲームソフトを動かしている。インターネットを通じて自分のコントローラーを相手のハードに繋いでいるようなイメージ。


 しかしオンライン対戦では通信距離や通信の不安定さに情報のラグ(遅延)が生じてしまう問題がある。

 従来のディレイ方式はこの問題に対して情報が来るまで待つという手法を取っていた。

 入力情報が来ない時はゲームのスピードを遅らせて(ディレイをかけて)情報が来るのを待つ。場合によってはゲームが止まることもある。そして情報が来たらスピードを上げ直す。

 ディレイ方式の欠点は、ゲームスピードが上がったり下がったりしてプレイがやりにくくなること。

 通信環境が良ければわずかなラグで済むが、1フレーム(およそ0.016秒)刻みの正確なタイミングでの入力が必要な格闘ゲームでは、ラグが1フレーム増えるだけでプレイ感覚が大きく損なわれてしまう。

ゲームスピードが変わらないロールバック方式

 その「ディレイ方式」を改善しようとして開発されたのが「ロールバック方式」

 ロールバック方式は回線のラグで入力情報が来なくても情報が来るのを待たないのが特徴。

 入力情報が無いのにゲームをどう動かすか? その答えは直前の入力情報を継続すること。

 例えば方向キーを後ろに入れているときにラグが発生したら、とりあえず方向キーが後ろに入れっぱなしになっているという、いわば「仮の入力情報」を元にゲームを動かしてしまう。

 そしてその後遅れて「真の入力情報」がやってきたら、その情報が本来来るべきだった正しいタイミングに遡って(ロールバックして)ゲームを再計算し、その結果を改めて出力しなおす。

 再計算は一瞬で行われ正しい結果と入れ替えられる。例えば仮の入力情報が前歩き、真の入力情報が後ろ歩きだった場合、キャラクターはワープするように一気に後ろに移動する。正しい情報で上書きされるようなイメージ。

 ロールバック方式の優れている点は基本的にラグによるゲームスピードの変化が起こらないという点に尽きる。

 そしてその特性は正確なタイミングでの入力が必要かつ入力のパターンが少ない(せいぜい4つの方向と8つのボタンの12のオンオフ)格闘ゲームにかなり適していると言える。

 特に回線状況が比較的悪く、国土も広い海外のプレイヤーが実装を切望していた。

ロールバックは万能ではない

 しかしロールバックは決して万能な仕組みではない。

 まず回線状況が極度に悪く、仮の入力情報と真の入力情報の入れ替えが頻繁に起こる環境だと、ゲームの表示が不安定になる。

 具体的には相手が急に移動したり、いつの間にか攻撃をしてきたり、といったように時間が飛んだような見た目になってしまい、プレイに支障が出る。ロールバック方式は決してオンライン対戦のラグを消してくれる魔法の技術ではないのである。

 またロールバック方式を採用する場合、ただそのままネットワークコードを適用するだけでなく、ゲームの演出自体をロールバックに合わせて調整する必要があるとされている。

 以前とある古い格闘ゲームがロールバック方式のオンライン対戦を実装してリマスターされたことがあるが、敵をKOした瞬間に即座に画面全体にKO演出が出る仕様になっていたため、「KOの演出が出る→実際はガードしていた→ロールバックでKO演出が消える」という形で、一瞬だけKO演出が出て消えるという症状が頻発していた。

 他にもキャラクターの攻撃モーションなども、ボタンを押した瞬間に見た目が大きく変わるようにしてしまうと、ロールバックが発生するたびに違和感が生じてしまうらしい。

 既存のゲームにロールバックを適用する場合、ゲーム全体をロールバックに合わせてチューニングする必要がある。だからライジングは新作として発売することになったのだろう。