佐藤カフジのVR GAMING TODAY!
モノビットが実現を目指す「VRクラウド」とは何か?
中嶋謙互氏が目指す、“現実世界を置き換えてしまうようなシステム”を実現へ
2016年9月7日 12:04
オンラインゲーム開発のためのミドルウェア「モノビットエンジン」提供を主要事業とするモノビットが、いま「VRクラウド」と呼ぶソリューションを実現するため、新たな開発体制を敷いている。実現すればVRユーザーのみならず、全てのゲームユーザーに恩恵をもたらすかもしれない計画だ。
本プロジェクトの中核を担うのは、6月からモノビットのCTOに就任した中嶋謙互氏だ。中嶋氏はオンラインゲーム黎明期から、ゲーム用通信エンジンの開発で貢献を果たしてきた人物。2000年にはコミュニティーエンジン株式会社を設立し、国産オンラインゲーム多数で採用された「VCE」というネットワークミドルウェアを開発。2005年にはゲーム的なネットワークシステムを多層的にリンクすることで微粒子の世界から宇宙全体までシミュレーションしようという「World Synthesizer」構想をぶちあげた。
その中嶋氏は2014年に設立されたシンラ・テクノロジー・ジャパンにて、「クラウドゲームでしか実現できない体験」の実現に力を尽くしたものの、2016年1月に同社が解散してのち、新たな構想の実現に着手した。それが「VRクラウド」である。
ネットワーク技術の面からゲームの進化を見、支えてきた中嶋氏。そのビジョンが稀有壮大なところがユニークだが、いま黎明期を迎えたコンシューマーVRについても、他とは違った視点で見ているのだ。8月、中嶋氏は次のように語ってくれた。
「ゲームの通信技術の長い長い道のりの中で、VRというのは1つのわかりやすいマイルストーンになると思っています。いずれは現実世界を置き換えてしまうようなシステムを作り出すためには、人間と人間を繋ぐ技術には遅延が少ないことがが重要なので、そのためにまずは、VRアプリで使えるレベルの製品を用意したいと考えています」。
そのビジョンを全面バックアップするのが、モノビットの代表取締役社長である本城嘉太郎氏だ。本城氏は「19の時に『Ultima Online』に感動して、そんなゲームを作りたいなと思い続けてモノビットを作った」という根っからのメタバース志向の人物である。実際、モノビットは2005年に設立された当初はネットワークゲームそのものの開発をしており、手がけたタイトル数は20にも登る。「モノビットエンジン」としてエンジン部分の提供をはじめたのは2013年のことだ。
そんな本城氏にとって、本格的なコンシューマーVRシステムが登場し、大きな産業に成長する気配を漂わせている昨今の状況は極めて重要な意味を持つ。映画「マトリックス」や、ライトノベル「ソード・アート・オンライン」のようなイメージが広く社会に共有され、VR機器が比較的手軽に入手できるようになったいま、VR専用の機能が整ったツール群やインフラが必要であり、それを作り出すのが使命だと考えているのだという。
そんな本城氏と中嶋氏が中心になって「VRクラウド」の開発がスタートした。
「VRクラウド」で実現を目指すものとは
端的に言うと「VRクラウド」というのは、“クラウドを利用して実現される、マルチユーザーのためのVRアプリケーション”であると中嶋氏は定義する。これの実現のためには、通常のVRアプリケーションを開発する技術に加えて、通信の技術が必要だ。そこで中嶋氏は、「VR向けには特別に設計された低遅延・高スループットの通信エンジンが必要になる」とした。それこそが中嶋氏が開発する「VRクラウド」の本質だが、なぜVRでは低遅延・高スループットの通信エンジンが特別に必要になるのだろうか。その理由は、これまでのゲームにはない、VRの“肉体性”によるところが大きい。
これまでの一般的なオンラインゲームでは、プレーヤーの操作するキャラクターの情報がネットワーク上を伝わって、マルチプレイ環境を構成していた。例えばMMORPGなどでは、キャラの位置や、スキルの発動といった、ある程度おおざっぱな情報がネットワーク上で同期していれば、ゲームが成立する。情報の絶対量は少なく、ある程度の遅延があってもゲーム性が大きく損なわれることはないので、あまり極端なリアルタイム通信性能は要求されなかった。
これに対して本格的なVRシステムでは、プレーヤーの肉体感覚そのものが仮想空間(この場合はオンライン空間)に没入する。今のところはHMDでトラッキングされる頭の位置情報と、ハンドモーションコントローラーでトラッキングされる手の位置情報がおもに同期されることになるが、VRらしく生々しいジェスチャーや感情の動きが伝わるためにはこれらの位置情報を非常に高頻度に同期する必要が出てくる。また、空間内のオブジェクトを手に持って投げるといった操作をしようとしたときに、少しでも遅延が感じられるようであれば大きな違和感を感じてしまうものだ。
アクションゲームやFPSの世界では黎明期から遅延低減へのニーズが強く、多くの場合、専用の通信エンジンが実装されてきた。例えば1対1の格闘ゲームではキー入力という最小限の情報を1フレーム単位で同期する方式がとられているし、FPSでも限りなく同期タイミングが表示フレームレートに近づくよう、通信エンジンとサーバーシステムが最適化されてきた。例えば1996年に発売された「Quake」では1秒間に10回の通信とサーバー処理が行なわれていたが、1998年の「Quake 2」では1秒間に20回になった。その系譜を継ぐ最近のFPSでは、1秒間に60回の通信とサーバー処理を行なえるタイトルも珍しくない。
そうやって通信頻度を高めることで遅延を抑える際に問題になるのがスループットだ。ひとつひとつのデータは小さくても、送受信の頻度が高まり、同時に参加できる人数も増えるとなると、膨大な通信帯域が必要となってしまう問題だ。
例えばVRでのコミュニケーション用途を考えてみよう。例えば、上述のような生々しい人間の動きでアクションゲーム並の緻密なインタラクションを実現し、何十人、何百人と集まれるような仮想空間を作りたいとする。
ひとりあたりの状態を同期するために必要となる情報を、HMDと両手の状態、というふうにしてみよう。状態というのは、位置と姿勢である。位置をX、Y、Zの3つの数字で、姿勢をRX、RY、RZの3つの数字で表すとすると、頭だけで6つの数字が必要だ。1つの数字は、データ量としては4バイトで表現することが多いので、6×4で24バイト。頭と両手の3オブジェクトで24×3で72バイト。遅延を最小にするためこれをHMDの表示フレームレートである90Hzで送受信すると、1秒間に72×90で6,480バイト。これが同じ空間に100人いるとすると、一人のユーザーが1秒間に受け取る情報は6,480x100で648,000バイトになる。bpsに直すと約5Mbpsである。
100人のユーザーを抱えたサーバーは、100人それぞれに毎秒5Mbpsの通信をしなければならない!これはレンダリングされた映像をユーザーに送出するクラウドゲーミングシステムと同程度の帯域負荷である。ちょっとしたことで詰まってしまい、大きな遅延が発生する恐れも大きい。これが1,000人になったらどうだろうか。サーバーには5Gbpsの帯域が常時必要になってしまう。実際には空間内に多数の物理オブジェクトがあるような環境(例えばOculusの『ToyBox』)がゲームでは普通であり、通信量は更に莫大に増える。アプリケーション側で最適化を行なうにしても、ベースとなる通信エンジンには最大の効率性が求められるわけだ。
UDPベースの高速通信エンジン
モノビットでは現在、ゲーム向けのリアルタイム通信エンジンである「Monobit Realtime」を中核技術として各種ミドルウェアや開発者向けのサービスを提供しているが、上述のようなシチュエーションを処理できるVR向けとしては設計されていない。現時点では通信速度やスループットに大きな向上の余地があり、現時点では性能面の限界を極めていないところに課題がある。
少し技術的な解説をすると、ネットワークゲーム開発を簡単に行なえるために設計された既存の「モノビットエンジン」では、基盤の通信技術としてTCP/IPを使用している。TCP/IPはインターネットで標準的に使われる信頼性の高い通信プロトコルで、データ伝送の確実性が高い代わりに、遅延が大きくなりやすいという避けがたい弱点がある。TCP/IPにはデータの「区切り」という概念が内部的に存在しないため、送信にも受信にもある程度の時間的ロスが発生するほか、経路上でパケットロスが発生した場合に自動的に再送処理を行なうので、速く届けたいデータもまとめて“詰まって”しまうことがあるなど、遅延を増やしてしまう要因が複数存在するのだ。
上述のように「100人以上集まれるVR空間」を作るときに、TCP/IPでは無駄が多い。例えば経路上でパケットロスが発生した際、TCP/IPは愚直に全てのデータを再送しようとするので、古くなってもはや不要になったデータも含めて送り切るまで、最新のデータの受信を待たされることになるのだ。アプリから見れば位置情報などは、最新のデータがあればよく、古いデータが次々と届いても使いみちがない。再送のために余計な帯域は食うし、再送を受け付けるための通信バッファにメモリを食う、処理量や遅延も増えるというわけで、通信エンジン的にはあまりよろしくないのである。
そこで「VRクラウド」の根幹となるのが、中嶋氏が現在開発中のUDPをベースとした通信エンジン「高速コア」だ。UDPはインターネット標準の一部であるがボイスチャットアプリのような特別な用途にしか使われない傾向のある「送りっぱなし」のプロトコルだ。ネットワーク経路上でパケットロスやデータ化け、順不同での到着といった問題が生じても何らフォローされないかわりに、システムへの負荷が低いというメリットがある。
UDPは歴史的に、格闘ゲームやFPSでよく使われてきた。キャラクターの位置情報などは最新のデータだけが届けば充分なので、パケットロスを気にしなくていい場合が多いし、1つ2つのパケットロスに対処するには、過去送ったデータと最新のデータを束ねて送るというテクニックも使える(格闘ゲームやRTSでよく使われる)。また、UDPはTCP/IPと違ってOSレベルでのセッション管理が行なわれないので、たくさんの接続を同時に扱ってもメモリーやスレッドなどの“見えない負荷”が増えることがない、という利点もある。TCP/IPはサーバー向けOSでないと大量の接続を扱えない制限もあるが、UDPならそのへんに転がっているWindows PCで数万の接続を扱うことも実現できる。
このUDPの特性を活用すれば、遅延を最小限に抑えつつスケーラビリティにも優れた通信エンジンを作ることが可能だ。中嶋氏が現在取り組んでいるのはまさにここである。「モノビットエンジンにTCPだけでなくUDPも選択できる高性能版を用意する」ということだ。
「モノビットエンジン」を高性能化、さらに経路も最適化する
そこで課題になるのが、アプリケーションレベルで確実に届いて欲しいデータの送受信を扱えるようにすることや、ユーザー同士の直接接続を実現するためNATトラバーサル(NAT越え)というテクニックを実装し、それを支援するためのインフラを用意すること、そして通信エンジンを使う側には従来のTCP/IPベースの「モノビットエンジン」と同等の使いやすさを提供することとなる。Amazon Web Serviceのようなクラウドシステムへの対応や、マッチメイキング等のバックエンドシステムとの連携にも順次対応していく必要があり、通信エンジンのオーバーホールはかなりの大事業になるようだ。
ロードマップとしては10月末までに「Monobit REALTIME」にUDPベースの「高速コア」を適用し、C++/Linux環境での高速ゲームサーバー開発を可能にする。12月末までにはUnity向けの無料アセットとして提供されている通信エンジンの「Monobit Unity Networking(MUN)」およびiOS/Androidで使えるCocos2d-x対応版への高速コア提供を進めていく。ユーザーがサーバーレスで使える「Monobit Cloud」についても、2017年に対応が進む予定だ。
これらの開発と平行して「クラウドVR」のソリューションとして計画されているのが、通信経路もVRゲーム向けに最適化してしまおうということだ。インターネットはリレー方式で情報を伝達する網だ。そして情報が伝達される経路によって遅延の大小が変わる。通常、通信経路はプロバイダー等が設定したルーティングテーブルに従って決まるが、規定のルーティングが遅延的に最適である保証はない。例えば富山県に住む中嶋氏の場合、東京への通信が大阪経由となって、距離的に遠くなるだけでなくたくさんのルーターを経由する結果、遅延が大きくなっているという体験をしている。
これを解決して「遅延が最短になる経路」を選択するための方法として、自前のクラウドサーバーを大量に用意し、そのクラウドインフラの中で最適なルーティングを行なうという方法がある。実例としては、AmazonのDNSサービスであるAmazon Route 53では、カスタムDNSを利用して任意の経路を選択することが可能だという。これはAmazonが各地に大量のクラウドサーバーを持ち、ネットワークインフラとして大規模な構成を実現しているためだ。
これが実現されれば、日本全国津々浦々、VRでコミュニケーションしようとするユーザーに遅延が極限まで削減された理想的な環境が用意できる。こういったインフラ面の整備を進めるため、モノビットでは通信キャリアであるNTTコミュニケーションズ・先端IPアーキテクチャセンタ、クラウド構築およびシステム・インテグレーションの専門企業ドヴァ、サーバーワークスといった3つの企業と協力関係を築いているという。
これが実現すれば、「モノビットエンジン」を使ったアプリケーションでは、VRゲームにかぎらず、通常のオンラインゲームでも全国津々浦々、最適経路で遅延が極限まで抑えられた環境でコンテンツを楽しめるようになるわけだ。多くのゲームユーザーに恩恵のあるプロジェクトだと期待したい。
ゲームはもちろん、ノンゲーム分野にも活用は広がる
上述のような「VRクラウド」の開発を進めるモノビットは、これまでのようなオンラインゲーム製品だけでなく、さらに広い分野に「モノビットエンジン」が使われることを期待しているようだ。本城氏は次のように語っている。
「昨年からVR事業をやっていることによって、色々な業種の方からご相談を頂いています。直近でいうと教育ですね。実際に教室に通わなくても、ひとつの部屋に50人とかが集まって授業が行なえるシステムであるとか、あるいはセミナールームで先生が授業しているところに質問を投げるとか、そういったことがHMDをつけた瞬間にリアルに体験できて、勉強に使えるシステムが考えられています。あるいはクラブとか、LANパーティといった、人が大勢直接集まって成立するようなシチュエーションをVRで実現することですね。そういったコミュニケーションをメインにしたコンテンツを作り出すときに、人数やクオリティを気にしなくていい、というところを狙っています」
こういったノンゲーム分野への活用も含めて展開していくうえでモノビットの強みとなっているのが、オンラインゲームの豊富な開発経験だ。エンジンだけでなく自社内でアプリケーションの開発も行なえる体制があることで、エンジンを提供するだけでなく、ノウハウを活かした開発支援や、開発依頼の受託といった直接的な開発サポートを行なえる。ゲーム企業にはオンラインゲームの開発に慣れた企業も多いが、そうでない向きも多いであろう多種多様な企業にエンジンを提供していくうえでは非常に強力な体制と言える。
モノビットではVR・AR市場への本格参入を目的として「VRエンターテインメント事業部」を今年3月に設立し、映像作品やアプリを含む独自のVRコンテンツ開発や、VRビジネスソリューションの提案を行なう専門チームを設置。VRコンテンツ開発を容易にする通信部分以外を含む各種エンジン開発にも着手しており、ゲーム・ノンゲーム含めたVR展開に事業の幅を広げている。8月にはVRコンテンツ開発専門チームを「モノビットVRラボ」として新たに開発ルームを設置し、開発を加速させているところだ。中嶋氏が中心となって開発する「VRクラウド」は、その中核技術として活用されていくことになりそうだ。