クラウドゲーミングの難しさの話
先日PlayStation Nowを試した話を書きました。このサービスが回線に要求するのは 5Mbps です。YouTubeからは10Mbps越え高画質1080p動画を再生できる環境の方が多いのに、なぜクラウドゲーミングは厳しいのか分からないと言われ、適当に解説記事を検索して紹介しようとしたら妥当なものが引っ掛からなかったので書きます。
1Mbpsとはなんぞや
1Mbit を 1秒で送ると 1Mbps
10Mbit を10秒で送ると 1Mbps
60Mbit を 1分で送ると 1Mbps
どれも正しく 1Mbps です。bps (bit per second) という表記だけでは、これらを区別することはできません。理論上限値を表す場合にはすべて等しいですが、実測値では等しいとは言えません。1秒で10Mbitを送信して、残りの9秒間は通信不能であっても、10秒区間の計測結果は1Mbpsです。そこまで極端なことはなくとも、次の2つの(両方とも同じ平均値をもつ)特性を区別できません。
このへんの安定性を表す測定基準・用語を示しづらいのが、クラウドゲーミングに限らず、リアルタイム性のあるサービスを提供する際に難しいところでした。いわゆるPING値は往復遅延を測るもので、回線の善し悪しがなんとなくわかるものではありますが、要求スペックに「これくらい」と明確に示すのは困難です。
とはいえ、クラウドゲーミングではない普通のオンラインゲームの通信は数十kbps、据え置きゲーム機で多い場合でも数百kbpsくらいなので、現代の回線状況ではほとんど問題にならなくなってきました。回線がかなり不調なときでも、その程度の性能は確保されている場合が多いのです。
クラウドゲーミングの帯域制約
通常の動画再生と比較してクラウドゲーミングが厳しいのは、バッファリングで補うことができないからです。動画再生におけるバッファリングとは、先読みしてデータを貯めておくことにより、回線が時々不調でも問題なく再生を行うことです。動画3秒相当のバッファがあれば、3秒間通信断が起きても動画再生に影響を出さずに済みますが、そのかわり常に3秒の再生遅延が起きます。しかし全体が数秒~十数秒後ろに遅れたとしても、普通の動画を再生するだけであれば問題はありません。ある映画の再生ボタンを10時10分00秒に押したとして、10時10分01秒から再生開始されて時々止まるより、10時10分10秒から再生開始されて途切れず再生するほうが好まれるでしょう。
クラウドゲーミングでバッファリングによる解決が出来ないのは明らかで、もしバッファが動画1秒相当であれば常時1秒の反応遅延が発生し、ゲームになりません。バッファが100ミリ秒相当になれば100ミリ秒の遅延で済みますが、100ミリ秒以上通信が途切れると影響が出ます。インターネットの通常利用では気づかないような一瞬の回線の「不調」でも、表示に影響が出てしまうのです。
そして、「不調」の判定ラインが普通のオンラインゲームの何十倍も高いのがクラウドゲーミングなのです。どの100ミリ秒区間を計測しても数Mbpsを下回らないような、とても安定した回線が必要です。先の赤い棒グラフのように実行性能はふらふら上下するとして、数Mbpsの要求帯域より低い部分が少しでもあると、クラウドゲーミングでは影響が出てしまいます。
クラウドゲーミングのクライアント制約
もうひとつ。
まともなオンラインゲームであれば何かしら工夫をして、遅延やパケットロスがただちにゲームの見た目に影響するようなつくりにはしていません。ローカルで先行して動かしたり、届いたデータから補間・予測こみの表示を行ったりします。目に見えてしまう(ワープのような)補正は、大きくずれたときのみ行うのが普通です。特に、自プレイヤーは基本的にローカルで反応します。
UIも、普通のオンラインゲームは即時にローカルで反応します。回線状況が悪い時には、裏で行われる操作内容の送信がちょっと遅れるかもしれませんが、「押したのにピコって音がすぐ鳴らない」なんてことは起きないでしょう。
一方、クラウドゲーミングでは、ローカルクライアントによる先行処理・即時反応はできません。手元では基本的に動画を再生するのみです。データが落ちて来なければ、その影響は全てユーザーに遅れとして感じられます。クラウドゲーミング専用のゲームであれば、汎用UIだけクライアント動作にする…なんて実装も考えてしまいますが、既存のゲームをそのまま動かす形態ではそんなこともできません。
まとめ
クラウドゲーミングは:
・不調時の回線スペックを要求し、ユーザーに明確な基準を示せない
・ローカル処理ができず、回線不調がそのままユーザーに見える
というところが厳しいです。往復遅延時間が存在することが真っ先に問題視されますが、それは一要素にすぎません。
※ 2014年にマイクロソフトの公開した技術論文がこの分野ですが、日本語インターネット上に十分な説明がないので、そのうち何かしらの形で書きたいですね