Submit Search
Upload
PhotonCloudで一ヶ月ゲーム作った話
•
Download as PPTX, PDF
•
3 likes
•
4,216 views
Hiroto Imoto
Follow
UnityFukuoka06で発表したときのスライドです
Read less
Read more
Technology
Report
Share
Report
Share
1 of 28
Download now
Recommended
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
AimingStudy
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Kouji Hosoda
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
ゲームエンジンの中の話
ゲームエンジンの中の話
Masayoshi Kamai
Online MultiPlay Game Design
Online MultiPlay Game Design
エピック・ゲームズ・ジャパン Epic Games Japan
Unityプロファイラについて
Unityプロファイラについて
Mio Ku-tani
Recommended
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
AimingStudy
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Kouji Hosoda
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
ゲームエンジンの中の話
ゲームエンジンの中の話
Masayoshi Kamai
Online MultiPlay Game Design
Online MultiPlay Game Design
エピック・ゲームズ・ジャパン Epic Games Japan
Unityプロファイラについて
Unityプロファイラについて
Mio Ku-tani
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
YutoNishine
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
Unity Technologies Japan K.K.
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -
エピック・ゲームズ・ジャパン Epic Games Japan
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
UnityTechnologiesJapan002
Unityのasset bundle運用実例@lordofknights
Unityのasset bundle運用実例@lordofknights
Kouji Hosoda
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
Nohina Hidenari
Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方
Kouji Hosoda
Unityと.NET
Unityと.NET
AimingStudy
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
エピック・ゲームズ・ジャパン Epic Games Japan
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
Katsutoshi Makino
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
Unity Technologies Japan K.K.
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
Satoshi Yamafuji
UE4を使用したゲーム開発の為のネットワーク対応その1
UE4を使用したゲーム開発の為のネットワーク対応その1
fuminyami
Osoljp201204
Osoljp201204
Masataka Tsukamoto
Unity5.3をさわってみた
Unity5.3をさわってみた
Keizo Nagamine
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウ
GameCreators,CyberAgent
【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity
Unity Technologies Japan K.K.
More Related Content
What's hot
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
YutoNishine
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
Unity Technologies Japan K.K.
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -
エピック・ゲームズ・ジャパン Epic Games Japan
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
UnityTechnologiesJapan002
Unityのasset bundle運用実例@lordofknights
Unityのasset bundle運用実例@lordofknights
Kouji Hosoda
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
Nohina Hidenari
Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方
Kouji Hosoda
Unityと.NET
Unityと.NET
AimingStudy
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
エピック・ゲームズ・ジャパン Epic Games Japan
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
Katsutoshi Makino
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
Unity Technologies Japan K.K.
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
Satoshi Yamafuji
UE4を使用したゲーム開発の為のネットワーク対応その1
UE4を使用したゲーム開発の為のネットワーク対応その1
fuminyami
Osoljp201204
Osoljp201204
Masataka Tsukamoto
Unity5.3をさわってみた
Unity5.3をさわってみた
Keizo Nagamine
What's hot
(20)
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
Unityのasset bundle運用実例@lordofknights
Unityのasset bundle運用実例@lordofknights
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方
Unityと.NET
Unityと.NET
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
【Unity道場 2017】PlayMakerによる初めてのUnityプログラミング
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
UE4を使用したゲーム開発の為のネットワーク対応その1
UE4を使用したゲーム開発の為のネットワーク対応その1
Osoljp201204
Osoljp201204
Unity5.3をさわってみた
Unity5.3をさわってみた
Similar to PhotonCloudで一ヶ月ゲーム作った話
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウ
GameCreators,CyberAgent
【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity
Unity Technologies Japan K.K.
過疎地域で頑張るクリエイターの話
過疎地域で頑張るクリエイターの話
Tatsuya Iwama
Beenos creators'night#201308今井
Beenos creators'night#201308今井
Daisuke Imai
UnityとVuforiaで始めるAR開発
UnityとVuforiaで始めるAR開発
Takashi Yoshinaga
Jenkinsを使おうよ
Jenkinsを使おうよ
Yohei Oda
マインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみた
Masaya Hayashi
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発
Hirohito Morinaga
iPhoneアプリ無料勉強会 vol1
iPhoneアプリ無料勉強会 vol1
codeal
Unity × graphics × effects
Unity × graphics × effects
Hironori Sugino
MonoGame村からこんにちは
MonoGame村からこんにちは
勝成 鈴江
ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門
Takashi Yoshinaga
ゲーム制作で学ぶUnityの基礎
ゲーム制作で学ぶUnityの基礎
schoowebcampus
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
UnityTechnologiesJapan002
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説
光吉 浜谷
日本一詳しい人が教えるUE4
日本一詳しい人が教えるUE4
エピック・ゲームズ・ジャパン Epic Games Japan
iPadとSwift Playgroundsワークショップ準備会発表資料
iPadとSwift Playgroundsワークショップ準備会発表資料
Masaaki Takahashi
20140214_devsumi_ameba_native
20140214_devsumi_ameba_native
Satoru Fujiwara
Appmethodで何か作ってみる
Appmethodで何か作ってみる
You&I
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたこと
Arata Fujimura
Similar to PhotonCloudで一ヶ月ゲーム作った話
(20)
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウ
【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity
過疎地域で頑張るクリエイターの話
過疎地域で頑張るクリエイターの話
Beenos creators'night#201308今井
Beenos creators'night#201308今井
UnityとVuforiaで始めるAR開発
UnityとVuforiaで始めるAR開発
Jenkinsを使おうよ
Jenkinsを使おうよ
マインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみた
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発
iPhoneアプリ無料勉強会 vol1
iPhoneアプリ無料勉強会 vol1
Unity × graphics × effects
Unity × graphics × effects
MonoGame村からこんにちは
MonoGame村からこんにちは
ノンプログラミングで始める AR 開発入門
ノンプログラミングで始める AR 開発入門
ゲーム制作で学ぶUnityの基礎
ゲーム制作で学ぶUnityの基礎
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
Leapmotionとp5.js:DEMOと解説
Leapmotionとp5.js:DEMOと解説
日本一詳しい人が教えるUE4
日本一詳しい人が教えるUE4
iPadとSwift Playgroundsワークショップ準備会発表資料
iPadとSwift Playgroundsワークショップ準備会発表資料
20140214_devsumi_ameba_native
20140214_devsumi_ameba_native
Appmethodで何か作ってみる
Appmethodで何か作ってみる
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたこと
Recently uploaded
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(11)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
PhotonCloudで一ヶ月ゲーム作った話
1.
PhotonCloud使ってゲーム作った話
2.
自己紹介 ・井本 大登(いも) ・WEBエンジニア三年目 ・趣味でUnity触ってる
3.
今日話すこと ・自分の作ったゲームの自慢話 ・初めてオンラインゲーム作った話
4.
マスコットアプリ文化祭 http://pronama.github.io/mascot-apps-contest/2014/ ・キャラクターを使ったアプリのコンテスト ・アプリ以外でもOK ・割と素材は用意されてる ・優秀な作品は賞品が ・参加賞もある
5.
作ったもの 「ますこっとばすけっと」 http://mascot-basket.efb.blue/ ・1〜4人アクションゲーム ・開発期間:一ヶ月くらい ・こだわり:わいわい遊べる ネットワーク部分は、PUN(PhotonUnityNetworking)を使用している
6.
PhotonCloud とは ・ネットワークゲームに必要な機能を備えたエンジン ・ロビー・ルーム形式のゲームが作れる ・導入が簡単 ・無料プランもある
7.
わりと簡単にかける // サーバーに接続して・・ PhotonNetwork.ConnectUsingSettings (version); //
部屋を作って・・ PhotonNetwork.CreateRoom (null); // 空いてる部屋に適当に入って・・ PhotonNetwork.JoinRandomRoom ();
8.
わりと簡単にかける // Photon上にキャラクターを作って・・・ PhotonNetwork.Instantiate("Character", Vector3.zero,
Quaternion.identity, 0); // それっぽい同期スクリプトを書く。 void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.isWriting) { stream.SendNext(transform.position); stream.SendNext(transform.rotation); } else { transform.position = (Vector3)stream.ReceiveNext(); transform.rotaton = (Quaternion)stream.ReceiveNext(); } }
9.
プレイヤー1 プレイヤー2 プレイヤー3
プレイヤー4 簡単なしくみ オブジェクト生成! viewID = 1 viewID = 1 viewID = 1 viewID = 1 PhotonCloud 生成しろ! 生成しろ! 生成しろ!
10.
同期はどうやるの? ・OnPhotonSerializeView 定期的に特定のパラメータを送受信しつづける。 送受信の頻度(sendRate)は高くなくデフォルト15FPSくらい。変更はできる。 だいたいどんな型でも渡せる サンプルでは、PositionとRotationだけ送り続けてる。 ・RPC よく使う 他クライアントの指定したメソッドを直接呼ぶ 呼ばれる側に[RPC]属性をつける必要がある 引数はprimitive型のみ
11.
ますこっとばすけっとのはなし
12.
Photon上に作ったもの
13.
Photon上に作ったもの 見えるもの ・プレイヤーが操作するキャラ ・あんず(途中で出てくるお助けキャラ) 見えないもの ・MainGameDicrector(ゲームの進行を管理するスクリプト) ・ItemCreator(定期的にりんごを生成するスクリプト)
14.
Photon上に作ってないもの ・りんご ・ゴール ・足場 ・スコア表示UI 動かない、状態が変わらないものはローカルで十分 (りんごは後述)
15.
プレイヤーキャラ ・OnPhotonSerializeViewで位置情報を同期 ・挙動は全てStateパターンで制御 ・キー入力を元に状態変数をStateMachineに入れる ・↑これをRPCで同期 Inputが同じなら同じ結果になるだろうという前提
16.
りんご(アイテム) ・同期してない ・挙動は全てStateパターンで制御 ・外部オブジェクトからのインプットで状態が変わる (拾われた、投げられたetc...) ・それぞれのローカルに同じ状態で作られている
17.
なんで同期してないの? 「Inputが同じなら同じ結果になるだろうという前提」 キャラクタがまったく同じ挙動をしているなら、 キャラの行動に影響を受けるアイテムも 自然と同じ挙動になるはず!
18.
19.
つまづき1:わりとずれる ・物理演算が入ると、ほんの少し位置がずれたりする ・ゴールや人にぶつかって弾かれるともうやばい ・結果、環境ごとにキャラの状態が変わり始める。 (Player1側の画面だと拾ったがPlayer2側は持ってない) ・平行世界の誕生 でももう大幅修正する時間がない・・・
20.
対応:擬似的にPhoton上で管理 ・オブジェクト名を「Item_{number}」という規則で生成 ・↑これをviewIDの代わりにする ・GameObject.Find(name) で任意のオブジェクトを取れる時 状態にする ・特定のポイントだけRPCでアイテムをまったく同じ状態に する (着地時の位置、拾われた時、投げられた時etc...)
21.
[RPC] void SyncItemPosition(string itemName,
float x, float y, float z) { var item = GameObject.Find (itemName); if (item == null) return; Vector3 pos = new Vector3 (x, y, z); item.GetComponent<Models.BaseItem> ().Sync (pos); }
22.
つまづき2:生成までのラグ? PhotonNetwork.Instantiate ("HogeObject"); photonView.RPC ("HogeCall",
PhotonTargets.All); void HogeCall() { var hoge = FindObjectOfType<Hoge>(); hoge.call(); } => hoge is NULL!
23.
対応2:NULLチェック ・PhotonNetwork.Instantiateした直後だと、他のプレイヤ ー環境にはまだ生成されていない場合がある。 ・なので生成して直後にFindとかするとない場合が多々あ る ・NULLチェックを挟む、もしくはコルーチンでn秒待つな ど挟んで対応。 たぶん、そもそもそういう設計が良くない。
24.
つまづき3:PlayerList ・部屋に入った順でプレイヤー番号をつける 必要があった。 ・PhotonNetwork.playerListで一覧が取れる! ・playerListの配列は、環境で順番が違う。 (0が自分自身) ・順番を揃えたい
25.
対応3:IDでソート ・プレイヤーは接続時にIDが割り当てられる ・playerListをIDの昇順でソートするようにした ・そのままだと、ID若い人が最後に入っても1番になる。 ・ゲームが終わるたびに切断する仕様に変更 ・理論上、後から入った人はIDが一番古くなる
26.
残っている課題 切断対策 ・マスターが切断するとゲームが終わらない ・進行管理スクリプトが消えるため ・スクリプトの処理を新しいマスターに移譲する必要が ある ・エラーハンドリングが足りない ・人数制限などで部屋に入れなかったら死ぬ ・追加していきましょう
27.
Photonでオンゲ作った感想 ・導入と実装は非常に簡単 ・ネットワーク未経験でも割となんとかなる ・普通に使っててラグは感じない ・オフラインとオンラインで処理分けなくていいの最高 ・事前の設計をしっかりしとかないと大変 ・動作確認が割と大変 ・やはり対人戦はテンション上がる
28.
学ぶのに便利そうなの PhotonOfficialBlog http://blog.photoncloud.jp/ 日本語版ドキュメント http://photoncloud.jp/pdf/PhotonNetwork-Documentation_ja.pdf マルコ・ポーロチュートリアル http://doc.exitgames.com/ja/pun/current/tutorials/tutorial-marco-polo
Download now