【Unite 2016 Tokyo】プログラマなしでマルチプレイの実装も可能 モノビットが提供する「Monobit Unity Networking」の全貌に迫る
モノビットといえば、オンラインゲーム制作を前提に設計・開発されたリアルタイム通信ミドルウェア「モノビット・リアルタイム通信エンジン」が有名だ。このミドルウェアはシンプルなゲームから大規模なサーバシステムが必要なMMORPGまで、さまざまなゲームに利用されている。『城とドラゴン』などは特に有名な作品だ。
一方で「自分でサーバーを立てないとテストできない」「マッチングと通信リレー機能だけ欲しい」といった要望も数多く存在したと安田氏は語る。つまり従来のミドルウェアでは本格過ぎて、カジュアルな作品では気軽に使えない側面もあったというのだ。
そこでモノビットが発表したのが、マルチプレイの実装に特化したUnity専用のアセット「MUN(Monobit Unity Networking)」だ。この製品は「モノビット・リアルタイム通信エンジン」をベースにしつつ、マッチングとリレーの機能に特化したミドルウェアとなっている。また、以前からあった要望に応える形でテストクラウドを完備、Linuxサーバーでの動作も可能になっている。
▲本城嘉太郎氏
▲安田京人氏
▲本城嘉太郎氏
▲安田京人氏
■最新の「MUN」では無料のテストクラウドも用意
安田氏は「MUN」の大きな特徴として、クライアント間の通信はP2Pではなく、すべてサーバーを介すことを挙げた。このおかげで、ユニキャストやマルチキャストなど、プレイヤー同士でターゲット指定のメッセージを送信し合うことにも対応できているのだ。
2つ目の特徴として挙げたのが、ほかの通信エンジンからの乗り換えが容易であること。旧Unity Networkingや、Photon Unity Networkingからの置き換えに対応しており、他社通信エンジンからの乗り換えもスムーズに行える。なお、APIの対応表については今後公開予定とのことだ。
また、「MUN」を採用する際に大きな魅力となりそうなのが、無料のテストクラウドだ。初期接続先としてIDCFクラウド上にテスト環境が用意されており、ダウンロードしてきてすぐにマルチプレイのテストができるという。Unity側から接続先を「Mun Test Server」を選択するだけという利便性も売りで、安田氏も「面倒な登録をせずともすぐに試せます」とアピールした。
続いては、「MUN」が持つ具体的な機能の紹介に移る。まずはサーバーを介して各クライアントをマッチングできるランダムマッチング機能。クライアント間でデータを共有できる機能もある。例えば1つ目のクライアントがサーバーに対してデータ共有の命令を送ると、同じゲームに参加している別クライアントにも共有されていく。マルチキャスト、ユニキャストの実装には役立つはずだ。
また、ネットワーク通信を円滑に行うためのライブラリも充実しており、その中にはンプログラミング開発のために用意されたコンポーネントも付属している。そのおかげで、Unityを触ったことさえあれば、プランナーやデザイナーでもノンプログラミングでマルチプレイの開発に携われる。安田氏が言うには、ソロプレイのみのゲームが出来上がっていて、後々マルチプレイを搭載したい時にも有効的とのことだ。
付属するコンポーネントは大きく2つに分かれており、ひとつは自動接続スクリプト。サーバーへの接続やルームへの入室、ゲームの開始といった基本的な動作をまかなってくれる。もうひとつは自動同期スクリプトで、こちらはキャラクターの位置や姿勢、アニメーションの同期を助けてくれる。
続けて安田氏は、「MUN」使用の実例として、Unity Technologies社の製品「Mecanim GDC2013 Sample Project」を使ってのマルチプレイ実装を解説。スクリーン上では何の変哲もないソロプレイのアクションゲームが、マルチプレイになっていく様子が映像で紹介された。実装までにかかった時間はわずか1日とのことで、いかに簡単であるかが伺える。
■サーバーサイドへのカスタマイズにも対応
ここまでは「MUN」がクライアントプログラムだけで動く、簡単なシステムであることが紹介されてきた。一方で、サーバーサイドをカスタマイズし、より複雑なゲームを開発したいケースも出てくるだろう。そんなときでも「MUN」は対応可能とのことで、安田氏は『白猫プロジェクト』のようなMOタイトルを例にして紹介してくれた。
まず設計のポイントとなるのが、ガチャやインベントリ、ユーザーデータなどのソーシャル要素。これらはリアルタイム通信が必要ない部分なので、サーバーサイドはWeb系言語を使用、WebAPI形式で実装することを勧めた。そしてUnityからは、wwwクラスで各種WebAPIにアクセスする。
次にインスタンスバトルなどのインゲーム要素については、各プレイヤーの同期処理のため、リアルタイム通信が必要になる。しかし、サーバーサイドはすべて通信のリレーだけで成立するため、Unityからは「MUN」でバトル中に必要な情報を同期させることで設計が容易になる。
そしてバトル中にチャットを作成する場合に関しても「MUN」で実装可能だという。しかし、別にモノビット・リアルタイム通信エンジンを用いて実装し、通信経路を別とする案も紹介された。コネクションは別になってしまうものの、モノビット・リアルタイム通信エンジンを利用することでバトル中のパケットを節約できるというのだ。
■自分だけのリアルタイム通信サーバーが持てる「モノビットエンジン・クラウドパッケージ」
以上で「Monobit Unity Networking」の解説は終了となったが、ここからは本城氏がマイクを握り、同社の最新製品である「モノビットエンジン・クラウドパッケージ」の紹介も行われた。
今までのモノビットエンジンというと、自分でサーバーを立てなければ使うことはできなかった。だが、IDCFクラウドとのコラボにより、クラウド提供できるようになったというのだ。さらにISAO社ともコラボを行い、24時間365日の有人監視が付いたメニューも用意される。これらのサービスを集約させたのが「モノビットエンジン・クラウドパッケージ」となる。
本サービスには運用開始後のサーバーの管理を自分で行う「セルフクラウドプラン」、サーバーの構築に加えて、運用開始後のサーバー死活監視まですべてセットになった「フルマネージドクラウドプラン」の2種類が存在する。どちらもテスト用途や、インディーズ向けのサーバー構築に適している。もちろん、商用向けの大規模サーバーを構築するプランも用意されており、接続数を決めて申し込むだけで、構築済み本番サーバーが手に入るとのこと。
さらに本城氏は、モノビットが開発スタジオを所有し、80名以上の開発者が在席していることをアピール。リアルタイム通信部分の設計や負荷テストの代行はもちろん、開発そのもののサポートも行うと語り、講演は幕を閉じた。
(取材・文:ライター ユマ)
■Monobit Unity Networking
会社情報
- 会社名
- monoAI technology株式会社
- 設立
- 2013年1月
- 代表者
- 代表取締役社長 本城 嘉太郎
- 決算期
- 12月
- 上場区分
- 東証グロース
- 証券コード
- 5240