じゃあ同期ズレってなーに?

【同期】:二つ以上の信号や処理のタイミングが合うこと。

 同期ズレはインターネットの回線速度(bps)とはまったく関係がない現象で、マルチプレイの仕組み上、爆速回線同士でも発生しますし、オフライン(ローカル通信)でも普通に発生します。

 また、応答速度(Ping値)が大きく影響する現象なので、ホストプレイヤーがラグい場合には頻繁に発生し、まともにプレイできないことがある反面、まったくラグがなくても発生する現象でもあるので、フレンドさんの友情を脅かす程の混乱を招きます(そんなことない)。

 オンラインゲームにおいて「ラグ」の次に有名な「同期ズレ」ですが、誤解している人が多い現象でもあるので、分かりやすく解説してみたいと思います。

まず、フレームレートの話

 同期ズレを語る上で避けては通れない「フレームレート」について少しだけお話します。

 ゲームにも、映画にも、アニメにも、「絵が動く作品」には『フレームレート』が設定されています。ええ、もちろん、ファインディング・ニモにも。

 フレームレートとは「1秒あたりに処理される絵の数」って程の意味で、スプラトゥーン2は「1秒あたり約60枚の絵」で動いているのでフレームレートは【60fps※1】と表現します

 ちなみに、映画のフレームレートはフィルム文化の名残で【24fps】なのですが、映画館で観る映画のあの「独特の映画らしさ」もフレームレートの仕業なのです。

※1 この場合の【fps】は「frames per second = フレーム毎秒」の意味。

同期という概念

 1秒を60枚の絵で分割しているので、1枚の絵が表示される時間は僅か「0.017秒(0.0166666…7秒)」、これを【1F】(1フレーム)と数えます。

 スプラトゥーンに例えると、「プロモデラー」の連射時間は「0.067秒」なので【4F】、つまり4枚の絵を使ったアニメーションで1発の弾が発射されるイメージ。

0.0166666…7秒×4=0.0666666…7秒

 ( ˘ω˘ ) スヤァ… 

 主婦イカさんが遠い目をして夕飯の献立を考えはじめたので、もっとザックリいきましょう。

 例えば、スプラトゥーン甲子園でMC暴徒さんの「プレイボ〜〜〜ル!」の掛け声に対して、視聴者のコメント弾幕がピッタリ揃わないのも、視聴者の回線にそれぞれ異なった「ラグ=時間的な遅延」があるからなんですね。

そこで『同期』という概念が生まれます。

 もしも、「プレイボ〜〜〜ル!」の「プレイボ〜〜」の間に送信された複数のコメントを「〜ル!」の時にまとめて表示することが出来れば、ある程度の時間的遅延は許容され、多くの人がほぼ同じタイミングで参加しているように感じる事ができます。

 これが同期なのです。

同期の種類

オンラインゲームの同期の方法は、大きく二種類に分かれます。

❶【完全同期型】

 ストリートファイター等の格闘ゲームや、スタークラフト等のRT。

❷【非同期型】

 スプラトゥーン等のFPS/TPSや、ファンタシースター等。

【完全同期型】は「1フレーム単位」で完全に同期させる事が前提なので、0.017秒毎にすべての行動判定が行われるシビアな世界です。

 対して【非同期型】のスプラトゥーン2は「ある程度のズレを許容する」事が前提なので、【数フレーム】間隔で同期するユルイ判定です※2

※2 イギリスのソフトウェアエンジニア Oliver Brammer(Octobyte)氏によると、スプラトゥーン2は「1秒間に約16回の同期」が行われているそうなので、【4フレーム】毎に同期されている計算になりますが、公式の情報ではないので参考までに。

同期ズレの正体

 格闘ゲーム等は対戦フィールドが狭く、基本的に1vs1でプレイしますから完全同期型を採用しやすいのですが、スプラトゥーン等のFPS/TPSでは、広大なフィールドで複数のプレイヤーが同時にプレイする為、【1F】あたりの情報量が多すぎて非同期型を採用せざるを得ないのが現状です。

 そして、非同期型のオンラインゲームは「同期していない間のフレームの絵はコンピューターの予測で描いている」ので必ず下の画像のようになります。

 プレイヤーのモニターで見えている敵の位置【A】と、実際の敵の位置【B】※3がズレているので、画面上では弾が当たっているように見えても「システム上は当たってないので倒せない」という現象が起こるのです。

これが『同期ズレ』の正体です。

 スプラトゥーンが「非同期型」のオンラインゲームである以上、回線にラグが無くても必ず発生し得る現象ではあるのですが、ラグがあるほど同期のタイミングも大きくズレ、有名な『ワープ現象』を引き起こすので、ラグと同期ズレはおもいっきり密接な関係にあります。

※3 スプラトゥーンの同期は、サーバー処理型ではなく「P2P方式」なので、厳密には「サーバーではここ」はおかしいのですが、この説明をしだすと先に進まないので割愛させて頂きます。

ワープ現象の正体(おまけ)

 ちなみにワープ現象の正体は、プレイヤーが最初に入力した【A】に対して、コンピューターが予測した移動地点と、同期完了直前に変更した入力【B】の移動地点が異なっていた場合に、強引に辻褄を合わせる為に起きる現象です。

 オンラインゲームの「同期」や「仕組み」について、もっとちゃんと知りたい方や、本気でゲームクリエイターを目指している方は、「CESA※4」が主催するCEDEC(国内最大のゲーム開発者向け技術交流会)への参加や、オンラインゲーム業界の伝説的プログラマー「中嶋謙互※5」さんの著書をオススメします。

この本の第四章に「ゲームサーバーの話」、第五章に「P2Pの話」が書いてあります(上級者向け)。

※4【CESA】:コンピュータエンターテインメントソフトウェア協会(Computer Entertainment Software Association)東京ゲームショウの開催や、日本ゲーム大賞の開催をしている日本のコンシュマーゲーム業界の中心にある団体。
※5【中嶋謙互】:国産MMORPGで圧倒的シェアを誇ったミドルウェア『VCE』の開発者。

スミス店長

スミス店長

店長のウデマエ

■スプラトゥーン:カンスト(エリア)
■スプラトゥーン2
・エリア、ホコ、ヤグラ:カンスト(旧S+50)
・アサリ:X
【尊敬するイカ】:あとばるさん

カテゴリー: