アマゾンバナーリンク

ディスプレイ広告

スポンサーリンク

【Unity】オンラインゲーム開発をするには何を使うべきか?将来を見据えて考えてみる

2021年4月26日

こんにちは!ジェイです。Unityでオンラインゲーム開発をしようと思ったら有名なところで、PhotonCloudMonobitEngineStrixCloudなどがありますが、どれを使ったらいいか迷う事でしょう。

この話については話題にしたことがあるのでこちらで確認してください。情報量、使用難易度、プラン、Rigidbodyとの相性、などの比較についてはこの時と変わりはありません。ただし、一点だけ追加したい情報があります。

記事内広告

更新頻度

以前の記事で紹介しなかった情報で、重要な点がもう一つだけあります。それは更新頻度です。

PhotonCloudPUN2

まずPhotonCloudPUN2ですが、バージョン 2.30(最新)リリース日:2021年4月14日で比較的新しいですし、頻繁に更新されてます。

MonobitEngine

次にMonobitEngineですが、2020/5/8で最後の更新が止まっています。年に1度はバージョンアップしているみたいですが、あきらかに更新頻度が下がっています。

StrixCloud

StrixCloudについては、アップデート情報を見つけることができませんでした。(分かる人いたら教えて下さい)ただし、リリース情報から2019/6/3にリリースされたことがわかります。なので、比較的新しいと思って大丈夫です。

以上の事を考慮すると現在、私自身が使うなら、PhotonCloudPUN2一択になります。

Unity公式ネットワークソリューション

しかし、去年の12月にMLAPIがUnity公式ネットワークソリューションとして決定しました。

この話を聞いた時点では「は?」UNetとか廃止になったし、もう公式でのマルチはあきらめたのではないの?と思い込んでました。

マルチプレイ開発環境に対しての不安

今までずっとPhotonCloudPUN2やMonobitEngineを中心に情報発信を続けてきて、現在開発中のUnityChanAutoOnlineもPhotonCloudPUN2を使って開発を行っています。

本気でPhotonを頑張って使ってきただけに、何だか切ない気持ちになってモチベーションも下がりました…

MLAPIの使い方に関しては以下に詳しく解説されています。

そして、ここから先の未来が見えるツイートを貼ります。

要するにPhotonのトランスポート層を差し替えてただのりできるということです。もちろん自分でサーバーを用意して使ったりもできます。

これで将来、100人同時接続マルチプレイのゲームが個人でも作れるようになるのか!と思うと何だか嬉しいような悲しいような複雑な気持ちになります。

ただし、最新のMLAPIのバージョンは以下を見てみると0.1.0です。

このバージョンがあまりに低いことから予想出来ることは、まだまだこれから破壊的変更が入るという事です。

ちなみに破壊的変更とは、既存の動作と互換性のない(仕様変更の前後で既存コードの動作が変わらない事が保証されない)様な変更の事を言います。つまり、バージョンアップされたら今まで動いていたコードが動かなくなる事もありえる事になります。

MLAPI

現状では、かなり使いづらいイメージがありますが、PhotonCloudやMonobitEngineを使ったことがあれば、RPCなどの動機の概念は同じ部分がかなりあるみたいなので、すぐに習得できると思います。

しかしながら、小規模のオンラインゲームなら開発するのはありだとは思いますが、これからかなりのテコ入れが入るのは間違いないで、大規模なゲームを想定して作るのは、まだ早いかなと思います。

更に情報も少ないので、初心者が勉強するには向いてないでしょう。ただ、公式というくらいなので、どんな進化をするのかはまだまだ未知数です。

最後に

今のオンラインゲーム開発ではPhotonCloudPUN2で開発しています。
今更後戻りできないのでこのまま開発を続ける予定ですが、だいぶ時間がかかりそうなので、途中でMLAPIがアップデートして、100人マルチプレイ可能!!みたいなニュースが来てやる気をなくしてしまう可能性もありそうです…

ただその時はその時に乗り換えればいいと無理やり自分に言い聞かせて、PhotonCloudPUN2を信じてゲーム開発を続けるしかない!と心に決めてこの記事を終わりにします。

+4