IDCF Tech-Blog

IDCF テックブログ

クラウド・データセンター・ビッグデータを提供するIDCフロンティアの公式テックブログ

リアルタイム通信エンジン新製品発表!モノビット×IDCF共催 VR体験セミナー

こんにちは、金杉です。2017年4月27日にYahoo! JAPANの社員食堂にて、モノビット様とIDCフロンティア(IDCF)でVR体験会を兼ねたセミナーを開催しました。

「〜ゲーム&VR向けリアルタイム通信エンジンの新しい選択肢〜 性能、使い勝手、お値段すべて公開!&VR多人数コミュニケーション体験会@ヤフー社員食堂」

f:id:ykanasugi:20170511182214p:plain

今回のイベントの主旨として、モノビット様より新製品「Monobit Unity Networking 2.0 」および「Monobit Revolution Server」の性能、使い勝手、金額について紹介していただきました。また、上記以外にIDCFのセッションや、マルチプレイVRの体験会も人が絶えず盛り上がりましたので、当日の様子をブログで紹介したいと思います!

モノビットについて

株式会社モノビットはゲームとネットワークのテクノロジーを強みとし、エンターテイメントコンテンツを提供するテクノロジーベンチャー企業です。モノビットといえばミドルウェア事業者としてたくさんの方に認識されていますが、ゲーム開発事業も手がけています。過去のゲーム開発事業の実績紹介時には、IDCFクラウドオールフラッシュディスク搭載サーバーの性能の良さについても言及していただきました。ありがとうございます!^ ^

f:id:ykanasugi:20170512162914p:plain
▲モノビット 代表取締役 本城様

上記以外に、モノビットはVRソリューション事業も手がけており、最近はVRゲームやVRコミュニケーションなどのコンテンツ開発にも注力しています。本城様のVRソリューション事業への強い思い入れを感じることもできました。去年、小規模人数対応のVR Voice Chatをリリースしており、将来的には数万人規模を支えられるVR空間共有技術をリリースしていきたいと語っていました。VR-MMORPGやVRコンサート、実現される日が楽しみですね。

性能大幅向上!Monobit Revolution Server (MRS)

MRSは処理速度とレスポンスを追求したリアルタイムゲーム通信を実装するための通信エンジンです。今まで「リアルタイム通信エンジン」や「モノビットエンジン」と呼ばれてきた製品を置き換える製品として位置付けられています。

旧製品と比べて、何が変わったのかを次の3点で簡単にまとめてみます。

  1. 圧倒的な性能アップ
    リアルタイム通信において一番の肝となるレイテンシーは、従来製品のミリ秒単位からマイクロ秒単位となり、またCPUスレッドあたりのスループットは秒間数万レコードから54万レコードまで向上しました(同時接続300の場合)。モノビットが本格的に数万人規模を支えるVR空間共有技術に向けて邁進しているのが実感できます。

  2. 幅広い選択肢
    TCP以外にUDP、RUDPなど複数プロトコルに対応できるようになり、プロトコルを状況によって使い分けするような最適な構成が取れます。また、Unityはもちろん、Unreal EngineやCocos2d-xにも年内対応予定で、メジャーなゲームプラットフォームを一通り網羅できるよう進化を続けています。

  3. 開発者をさらに楽にさせる
    サーバーサイドの開発言語はC++に加えC#も使えるようになりました。より処理速度面において優れるC++が使えるのはモノビットの差別化ポイントでもあり、大規模接続が予想されるMMORPGの開発が実現できます。また、サーバーOSはLinux以外にWindows、Macなども使用可能となりました。同じソースコードを異なるOSで動作させることができ、例えば開発は使い慣れているWindows、プロダクションはコストが安いLinuxなどと、開発の柔軟性がぐっと高まりました。

f:id:ykanasugi:20170515120346p:plain
▲MRSの従来品との性能比較

本格的な大規模マルチプレイを実現!Monobit Unity Networking 2.0 (MUN2.0)

MUN2.0は上記MRSを用いて実装された、Unity用のプログラミングレスにマルチプレイを実現するミドルウェアです。従来、マルチプレイゲームを実装するにはネットワークの知識が必要なため、設計が難しかったり、開発コスト(リソース、時間)が増えたりと課題がたくさんありました。MUNを使えば、このようなネットワーク部分の作り込みが不要で、マッチングやゲームオブジェクト同期が簡単にできるようになります。MUN1.0(旧バージョン)と比べて、TCP以外にUDP、RUDPとマルチプロトコル対応になったのと、サーバーにC#/C++でコーディングができるようになりました。

MUN2.0を用いて、クライアントアプリ側にあるマルチプレイゲームのロジックをサーバー側に移植するデモを、モノビットミドルウェア事業部部長の安田様より行っていただきました。簡単なマルチプレイゲームでは、MUNを使ってクライアントアプリ側でロジックを持たせると実装は簡単になるものの、規模が大きくなってくるとチート対策について考える必要があります。また、ロジックを持っているホストマシンがネックになりゲームに支障が出る場合もありえるため、重要な判定はサーバーサイドで行い、クライアント側では判定結果や座標情報など簡単な情報のみ送信するのが望ましいです。

f:id:ykanasugi:20170515145427p:plain
▲モノビット ミドルウェア事業部部長 安田様

デモでは、2人のUnityちゃんが同じフィールド上で点取りを競うゲームを基に、元々1つのクライアントアプリで所有していたロジックをサーバー側に移植しました。コードはクライアントサイド、サーバーサイド共にVisual Studioを使ってC#で記述されており、軽微な改変のみで移植が完了し、ゲームが正常に動作できました。また、MUN2.0サーバーのソースコードもモノビット様HPにて公開されているため、自前でC++やC#で改造して、本格的なMMOも開発できます!

企画段階でわかる!MRSとMUNを使った際のインフラコスト

ゲーム開発における難題を企画段階から解決するための、MRSとMUNを使った際のリアルタイムゲームサーバーのインフラコスト予想ツールを、モノビット取締役CTOの中嶋様より紹介いただきました。ツールは今後MUNのドキュメントサイトに公開される予定です。

f:id:ykanasugi:20170519155142p:plain
▲モノビット 取締役CTO 中嶋様

どうしてインフラコストを試算するのか
単純に運用に入ったあとのインフラコストが知りたい、というニーズももちろんありますが、それだけではありません。通常の流れですと企画が決まり、開発が始まり、最終的に運用に入るのですが、この3つの連携がうまく取れないことがあります。本来であれば、準備段階から運用と開発を見据えて、企画と設計を行うのが理想的です。企画が先走ってしまい開発が延びてしまったり、開発がうまくいかず運用を引きずってしまうようなトラブルを未然に防ぐためにも、きちんとした事前設計を行うのが効率的です。

リアルタイムゲームにおけるサーバーコンポーネント
一般的なリアルタイムゲームシステムには次の3つのコンポーネントがあり、今回のコスト試算対象は3つめのリアルタイムサーバーにフォーカスします。
 1. Webサーバー (一般的にいうフロントサーバー)
 2. DBサーバー
★3. リアルタイムサーバー

リアルタイムサーバーもさらに4種類の用途に分類ができ、それぞれmaster、resolver、proxyとroomサーバーです。Masterとresolverは1台のサーバーに常に1プロセスが動き続け、新規クライアントが参加するときだけ負荷がかかります。一方で、proxyとroomサーバーはゲームパケットの量に応じて台数がスケールしていき、かつゲーム中は負荷が続きます。これらのサーバーのボトルネックはサーバーCPUとなるため、設計もCPU負荷に応じて行う必要があります。

ツールを使って試算!
今回中嶋様に紹介いただいたツールはExcelのマクロを駆使したプログラムで、仮定パラメーターを入力すればサーバーとネットワーク転送のコストが表示されます。出力される結果は、IDCFクラウドのHighcpu.L8 (4 vCPUs, 8 GB RAM)の仮想マシンで測定したパフォーマンスを根拠としています。 入力するパラメーターの分類は大きく「アクセスパターンの仮定」、「プログラム仕様の仮定」と「仮定から予想される通信量」です。例えばアクセスパターンにはレコード送信頻度というパラメーターがあり、カードゲームなどでは比較的小さめな値となり、シューティングゲームでは大きめの値となったり、ゲームの特徴に応じて変数を設定していきます。

ツールのユースケースとして紹介されたのが、同時接続2万人のゲームが、最初の試算で転送量が400万になってしまった例です。この場合、開発者がただ一人で悩むのではなく、企画を交えてもっと良いゲーム設計ができないかを検討することが大事です。例では、一部屋の人数を4から3に減らしたり、32bitだった座標情報を16bitに下げてパケットサイズを小さくしたり工夫してみると、ネットワーク転送量が100万円ほど下がりました。このように開発の前段階でコミュニケーションをとりながら設計をするのが、みんなが幸せになる近道というメッセージを受け取りました。

企画、開発と運用のノウハウを持ち揃えたモノビットならではの視点ですね!

VR体験会

さて、当日の目玉であったVR体験会も大盛況でした!ゲームは5対5で玉入れの点数を競うゲームで、プレイヤー同士は10台のHTC Viveを通して同じ仮想空間に繋げられました。プレイヤーは皆VR内での玉取りに夢中になり、それを遠くから観察するのも面白かったです(笑)!個人的には、VRの魅力はまさにHMDを被っている人を現実世界から引き離すところにあると感じており、その仮想空間がいかに今後現実世界との区切りをぼかしていくのが楽しみです。

f:id:ykanasugi:20170519155236p:plain
▲玉入れVRゲームに夢中

IDCFより

IDCFもお話をする機会をいただきました。IDCFのゲーム業界での事例や、イノベーションに対する取り組み、そしてVRに対しての私の思いをお話させていただきました。インフラ事業者としての品質や安定へのこだわり、またイノベーションへの積極的な姿勢は、IDCFの強みだと思います。そんな強みを生かして、今後より良いサービスを提供していきたいと考えていますし、特にゲーム業界ではその強みが生かしやすいです。品質についてはモノビット様からも評価いただきました、ありがとうございます!

f:id:ykanasugi:20170516121805p:plain
▲IDCフロンティア 金杉

まとめ

今回のイベントには述べ75名のお客様にお越しいただき、本当に感謝してます!当日のモノビット様セッションの録画と資料はこちらに公開しているので興味ある方はぜひご覧ください。

アイデアは、1人でオフィスや家にこもっていても出てくるかもしれませんが、より良くなるのは難しい。やはり、コミュニケーションを取って、インプットとアウトプットを繰り返してこそイノベーションが形になると思っています。モノビット様と共催した今回のイベントが、ご来場いただいたみなさまに少しでも良い刺激になったのであれば、幸いです。

今後もこのようなイベントを開催する予定ですので、"IDCFとこんなことやってみたい!"などありましたら、お気軽にお問い合わせください。それでは、またお会いしましょう!

Copyright © IDC Frontier Inc.