7月13日(金)、アプリケーションやゲームの開発・運営に関わるソリューションが一堂に会するイベント「GTMF(Game Tools & Middleware Forum) 2018 TOKYO」が秋葉原UDXギャラリーで行われた。本レポートでは、「VRライブ・コミュニケーションサービス『バーチャルキャスト』でのモノビットエンジンの採用事例と最新情報」と題して、VRライブ・コミュニケーションサービスであるバーチャルキャストのサーバーサイドの実例を交えた株式会社モノビットの講演の様子をお伝えする。
TEXT&PHOTO_神山大輝 / Daiki Kamiyama(NINE GATES STUDIO)
EDIT_小村仁美 / Hitomi Komura(CGWORLD)
<1>3つのツールから成る「モノビットエンジン」とは
前半では株式会社モノビット ミドルウェア事業部部長 安田京人氏が登壇。冒頭、同社の通信ミドルウェア&総合サーバパッケージ「モノビットエンジン Ver2.0」の概要説明が行われた。
安田京人氏(株式会社モノビット ミドルウェア事業部部長)
モノビットエンジンは「Monobit Revolution Server」、「Monobit Unity Networking 2.0」、「VR Voice Chat 2.0」の3つのツールに区分されている。「Monobit Revolution Server(MRS)」は、MMORPGなど多人数が集まる大規模コンテンツで使用できる通信ライブラリで、遅延にシビアなアクションゲームやビジュアル系コンテンツなどの開発に最適なプラグインとなる。
MRSは低遅延・高効率のリアルタイム通信が行えることが特徴で、従来のリアルタイム通信エンジンを刷新し、コスト面でも組み込みやすいインターフェイスを用意しているという。通信プロトコルはリアルタイム性の高いPCPと信頼性の高いRUDPに対応している他、WebSocketにも対応し、1サーバーあたり最大20,000クライアントの同時接続が実現されている。対応プラットフォームはWindowsやLinux、Mac OSだけでなく、HTML5、iOSなどのモバイル環境も含まれる。
実測値の測定結果。TCPでの試験では毎秒約54万レコード。UDPでは35万レコードと少し数値が落ちるが、それでもかなり高速であることがわかる
「Monobit Unity Networking 2.0(通称:MUN)」は、Unityエンジニアだけで簡単に通信を行うことができるミドルウェア。難しいサーバーサイドをMUNが補完し、クライアントのみでマルチプレイのゲームを手軽に実装することが可能となる。
サーバ側に各種機能をもたせており、サーバへの接続状況、ロビーやルームへの入退室などの状態などを取得、管理することが可能
「通信ロジックをクライアント側のみで実装できるため、サーバ構築にハードルを感じることなくコーディングをすることができるようになっています」と説明する安田氏だが、実際のサーバプログラムのソースコードは公式サイトで公開されており、部分的にカスタマイズして使用することも可能だと言う。クライアント側でなくサーバ側にこれらを実装することは、Botやチートの防止策としても有効だと安田氏は語っている。
MUNはVisual Studioでも動くので、サーバ側でデバッグを行いながら追加機能を確認することもできる。プロトコルはUDP、TCPなどに対応し、状況に応じて選択可能
なお、MRS、MUNについては、Ver 2.4.0アップデートでWebGL出力に対応している。「これによってリアルタイム通信の機能を備えたブラウザゲームの企画もつくりやすくなったと思います」(安田氏)。MUNは現在進行形でリファクタリングを行なっており、今年末にはPS4やNintendo Switchなど家庭用ゲームへの出力にも対応予定とのことで、今後はスマートフォン向けのタイトルを家庭用ゲーム機で展開したい場合に「Unityで出力を切り替えるだけですぐに実現できる」というところを目指しているという。
続いて紹介されたのが「VR Voice Chat 2.0」。VR Voice Chat 2.0は、先述のMUNのアドオンというかたちで、Unityに簡単にボイスチャットの機能を実現することができるUnityプラグインとなる。
VR Voice Chatはオブジェクトに対してMonobitVoiceというコンポーネントを追加するだけで簡単に実装可能。インスペクターから詳細を設定するだけで、手軽にボイスチャットを行うことができるようになる。
不要なノイズをカットする「無音検知機能」、チーム戦や英会話教室などで、必要な声を必要な人だけに届ける「マルチキャスト配信機能」、受信側でよりリアルタイムに音声を再生できる「遅延音声のカット機能」なども搭載されている
安田氏は、モノビットエンジン導入の利点として、LinuxでC#、C++ゲームサーバの運用ができる点、C++で超高速サーバを開発可能な点、日本国内での開発のためサポートの充実度が高いという3点を挙げる。「モノビットエンジンはUnity Asset Storeには並んでいませんので、まずはサイトからプラグインをダウンロードして採用を検討してみていただきたいです」と説明を締めくくった。
[[SplitPage]]<2>「バーチャルキャスト」を支える2つの技術
後半は株式会社インフィニットループ 第四分室 仮想室 室長 山口直樹氏が登壇。山口氏は20年間大手ゲーム会社で様々なジャンルのゲームインフラ設計に従事し、その後インフィニットループに入社。サーバサイドエンジニアからVR事業へと転じた独特な経歴をもつ。インフィニットループはゲームやモバイルアプリ向けのサーバ構築・運用を担う北海道の企業で、これまで横須賀の戦艦三笠を体験できるというVRコンテンツ開発や、初音ミク「マジカルミライ」や東京ゲームショウなどへのコンテンツ出展などを行なってきたという。
「Virtual Cast™️(β)(以下、バーチャルキャスト)」は、インフィニットループとドワンゴが共同で開発したVRライブ配信・コミュニケーションサービス。HTC Vive、Oculus、Windows MR等に対応しており、自分の好きなキャラクターになりきって配信が行えるという内容となる。ニコニコ生放送のコメントやTwitterのハッシュタグをVR空間に落とすことでリアルタイムにユーザーとのコミュニケーションが取れるほか、他の人の配信に乱入するコラボ機能も実装されている。
「バーチャルキャストを支える技術」として最初に紹介されたのは、ドワンゴの提唱する「VRM - 3D Humanoid Avatar format for VR」。VRMは3DCGアバターに特化したプラットフォーム非依存のファイル形式で、現在オープンソースとして公開されているが、ここでは主な特徴として「座標の正規化」が挙げられた。「FBXなどは、Unityのモデルデータにメッシュやボーンのデータがある程度入っていても、座標系がバラバラで面倒ということがあります。座標系がちがうと、同じスクリプトを実行してもまったく正反対の挙動となってしまう。従来はキャラクターごとにスクリプトを組む必要がありましたが、VRMを使用して座標の正規化を行うと、同じスクリプトでまったく同じ動きをさせることが可能となります」(山口氏)。VRMのフォーマットを使うというより、正規化のためだけにVRM変換するといった技もあるという。
続いては、VRMの「動的ロードのサポート」が挙げられた。従来、FBXでモデルデータを使用する場合はデータそのものをプロジェクトにインポートしたりダウンロードアセットへの組み込みを行うなどの手間がかかっていた。一方、VRMの動的ロードはVRM Importerを用いてPrefabを自動生成することが可能なため、ワークフローの効率化が望めるようになったという。
また、ファイルの中に人格に関する許諾を同梱でき、これをプログラム内で自由に定義できる利点もある。バーチャルキャストでは、この人格権を確認してモデルの使用の制限を行なっている。
VRMフォーマットとともに、バーチャルキャストの土台を支えるのが先述したモノビットのMUNとVR Voice Chatだ。同サービスにおけるモノビットエンジンの採用理由については、「Linuxサーバを使って自前で構築できること、コストパフォーマンスに優れていること」の2点が挙げられた。
システムはAWSで構築されており、自前でMUNサーバの負荷分散、オートスケーリングを行なっている。APIサーバ・MUNサーバの2レイヤーに分割して間にElastiCacheを置き、MUNサーバから絶えずキャッシュ情報を送信。そのキャッシュデータをAPIサーバが確認し、重さなどを判断してそれぞれのサーバーへの振り分けを行うというしくみだ。
APIサーバ側では「どのサーバにどのようなムーブがあり、どのようなユーザーがいるのか」ということを把握可能。またサーバーがどれだけ増えても、クライアント側からは「ひとつの大きなサーバ」として認識されるため、アトリビュートを増やしていけば特定のユーザーを分けた部屋をつくるなどの挙動を増やすことができるのも特徴と言える。また、サーバからのレスポンスについては「MUNを使う場合は必ずLinux拡張ネットワーキングを使うべきです。追加の課金なしで高い効果を得ることができる」(山口氏)と語った。
モノビットエンジンの導入メリットに関しては、「発生した事象のサンプルを送ると翌日には返答がある」というサポートの迅速さも重要だが、より特徴的なのは「予想以上に堅牢なサーバプログラムであること」と山口氏は語る。実際、2018年4月のサービス開始以降サーバ系のトラブルが一切発生しておらず、安定稼働を保っているという。
モノビットエンジンの機能紹介だけでなく、バーチャルキャストにおけるリアルな使用感も合わせて紹介された本講演。サーバの民主化を図るモノビットエンジンの今後のアップデートとナレッジベースの充実に期待したい。
左から、登壇した山口氏と安田氏