モノビットエンジンについて調べてみたので書く

概要

先のエントリでPUNの話をしたとき、モノビットエンジンはどうなっているのか気になったのでサイトを見たり、モノビットの人に教えてもらいました。 幾つかの点で競合の他サービスと比較して採用を検討する利点や、あるいは難点もあったので情報をまとめておきます。
調べて書いた程度なので、実案件運用をしての感想ではない事ご容赦ください。

前提として個人あるいは小規模のUnity向けMOゲーム開発を想定しています。

モノビットエンジンでネットワークゲームを作る、という時に取りうる選択肢

Photonには、PUNというUnitySDKがあります。このSDKを使って

  1. Windowsサーバを建ててPhoton Serverのプログラムをホストして、クライアントはPUN。サーバロジックを自由にPhotonServerに書く。
  2. PhotonCloud ,世界中にあるPUN用のリレーサーバを使って、クライアントはPUN(クライアントの内、一台をサーバロジックが動くHOST、マスタークライアントとする)

という2種類の選択肢があります。

モノビットエンジンの場合も、このPhotonと同じようにMUNというUnity向けSDKがあります。

  1. MUN Server。サーバを開発者が自前で立てて、MUNのサーバプログラムをホストして、クライアントはMUNクライアント。サーバロジックを自由にMUN Serverに書く。
  2. モノビットエンジンクラウド。モノビット社が用意して建てている各地のMUN用のリレーサーバを使って、クライアントはMUN(クライアントの内、一台をサーバロジックが動くHOST、マスタークライアントとする)

の2種類があります。個人開発を行うなら2.が気になります。なぜなら1.は100CCU以上だと330万円/年と書いてあるので…(それにサーバの面倒を見たくないです…)

というわけで2.の使い方をする前提でこのエントリは話を進めます。

モノビットエンジンクラウドはPhotonCloudと比べてどこが良さそう?

ルーム毎の秒間メッセージ数制限が無い

これはかなり魅力的です。
このメッセージ数制限は特に4人以上などの多人数ルームを想定したゲームでは問題になりやすいです。
RPCを打つたびにルーム内の人数分のメッセージが走るので、思ったより制限は厳しいです。
メッセージ数制限について触れられている、とりすーぷさんのスライド参照ください。

https://niconare.nicovideo.jp/watch/kn3705

通信量が多いゲームも金で解決出来る

大体100CCUで月1CCUあたり3GB、つまり1000CCUプランだったら月3TBという無料通信量の制限はPhotonと同じですが、モノビットクラウドは明示的に超過通信量について従量課金で対応できます。

つまり、高音質ボイスチャットを垂れ流す、みたいなゲームでもお金を払うだけで使う事が出来ます。 やろうと思えば映像伝送もいけますね!!!

モノビットエンジンクラウドはPhotonCloudと比べてここは怖いかも

NAT越えはしない

基本的に全部の通信をモノビットクラウドのリレーサーバ経由で行います。モバイル端末のネットワーク不安定さをカバーする点では魅力的ですが、原理的にpingは増えやすいかもしれません。(でも確かPUNのリレーサーバもNAT越えしなかった気もします。そうなると差はありませんね)

モノビットエンジンクラウドの海外対応

どのリージョン(地域)をカバーしているか、分かると嬉しいですが東京や大阪にはあると思います。海外展開を想定している場合、展開先の近所にサーバがあると嬉しいです。Photonは欧州、北米、インドなど主要地域ごとにリレーサーバが建っています。
モノビットエンジンクラウドは、導入事例を見る限り国内例が多いので、リリース後間もないので日本リージョンのサーバだけが建っています。(世界展開予定)

具体的な料金比較

大体PhotonCloudとモノビットエンジンクラウド両方とも、同じような価格ですね。

f:id:izm_11:20190508203133p:plain f:id:izm_11:20190508203220p:plain

ちなみに先のエントリで僕が気になっていたNobleConnectはこちら。約半額で済んでいるのは、NAT越えを頑張ることで、リレーサーバを通さない通信を増やしてサーバを節約しているから、と説明されています。

Noble Connect - Asset Store

f:id:izm_11:20190508203455p:plain

感想

おおよそPhotonCloudとモノビットエンジンクラウド、どちらを選ぶかは好みで良い気はします。SDKの持ちうる機能は大体同じだと感じました。

ただ、ゲームが良い感じに進んで、セルフホストをする(つまり、自前でサーバを建てる)ようになったとき、Linux上でも動くモノビットサーバはエンジニアを見つけやすいかもしれません。 PhotonServerはWindowsServer限定なので…

一方でユーザ数が多いことによるインターネット上にある技術情報の数はPhotonの方が多いので、そこに魅力を感じるのであればPUNを選ぶのも良いと思います。