Unity Networkとの違い

67
Unity Networkとの違い

description

GTMF 2013 大阪会場 10:00 ~ 10:45 「2日でネットワークゲームを作る ? Photon Cloud をメインとした GameJam レポート」 --- GTMFで発表した時の資料です

Transcript of Unity Networkとの違い

Page 1: Unity Networkとの違い

Unity Networkとの違い

Page 2: Unity Networkとの違い

Unity Network使ったことある方

Page 3: Unity Networkとの違い

Unity Networkとの違い

1.Host Model

2.Connectivity

3.Performance

4.Features & Maintenance

5.Master Server

6.Other

Page 4: Unity Networkとの違い

Host Model

Page 5: Unity Networkとの違い

Host Model

Master Server

Page 6: Unity Networkとの違い

Host Model

Master Server

Host Host Host

Page 7: Unity Networkとの違い

Host Model

Master Server

Host Host Host

Page 8: Unity Networkとの違い

Host Model

Master Server

Host Host Host

Page 9: Unity Networkとの違い

Host Model

Master Server

Host Host Host

Page 10: Unity Networkとの違い

Host Model

Master Server

Host Host

Page 11: Unity Networkとの違い

Lobby

Host Model

Page 12: Unity Networkとの違い

Lobby

Room Room Room

Host Model

Page 13: Unity Networkとの違い

Lobby

Room Room Room

Host Model

Page 14: Unity Networkとの違い

Lobby

Room Room Room

Host Model

委譲する

Page 15: Unity Networkとの違い

Lobby

Room Room Room

Host Model

Page 16: Unity Networkとの違い

Lobby

Room Room Room

Host Model

Page 17: Unity Networkとの違い

Master Server

Host Model

Host

Host

Host

Host

Page 18: Unity Networkとの違い

Lobby

Room

Room Room

Room

Host Model

Page 19: Unity Networkとの違い

Connectivity

Page 20: Unity Networkとの違い

Connectivity

Host Modelにかなり影響される

Page 21: Unity Networkとの違い

Master Server

Host Host Host

Connectivity

Page 22: Unity Networkとの違い

Master Server

Host Host Host

Connectivity

Page 23: Unity Networkとの違い

Master Server

Host Host

Connectivity

Page 24: Unity Networkとの違い

Connectivity

• ユーザーがHostになる

• Firewallやルーターの影響をモロに受ける

NAT パンチスルーで少しでも接続性を高める

Page 25: Unity Networkとの違い

Connectivity

そもそも論

Page 26: Unity Networkとの違い

Lobby

Room Room Room

Connectivity

Page 27: Unity Networkとの違い

Lobby

Room Room Room

Connectivity

Page 28: Unity Networkとの違い

Lobby

Room Room Room

Connectivity

Page 29: Unity Networkとの違い

Connectivity

• RoomはPhotonCloudが管理している

• ユーザーの環境の影響は受けない

NAT パンチスルー無しでも接続性は高い

Page 30: Unity Networkとの違い

Performance

Page 31: Unity Networkとの違い

Performance

Host Modelにかなり影響される

Page 32: Unity Networkとの違い

Master Server

Host

Performance

通信

Page 33: Unity Networkとの違い

• ホストのネットワーク環境次第で変化する

回避するには自社でホストを立てるしかない

Performance

その仕組は自前で実装

Page 34: Unity Networkとの違い

Performance

そもそも論

Page 35: Unity Networkとの違い

Lobby

Room 通信

Performance

Page 36: Unity Networkとの違い

• RoomはPhotonCloudが管理している

• ユーザーの環境の影響は受けない

そんな心配は必要なかった

Performance

Page 37: Unity Networkとの違い

Features & Maintenance

Page 38: Unity Networkとの違い

正直 disっていいと思う

F & M

Page 39: Unity Networkとの違い

• ここ最近、報告されたバグ修正のみ

F & M

• 性能の向上とかシステムの改善とかしてない

Page 40: Unity Networkとの違い

F & M

???「あんまり使われてないし、このままでいいかなと思ってる」

Page 41: Unity Networkとの違い

F & M

開発者「・・・」

Page 42: Unity Networkとの違い

F & M

Page 43: Unity Networkとの違い

F & M

Page 44: Unity Networkとの違い

F & M

Unity以上のを作ってやろうじゃないか

Page 45: Unity Networkとの違い

F & M

• メンテナンスはもちろん行ってる

• Unityにはない要素もたくさんある

• オフラインモード

• フレンド機能

Photon >>> Unity

Page 46: Unity Networkとの違い

Master Server

Page 47: Unity Networkとの違い

どんな機能かわかりにくい

Master Server

Page 48: Unity Networkとの違い

Master Server

Master Serverってわからん

Page 49: Unity Networkとの違い

Lobbyと名付ける

Master Server

Master Serverってわからん

Page 50: Unity Networkとの違い

Master Server

Serverってわからん

Page 51: Unity Networkとの違い

Roomと名付ける

Master Server

Serverってわからん

Page 52: Unity Networkとの違い

Master Server

UnityのAPIもよくわからん

Page 53: Unity Networkとの違い

Master Server

MasterServer.RegisterHost Network.InitializeServer

Page 54: Unity Networkとの違い

Master Server

PhotonNetwork.CreateRoom

MasterServer.RegisterHost Network.InitializeServer

Page 55: Unity Networkとの違い

Master Server

• 直感的にわかりやすい

Page 56: Unity Networkとの違い

Other

便利だったと思ったのを紹介

Page 57: Unity Networkとの違い

プロパティ

Other

Page 58: Unity Networkとの違い

• RoomとPhotonPlayerには自由にプロパティを設定することが出来る

• Unityではそういうのはないので自前で実装しなければいけない

Other

Page 59: Unity Networkとの違い

RoomInfo.customProperties

PhotonPlayer.customProperties

Other

Page 60: Unity Networkとの違い

RoomInfo.customProperties

そのRoomがゲーム開始中かどうか• isPlaying のプロパティを保持

Other

Page 61: Unity Networkとの違い

PhotonPlayer.customProperties

• チーム戦の場合、どちらのチームに所属するか• HPやプレイヤーの状態を保存

Other

Page 62: Unity Networkとの違い

• NetworkViewをGameObjectにアタッチして...

• OnSerializeViewまたはRPCを実装して...

• うまく保持するように調整して...

Other

でやると

Page 63: Unity Networkとの違い

同期

Other

Page 64: Unity Networkとの違い

• PhotonViewはNetworkViewを継承したもの

• 同じような実装ができる

• UnityのNetworkからPhotonに移行しやすい

「同期」を行う

Other

Page 65: Unity Networkとの違い

RPC

Other

Page 66: Unity Networkとの違い

• PhotonはUnityのRPCを使用している

• UnityのNetworkからPhotonに移行しやすい

RPCについて

Other

Page 67: Unity Networkとの違い

ここまで話して

• 正直私は事前勉強会 + ゲームジャムで触った程度

• なのにここまで違いについて話すことが出来た

• それだけPhotonCloudはよく出来てる

• 明日にでも触ってみてはどうですか?