Unity Networkとの違い

Post on 05-Dec-2014

4.202 views 3 download

description

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

Transcript of Unity Networkとの違い

Unity Networkとの違い

Unity Network使ったことある方

Unity Networkとの違い

1.Host Model

2.Connectivity

3.Performance

4.Features & Maintenance

5.Master Server

6.Other

Host Model

Host Model

Master Server

Host Model

Master Server

Host Host Host

Host Model

Master Server

Host Host Host

Host Model

Master Server

Host Host Host

Host Model

Master Server

Host Host Host

Host Model

Master Server

Host Host

Lobby

Host Model

Lobby

Room Room Room

Host Model

Lobby

Room Room Room

Host Model

Lobby

Room Room Room

Host Model

委譲する

Lobby

Room Room Room

Host Model

Lobby

Room Room Room

Host Model

Master Server

Host Model

Host

Host

Host

Host

Lobby

Room

Room Room

Room

Host Model

Connectivity

Connectivity

Host Modelにかなり影響される

Master Server

Host Host Host

Connectivity

Master Server

Host Host Host

Connectivity

Master Server

Host Host

Connectivity

Connectivity

• ユーザーがHostになる

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

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

Connectivity

そもそも論

Lobby

Room Room Room

Connectivity

Lobby

Room Room Room

Connectivity

Lobby

Room Room Room

Connectivity

Connectivity

• RoomはPhotonCloudが管理している

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

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

Performance

Performance

Host Modelにかなり影響される

Master Server

Host

Performance

通信

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

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

Performance

その仕組は自前で実装

Performance

そもそも論

Lobby

Room 通信

Performance

• RoomはPhotonCloudが管理している

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

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

Performance

Features & Maintenance

正直 disっていいと思う

F & M

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

F & M

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

F & M

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

F & M

開発者「・・・」

F & M

F & M

F & M

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

F & M

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

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

• オフラインモード

• フレンド機能

Photon >>> Unity

Master Server

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

Master Server

Master Server

Master Serverってわからん

Lobbyと名付ける

Master Server

Master Serverってわからん

Master Server

Serverってわからん

Roomと名付ける

Master Server

Serverってわからん

Master Server

UnityのAPIもよくわからん

Master Server

MasterServer.RegisterHost Network.InitializeServer

Master Server

PhotonNetwork.CreateRoom

MasterServer.RegisterHost Network.InitializeServer

Master Server

• 直感的にわかりやすい

Other

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

プロパティ

Other

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

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

Other

RoomInfo.customProperties

PhotonPlayer.customProperties

Other

RoomInfo.customProperties

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

Other

PhotonPlayer.customProperties

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

Other

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

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

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

Other

でやると

同期

Other

• PhotonViewはNetworkViewを継承したもの

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

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

「同期」を行う

Other

RPC

Other

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

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

RPCについて

Other

ここまで話して

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

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

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

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