15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UNETを捨ててPhotonを使おうと思った理由

Last updated at Posted at 2017-05-05

はじめに

わりと単純なネットワークゲームをモバイル向けに作ろうとして「Unity公式だしUNET使っとけばいいっしょ」と思っていろいろ実装してたらある理由でぶん投げることになった。手をつける前にもっと調べとけばよかった。

同じ思いをする人が少しでも減ることを祈った記事。

TL;DR

マッチメーカーだとホストマイグレーションが使えない。これに尽きる。これが使えると思ったからUNETでいいと思ったのに。

WindowsとMacとLinux向けであればアセット買えばAPIほぼそのままでなんとかなるみたいなので買うといいかもしれません。

2017/5/10 追記

  • Unite Tokyo 2017でUnityの中の人に聞こうと思ったけどUNET詳しい人がいなかった
  • Photon ThunderとかいうのがUNET互換らしいけどまだプレビュー版
    • Unite Tokyo 2017で聞いたけど一般公開がいつになるか不明
  • モノビットもMonobit Unity Networking 2.0(MUN)で2017年夏にUNETのインターフェース対応予定

ホストマイグレーションとは

ホスト・マイグレーション(公式のマニュアル)

「ホスト・マイグレーション」機能を使用すると、リモートクライアントのひとつを新しいホストにすることができるので、マルチプレイヤーゲームを継続させることが可能になります。

「あら素敵。スマホのネットワークゲー作ってもサーバ持たなくていいじゃない!」と思ってました。

ホストマイグレーションには制限があった

ホスト・マイグレーション(公式のマニュアル)の最後にある文。

制約

サーバー(ホスト)のみに存在していたデータは、ホストの接続が切れると失われます。ホスト・マイグレーションが正常に実行されるためには、重要なデータを(サーバー上だけに保管するのではなく)クライアントに配信する必要があります。

上記は、ゲームが直接接続を使用している場合に当てはまる説明です。マッチメーカーやリレーサーバーを使用している場合には、追加の作業が必要となります。

このときは「まじかー。めんどくさそうだわ〜」くらいのノリ。

Unity公式のやるやる詐欺

UNet host migration with matchmaker / relay server planned in future?

上記のフォーラムでのやりとりを見るに


Unityの中の人「いつとは言えないけど早い段階でリレーサーバでもホストマイグレーションのサポートするよ」(2016/4/15)

一年後の今まで音沙汰なし、ロードマップに記載なし


でみんな激おこぷんぷんでPhotonに移行してる感じ。

NAT Traversal という6,000円くらいのアセットを買えばUNETのAPIほぼそのままでホストマイグレーションできそうだったけど対応プラットフォームが「Windows, OSX, and Linux」とのことでモバイルは「まぁ将来的には」くらい。WebGLは無理だそうです。

以下 アセットのFAQ より抜粋

Will this work for mobile platforms (iOS and Android)? If not, is this planned?

No. Yes. Mobile support is the next feature we want to add but we can't give a timeline on when it will be implemented. Sorry.

What about web builds / WebSockets

The library we use for puchthrough (RakNet) does not support WebSockets. So...that's a no. There are no plans to add WebSocket support at this time, but that may change once the mobile stuff is done.

参考資料

Constraints

Data that is only present on the server (the host) will be lost when the host is disconnected. For games to be able to perform host migration correctly, important data must be distributed to the clients, not held secretly on the server.

This works for direct connection games. Additional work is required for this to function with the matchmaker and relay server.

内容に変化なしで直接接続のみに対応とのこと。

15
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?