アマゾンバナーリンク

ディスプレイ広告

スポンサーリンク

PhotonCloudPun2 vs MonobitEngine vs StrixCloud

2021年2月23日

こんにちは!ジェイです。毎日オンラインゲーム制作頑張ってます!前作のUnityChanShooterはMonobitEngineで作り完成させて、今回また久しぶりにPhotonCloudPun2を使って、オンラインゲームを作って見てどれが優れているか?というのを比較してみます。いずれもUnityで使った場合のものとします。

記事内広告

情報量の多さ

まず一番大事になるのが、その開発環境の情報量の多さです。

  1. PhotonCloudPun2
  2. MonobitEngine
  3. StrixCloud

この点を比較してみると完全にPhotonCloudが1番多いです。世界中で使われているため英語の情報やドキュメント、最近では日本語も充実してますし、サンプルのコードもググれば沢山出てきます。

そして、PhotonCloudの1番最大のメリットはUnityのアセットストアで、置いてある唯一のオンラインゲームの完成プロジェクトがあるという事です。ただプロジェクトによっては、古いのもあるので、PUNかPUN2かバージョンはいくつか?というのを必ず確認しましょう。

次はMonobitEngineがですが、PhotonCloudと比べると少ないですが、ネット上には情報もありますし、サポートの掲示板の反応も早いです。さらに仕様がPhotonCloudPUNとほぼ一緒で、Photonのソースコードを参考にすれば、慣れてる人ならば、簡単に使いまわせるので情報に困る事はないです。※MonobitEngineはPhotonCloudのPUN2ではなくPUNに似てるということに注意

最後のStrixCloudは、他の2つと比べて仕様が違うし、情報量も少ないです。しかし、最近は公式のVTuberの須東りくちゃんが、毎週月曜日にStrixCloudを使ったオンラインゲームの作り方を解説してます。

とてもかわいいので、オンラインゲーム制作に興味のある方はぜひチャンネル登録とTwitterのフォローをおすすめします。

使用難易度

簡単に使える順番

  1. StrixCloud
  2. PhotonCloudPun2
  3. MonobitEngine

初心者が簡単な玉当てゲームを作るとすると、1番簡単に作れるのは、間違いなくStrixCloudです。理由はログイン画面やプレイヤーや接続の情報を表示させようとした時にコードを書かなくても、Prefabが用意されているので、それをヒエラルキーにドラッグ&ドロップするだけで、簡単に作れます。

さらにStrixCloudでは、ロビーという概念がないので、使わないゲームの場合は覚えることが少ない分、初心者がオンラインゲーム制作をするには良いと思います。

次にPhotonCloudとMonobitEngineに関してですが、ロビーに入室したり手続きなどは多いです。詳しくは以下の記事で解説してます。ちなみにPhotonCloudもPUN2ではロビーに入る必要はないです。

プラン

同時接続数と料金などを考慮すると

  1. StrixCloud
  2. MonobitEngine
  3. PhotonCloudPun2

まず無料で接続できるCCU数はMonobitEngineとPhotonCloudは20CCUまでで、StrixCloudは100CCUまでです。以下に料金プランを乗せておきますので参考にしてみてください。

ちなみにMonobitEngineとPhotonCloudを比べて、MonobitEngineを2位にした理由はPhotonCloudには別の制限があるからです。詳しくは以下を参考にしてください。

TranformViewやRigidbodyとの相性

PhotonCloudPUN2とMonobitEngineを比べた時に、Rigidbodyと相性が良いのはPhotonCloudPUN2です。 以下は実際にPhotonCloudPUN2とMonobitEngineを比べた動画です。

ただし、TransformViewに関しては、デフォルトではMonobitEngineが使いやすいです。理由はPhotonCloudPUN2でTransformViewを使うと以下のようになります。18秒目あたりでキャラが高速移動してるのに注目。

なぜこうなるのかというと、PhotonCloudPUN2のデフォルトのTransformViewでは、距離がいくら離れていても座標を補完してしまうからです。この点MonobitEngineだといい感じの距離で補完や移動をしてくれます。

ちなみにこれを修正するには、PhotonTransformViewClassicの方を使用して。以下のように適切な設定をすることで解決できます。ソースコードに手を加える必要もあるので、なかなか面倒ですよね。

結論 似ている部分も多いが目的と状況によって選ぼう

まずプログラミングには慣れてるけど、オンラインゲームを作るのは初めてだという人は、PhotonCloudPUN2をおすすめします。仕組みも以前のPUNよりも簡単に使えるようになってるし、情報量も多いので、慣れてる人ならば、独学でも十分習得できます。

次にプログラミングも自信がなくて、初心者という人はStrixCloudを使うことをおススメします。理由は最初の方に書いた通り、覚える事が他の環境より少ない上にPrefabで簡単にログイン画面が作れるなど、全体的に使用難易度が低いからです。

MonobitEngineに関しては、前のPhotonCloudPUNに仕様がだいぶ似てますが、メッセージ数の制限がないので、それらを気にしなければならないようなゲームを作る時におススメします。

ちなみにStrixCloudはUnrealEngineにも対応しているので、リアルな描写でアクション性の強いゲームを作る時は、この環境が良いと思います。

今自分にとって最適ネットワークエンジンはどれか

今正直どのネットワークエンジンを使うか迷っていて、PhotonCloudPUN2かMonobitEngineで検討しています。物理演算を使うなら、Rigidbodyが必須なので、PhotonCloudPUN2を選びたいところですが、メッセージ数の制限があるので、それがなくてTransformViewの扱いが簡単なMonobitEngineにしようかなというところです。

StrixCloudに関しては、リモートプロシージャーコール(RPC)にAllBufferedやOtherBufferedを指定できないので、今まで書いたコードを大幅に修正しなければならないので、残念ながら今のところ使う予定はないです。

ただし、Buffered(遅延実行)が必要になってくるのは、ルームに途中で入室してくるタイプの仕様にしなければ、特に必要にならないです。というか初心者は絶対この仕様にしてはいけないです。

今回はUnityでどのネットワークエンジンを使えば良いかの比較でしたが、次回に上記で取り上げた様にオンラインゲームの仕様を間違えると桁違いに難易度が上がってしまう事柄について、自分の体験談をまじえた上で解説します。

アイコンは星茨まとさんからお借りしました。素敵なアイコン配布ありがとうございます。

+1