Upload
Download free for 30 days
Login
Submit Search
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
Download as PPTX, PDF
1 like
2,147 views
GMO GlobalSign Holdings K.K.
サイバーエージェントゲーム事業部 × Photon が語る!!リアルタイム通信ゲームの開発 ~ ポコロンダンジョンズ を徹底解析~ by GMOアプリクラウド
Technology
Read more
1 of 28
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
More Related Content
PPTX
Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...
GMO GlobalSign Holdings K.K.
PPTX
Photon Webhooks & IPv6対応の最新情報
GMO GlobalSign Holdings K.K.
PDF
Photon勉強会(クライアントサイド)2015/8/4 発表資料
GMO GlobalSign Holdings K.K.
PPTX
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解
GMO GlobalSign Holdings K.K.
PDF
Cedec2013 photon network engine
GMO GlobalSign Holdings K.K.
PPTX
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
Photon運営事務局
PDF
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
GMO GlobalSign Holdings K.K.
PPTX
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
GMO GlobalSign Holdings K.K.
Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...
GMO GlobalSign Holdings K.K.
Photon Webhooks & IPv6対応の最新情報
GMO GlobalSign Holdings K.K.
Photon勉強会(クライアントサイド)2015/8/4 発表資料
GMO GlobalSign Holdings K.K.
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解
GMO GlobalSign Holdings K.K.
Cedec2013 photon network engine
GMO GlobalSign Holdings K.K.
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
Photon運営事務局
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
GMO GlobalSign Holdings K.K.
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
GMO GlobalSign Holdings K.K.
What's hot
(20)
PPTX
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
GMO GlobalSign Holdings K.K.
PDF
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Recruit Technologies
PDF
Wowzaを用いた配信基盤 Takusuta tech conf01
Kazuhiro Ota
PDF
Challengers 2013 winter ハッカソンに参加してみて
Yukio Saito
PDF
第12回CloudStackユーザ会_ApacheCloudStack最新情報
Midori Oge
PDF
OpenStackを一発でデプロイ – Juju/MAAS - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
PDF
CloudFoundry 2 on Apache CloudStack 4.2.1
Kotaro Noyama
PPTX
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Apache Auroraの始めかた
Masahito Zembutsu
DOC
Cloud founryインストール手順
Kotaro Noyama
PDF
Open Stack Day - Ansibleによる環境構築の自動化
shirou wakayama
PDF
OpenStack Icehouse構築手順書
VirtualTech Japan Inc.
PPTX
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
VirtualTech Japan Inc.
PDF
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
PDF
OpenStack Grizzly構築手順書
VirtualTech Japan Inc.
PDF
OpenNebula on Ubuntu
autumnalsky
PDF
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
Unity Technologies Japan K.K.
PDF
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
PPTX
Puppetのススメ
Gosuke Miyashita
PPTX
Windows phoneのバックグラウンドエージェントについて
Kiyokazu Kaba
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
GMO GlobalSign Holdings K.K.
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Recruit Technologies
Wowzaを用いた配信基盤 Takusuta tech conf01
Kazuhiro Ota
Challengers 2013 winter ハッカソンに参加してみて
Yukio Saito
第12回CloudStackユーザ会_ApacheCloudStack最新情報
Midori Oge
OpenStackを一発でデプロイ – Juju/MAAS - OpenStack最新情報セミナー 2015年2月
VirtualTech Japan Inc.
CloudFoundry 2 on Apache CloudStack 4.2.1
Kotaro Noyama
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
Apache Auroraの始めかた
Masahito Zembutsu
Cloud founryインストール手順
Kotaro Noyama
Open Stack Day - Ansibleによる環境構築の自動化
shirou wakayama
OpenStack Icehouse構築手順書
VirtualTech Japan Inc.
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
VirtualTech Japan Inc.
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
OpenStack Grizzly構築手順書
VirtualTech Japan Inc.
OpenNebula on Ubuntu
autumnalsky
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
Unity Technologies Japan K.K.
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
Puppetのススメ
Gosuke Miyashita
Windows phoneのバックグラウンドエージェントについて
Kiyokazu Kaba
Ad
Viewers also liked
(11)
PDF
中華圏とのライセンスイン・アウトの実務と可能性
CLARA, Inc.
PDF
添付ファイル自動暗号化「シンプルメール」紹介資料
GMO GlobalSign Holdings K.K.
PPTX
PhotonCloudで一ヶ月ゲーム作った話
Hiroto Imoto
PPTX
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」
GMO GlobalSign Holdings K.K.
PPTX
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
PPTX
PhotonのIPv6対応情報 & Server構築ポイント
GMO GlobalSign Holdings K.K.
PPTX
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
GMO GlobalSign Holdings K.K.
PDF
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai
PDF
第1回Gmoホスコンlt 160414
GMO GlobalSign Holdings K.K.
PPT
Photon Cloud signupマニュアル
GMO GlobalSign Holdings K.K.
PPTX
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"
GMO GlobalSign Holdings K.K.
中華圏とのライセンスイン・アウトの実務と可能性
CLARA, Inc.
添付ファイル自動暗号化「シンプルメール」紹介資料
GMO GlobalSign Holdings K.K.
PhotonCloudで一ヶ月ゲーム作った話
Hiroto Imoto
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」
GMO GlobalSign Holdings K.K.
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
PhotonのIPv6対応情報 & Server構築ポイント
GMO GlobalSign Holdings K.K.
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
GMO GlobalSign Holdings K.K.
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai
第1回Gmoホスコンlt 160414
GMO GlobalSign Holdings K.K.
Photon Cloud signupマニュアル
GMO GlobalSign Holdings K.K.
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"
GMO GlobalSign Holdings K.K.
Ad
Similar to GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
(20)
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
PPTX
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社
Game Tools & Middleware Forum
PDF
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
PDF
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
PDF
Photon Enterprise Cloud 事例
Tomotsune Murata
PDF
とあるCocos2dx入門編
kumin1030
PDF
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
Daisuke Masubuchi
PDF
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
日本マイクロソフト株式会社
PPTX
GTMF 2016:Cocos2d-x/Marmalade&Photon最新事例 GMOクラウド株式会社
Game Tools & Middleware Forum
PDF
Unitynetwork
Shinsuke Sugita
PPTX
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
PDF
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
モノビット エンジン
PDF
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
monobit
ODP
pfm details
iyatomi takehiro
PDF
UnityのフリーライセンスでPC-Android通信を実装するまで
Hiroto Makiyama
PPTX
【Unite 2017 Tokyo】マルチプレイゲームのグローバル展開事例(BNE様)と完全同期を実現するPhoton TrueSync のご紹介
Unity Technologies Japan K.K.
PPTX
Ruby on azure で game server service
nagachika t
PDF
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
PDF
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
PPTX
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
モノビット エンジン
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社
Game Tools & Middleware Forum
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
Photon Enterprise Cloud 事例
Tomotsune Murata
とあるCocos2dx入門編
kumin1030
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
Daisuke Masubuchi
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
日本マイクロソフト株式会社
GTMF 2016:Cocos2d-x/Marmalade&Photon最新事例 GMOクラウド株式会社
Game Tools & Middleware Forum
Unitynetwork
Shinsuke Sugita
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
モノビット エンジン
【GCC18】PUBGライクなゲームをUnityだけで早く確実に作る方法 〜ひとつのUnity上でダミークライアントを100個同時に動かす〜
monobit
pfm details
iyatomi takehiro
UnityのフリーライセンスでPC-Android通信を実装するまで
Hiroto Makiyama
【Unite 2017 Tokyo】マルチプレイゲームのグローバル展開事例(BNE様)と完全同期を実現するPhoton TrueSync のご紹介
Unity Technologies Japan K.K.
Ruby on azure で game server service
nagachika t
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
【CEDEC2018】800万ダウンロードを達成した共闘ことばRPG 『コトダマン』でのモノビットエンジン採用実例と最新情報 ①
モノビット エンジン
More from GMO GlobalSign Holdings K.K.
(7)
PPTX
2019年 第2四半期 決算説明資料
GMO GlobalSign Holdings K.K.
PPTX
2018年通期決算説明資料
GMO GlobalSign Holdings K.K.
PDF
2018年12月期 第2四半期決算説明会資料
GMO GlobalSign Holdings K.K.
PDF
GMOクラウド:2017年通期決算説明会資料
GMO GlobalSign Holdings K.K.
PPTX
GMOクラウド:2017年12月期 第2四半期決算説明会
GMO GlobalSign Holdings K.K.
PDF
クラウド活用で実現するスマートなシステム運用
GMO GlobalSign Holdings K.K.
PDF
SIerがgmoクラウドを選ぶ理由とは
GMO GlobalSign Holdings K.K.
2019年 第2四半期 決算説明資料
GMO GlobalSign Holdings K.K.
2018年通期決算説明資料
GMO GlobalSign Holdings K.K.
2018年12月期 第2四半期決算説明会資料
GMO GlobalSign Holdings K.K.
GMOクラウド:2017年通期決算説明会資料
GMO GlobalSign Holdings K.K.
GMOクラウド:2017年12月期 第2四半期決算説明会
GMO GlobalSign Holdings K.K.
クラウド活用で実現するスマートなシステム運用
GMO GlobalSign Holdings K.K.
SIerがgmoクラウドを選ぶ理由とは
GMO GlobalSign Holdings K.K.
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
1.
GMOアプリクラウドではじめる Photon Server v4 Photon
運営事務局 山本 昇平 2016/04/20
2.
自己紹介 • 氏名: 山本昇平(Syohei
Yamamoto) • 所属: GMOクラウド株式会社 • 役割: 各種ソリューションの技術担当 • 趣味はゲームと料理 – 好きなゲーム: 任天堂の某イカゲー • プレイ時間1,000時間以上、ウデマエは当然S+(最上位) • 会員数5000人以上のプレイヤー間交流サイトを作った – やっぱりマルチプレイのゲームは面白い!! 2
3.
アジェンダ 1. GMOアプリクラウドにPhoton Serverの環 境を構築する 2.
サーバサイドアプリを構築する 3. 実際に動かしてみる このセッションを聞いて簡単な Photon Serverアプリケーションを作ろう
4.
GMOアプリクラウドにPhoton Serverを 構築する
5.
Photon Serverとは • マルチプレイを簡単に実現するためのサービス •
サーバーにインストールするミドルウェア • SDKでソースコードを公開しています – Ver.4によりPlugin形式で開発が簡単に! – C#によるビジネスロジック • App Store上位タイトルでも利用 5
6.
GMOアプリクラウドとは? • ゲームやアプリに特化したIaaS型クラウド – 10GBのネットワーク環境を提供することで、大量ト ラフィックに対応 –
116種類のプランを提供し用途に応じて選択可能 – 転送量の上限を設定しコストを気にせず利用可能 • 剣と魔法のログレスといった、 有名タイトルでも利用されています 6
7.
Photon x GMOアプリクラウド 7 GMOアプリクラウドは Photon運営事務局の推奨する クラウドサーバーです http://cloud.gmo.jp/spec/Photon/
8.
GMOアプリクラウドのメリット 8 1. Photon Server
全自動セットアップ【new】 2. 24時間365日 無料電話サポート 3. データ転送量 利用料金に上限キャップ コントロールパネルからPhoton Serverがインストールされたサーバーをわずか数クリック、数分 で立ち上げることが可能です。その際、面倒なネットワーク設定やConfig設定も全自動で設定し ます。 GMOアプリクラウドのご契約者様のみ、Photon運営事務局では通常行っていない電話サポートを 24時間365日体制で無料提供しています。Photon Serverのセットアップ方法を丁寧にサポートい たします。 リアルタイムやマルチ対戦などのオンラインゲームはデータ転送量が嵩みます。GMOアプリクラ ウドでは、どれだけデータ転送量が発生してもご利用料金は3万円/月(モバイルゲームの場合) が上限です。
9.
全自動セットアップ STEP1 •サーバー(Windows)の作成 STEP2 •Photon SDK のダウンロード+設置 STEP3 •ロードバランサーのネットワーク設定 STEP4 •Photon
Config の設定 STEP5 •ライセンス のダウンロード+設置 STEP6 •Photon Application の起動 ・サーバー(Windows)の作成 ・ライセンス のダウンロード+設置 ・Photon Apllicationの起動 ■Before ■After 9 Photon Server 全自動セットアップ 実装前・後の比較
10.
今回の手順について 今回行う手順は下記PDFに纏められています • Photon自動構築ガイド • http://cloud.gmo.jp/spec/photon/guide/photon_ver.4_auto matic_settings_guide.pdf 簡単な操作でPhoton
Serverセットアップ済のサー バを構築すること可能! デモ
11.
サーバサイドアプリを構築する
12.
サーバサイドアプリの作り方 Photon Serverでは2つの方法があります 1. Photon
Server用のカスタマイズアプリケー ションを作る 2. カスタマイズアプリケーション上で利用できる Pluginを作る
13.
サーバサイドアプリの作り方 Photon Serverでは2つの方法があります 1. Photon
Server用のカスタマイズアプリケー ションを作る 2. カスタマイズアプリケーション上で利用できる Pluginを作る 今回はこちら
14.
Pluginの作り方の大まかな手順 1. プログラムを作成する・ビルドする 2. ビルドしたDLLをフォルダに配置 3.
コンフィグにPluginの設定を行う 具体的にどんなことができるの??
15.
Pluginを使ってできる例 プレイヤー情報を 外部サイトにPost プレイヤー名: プレイヤー1 ランク: 50 ウデマエ:
S+ ブキ: 3Kスコープ プレイヤー1 ・レベル: 50 ・ランク: S+ ・ブキ: 3Kスコープ 外部サイト 現在のルーム 情報 Plugin 入室 Post
16.
プログラムにすると… プレイヤー1 ・レベル: 50 ・ランク: S+ ・ブキ:
3Kスコープ 外部サイト 現在のルーム 情報 PhotonNetwork.playerName = “プレイ ヤー1” PhotonNetwork.SetPlayerCustomPrope rties(new Hashtable() { { “level”, “50” }, { “rank”, “S+”}, { “weapon”, “3Kスコープ”}, } public override void OnSetProperties(ISetPropertiesCallInfo info) { //省略 HttpClient httpClient = new HttpClient(); HttpContent content = new FormUrlEncodedContent(dict); var resopnse = await httpClient.PostAsync(url, content); プレイヤー情報を 外部サイトにPost Plugin 入室 Post
17.
プログラムを作成する 5 class PluginFactory
: IPluginFactory 6 { 7 public IGamePlugin Create(IPluginHost gameHost, string pluginName, Dictionary<string, string> config, out string errorMsg) 8 { 9 var plugin = new TestPlugin(); 10 if (plugin.SetupInstance(gameHost, config, out errorMsg)) 11 { 12 return plugin; 13 } 14 return null; 15 } 16 } • エントリーポイントとなるファクトリクラスを作成する • TestPluginクラスのインスタンスを作成
18.
プログラムを作成する 19 public override
void OnSetProperties(ISetPropertiesCallInfo info) 20 { // 中略 24 var dict = new Dictionary<string, string>(); 25 26 dict["player_name"] = info.Nickname; 27 28 foreach (DictionaryEntry entry in info.Request.Properties) 29 { 30 dict[entry.Key.ToString()] = entry.Value.ToString(); 31 } • PluginBase#OnSetPropertiesコールバック – カスタムプロパティをセットしたタイミング(ルーム入室と同時)によばれる – プレイヤー名とカスタムプロパティをDictionaryに変更
19.
プログラムを作成する 47 HttpClient httpClient
= new HttpClient(); 50 HttpContent content = new FormUrlEncodedContent(dict); 51 52 var resopnse = await httpClient.PostAsync(url, content); 53 var result= await resopnse.Content.ReadAsStringAsync(); • 外部WebサービスにPostする – 今回は.NETに搭載されているHttpClient#PostAsyncを使いました – 当たり前ですが、ビジネスロジックは通常のC#を使って書くことが可能 プログラムが完成したら、DLLにビルドする! デモ
20.
ビルドしたDLLをフォルダに配置 DLLはPluginsのフォルダの直下に配置 Plugins ┗[Pluginのアプリケーション名] ┗bin ┗dll一式
21.
ビルドしたDLLをフォルダに配置 例) プラグイン名: PluginTest %Photon%deployPlugins PluginTestbinPhotonHive. PluginTest.dll
22.
コンフィグにPluginの設定を行う 今回は標準で搭載されているLoadbalancing アプリケーションにPluginを追加してみる • Loadbalancing.dll.configに参照するDLLの情報を記入する 254 <PluginSettings
Enabled="true"> 255 <Plugins> 256 <Plugin 257 Name=“PluginTest" 258 Version="" 259 AssemblyName="PhotonHive.PluginTest.dll" 260 Type="Photon.Hive.Plugin.PluginTest.PluginFactory" /> 261 </Plugins> 262 </PluginSettings>
23.
コンフィグにPluginの設定を行う 今回は標準で搭載されているLoadbalancing アプリケーションにPluginを追加してみる • Loadbalancing.dll.configに参照するDLLの情報を記入する 254 <PluginSettings
Enabled="true"> 255 <Plugins> 256 <Plugin 257 Name=”PluginTest" 258 Version="" 259 AssemblyName="PhotonHive.PluginTest.dll" 260 Type="Photon.Hive.Plugin.PluginTest.PluginFactory" /> 261 </Plugins> 262 </PluginSettings> プラグイン名 作成したDLL エントリーポイント のファクトリクラス
24.
アプリケーションの起動 ログを確認してDLLが正しく読み込まれているこ とを確認します 2016-04-18 16:57:47,508 [1]
INFO Photon.Hive.Plugin.PluginManager - Plugin Type Photon.Hive.Plugin.PluginTest.PluginFactory from assembly PhotonHive.PluginTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null was successfully created 2016-04-18 16:57:47,509 [1] INFO Photon.Hive.Plugin.PluginManager - Plugin manager (version=1.0.15.11060) is setup. type=Photon.Hive.Plugin.PluginTest.PluginFactory;path=C:PhotondeployPluginsPluginTestbinPho tonHive.PluginTest.dll;version=1.0.15.11060 %Photon%deploylogGSGame.log から抜粋
25.
まとめ GMOアプリクラウドとPhoton Serverを使うことで • 簡単な操作でセットアップ済みサーバを構築可能 –
自動でPhoton Serverのインストールを行います – アプリクラウド側+Photon側のネットワークの設定が不要 – http://cloud.gmo.jp/spec/photon/ Pluginを使うことでサーバサイドロジックを作ることが可能 • 外部サービス連携を作る場合に便利 • DLL作成後のデプロイ作業は配置と設定だけ完了
26.
最後に 例のプログラムは下記URLにて公開しています。 • Photon Serverアプリケーション •
https://github.com/syyama/PhotonPluginTest Pluginの詳細については下記の勉強会にて解説します! • 1時間でわかるPlugin開発とEnterprise Cloudの詳解 • 5/18 GMO Yours(ココ)で開催します! • https://atnd.org/events/76303
27.
お知らせ 一緒に盛り上げてくれる を大募集中! (エンジニア、営業などなど) 27
28.
ありがとうございました!
[email protected]
Editor's Notes
#3:
はじめましての方ははじめまして、それ以外の方はお久しぶりです。 このような勉強会に立つのが久しぶりなので、とても緊張しています。 私の名前は山本昇平と申します。Twitterなんかではやまさんと呼ばれています。 GMOクラウド株式会社に所属しており、Photonをはじめとした各種ソリューションの技術担当として活動しています。 余談ですが、WiiUから出ている「スプラトゥーン」というゲームに病的なくらいハマっています。 寝ても冷めてもイカちゃんのことを考えているくらい好きです。 もしこの中でプレイしてる人がいらっしゃったら、後でお声がけください。 やっぱりみんなで出来るゲームって面白いんですよね。 みなさんも経験があると思うんですけど、子供の頃に、友達の家にカセットやコントローラを持って行って みんなでゲームしたような、あの感覚が蘇ってきますね。
#4:
さて、アイスブレイクはこれくらいにしておきます。 今日のお題目ですが、アプリクラウドのクラウド環境にPhoton Serverを構築してみます。 そのあと構築したPhoton Serverにプラグインアプリケーションを突っ込んでみて、 実際にテストクライアントを動かしてみて、Photon Serverが正しく動いているかどうかを確認してみます。
#11:
ご覧いただいた通りですが、非常に拍子抜けするくらい簡単だったと思います。 あとはライセンスを追加して、サーバアプリケーションを追加するだけで、 Photon Serverのアプリケーションとして利用することが可能です。 これらも後ほど行います。
#13:
Photon Serverのサーバサイドアプリケーションを作る方法は2つの方法があります。 1つ目はPhoton Server向けのカスタマイズアプリケーションを作る方法、 2つ目は1つ目に作ったカスタマイズアプリケーション上で動くPluginを作る方法です。 具体的に何が違うかという点ですが、1の方法は出来ることが多い代わりに開発工数が掛ります。 簡単なサーバサイドロジックを作る程度であれば、Pluginを使うことをお勧めします。 Photon ServerではLoadbalancingという名前のカスタマイズアプリケーションが最初からあります。 この上で動作するためのPluginを今回は開発していきます。
#15:
Photon Server v4のPluginの作り方ですが、 PhotonHivePluginというdllがSDKに含まれていますので、こちらを参照設定に追加します。 Photon Server Pluginの仕様に則ってプログラムを作って頂き、ビルドを行ってください。 ビルドが成功すると、DLLファイルとして出力します。このDLLを指定したフォルダに置くようにしてください。 指定したフォルダに対してPluginの設定を行うと完了です。 これらの手順のすべてはPhoton Serverのドキュメントサイトに記載されていますので、ご覧いただけますと幸いです。 また、次回のPhotonの勉強会でPluginの解説を行いますので、詳細についてはそちらにご参加ください。 さて、Pluginを使うことで、具体的にどういうことができるか見ていきたいと思います。
#16:
Pluginを使って出来る例です。 簡単な例ですが、例えばクライアントがPhotonのルームに入室する際に、 ランクやブキといったプレイヤー情報をPhoton Serverで取得します。ゲームのランキング情報といったプレイヤー情報を外部のWebサイトにPostし、ルーム情報を表示するといったプログラムです。 ここではそのサーバ部分でPhoton ServerのPluginを利用しています。 それでは実際にプログラムを見てみましょう。
#17:
クライアント側はプレイヤー名をPhotonNetwork.playerNameに設定、その他の情報はカスタムプロパティに設定しています。 ご覧頂いた通りではございますが、level=50, rank=S+, weapon=3Kスコープという値をセットしています。 Photon ServerのPlugin側では、プロパティが設定されたことを通知するイベントを用います。 プレイヤー名とカスタムプロパティをパラメータとして、外部のサイトにプレイヤー情報をPostします。 それでは具体的なプログラムを見ていきたいと思います
#18:
まず、エントリーポイントなるファクトリクラスを作成します。 今回はPluginFactoryとします。 IPluginFactroyインターフェスを継承し実装します。
#19:
次にPluginBaseを継承し、OnSetPropertiesメソッドを実装していきます。 これはカスタムプロパティをセットしたタイミングに呼ばれます。 ルームに入室すると同時にカスタムプロパティはセットされますので、 ルームに入ったタイミングでカスタムプロパティを取得する際に向いています。 ISetPropertiesCallInfoのinfoパラメータからプレイヤー名とカスタムプロパティを取得します。 今回は外部WebサイトにPostを行うために一度Dictionaryに入れ替えています。
#20:
入れ替えたDictionaryをパラメータとして、指定した外部WebサイトにPostを行っています。 Postは.NETで標準で搭載されているHttpClientのPostのメソッドを使っています。 当然ですが、PhotonではビジネスロジックをC#を使って実装することが可能です。 .NETで利用可能な外部ライブラリや社内の資産があれば、そのまま活用するようなことも可能です。 もしかしたらいらっしゃるかどうか分かりませんが、例えばUnityの開発に.NETで作ったJSON Parserなんかをそのまま持ってくるようなことも可能です。 プログラムの説明は簡単ですが以上とさせて頂きます。 プログラムが完成したらDLLにビルドを行います。 ビルドが完了した前提でここからの作業は実際にデモを行いながら紹介していきたいと思います。
#21:
先ほどのページにあったようなプログラムを書いて、Photon ServerのロジックはDLLとしてビルドします。 このビルドしたDLLは指定のフォルダに配置しておきます。
#22:
今回はdeploy/Pluginsフォルダ直下にTestPluginというフォルダを作ります
#23:
今回はLoadbalancingアプリケーション上にこのプラグインを追加する形にしますので、 Loadbalancing.dll.configにPlugin情報を記載します。
#24:
Configにはプラグイン名(フォルダ名)、作成したDLL、エントリーポイントとなるFactoryクラスを指定します ここで指定する名前は自由に変更することが可能です。
#25:
例えば、コンパイルエラーがあればここにエラーログが表示されます。 正しく起動しない場合はこのログを見てみましょう
#26:
それでは今回のセッションをまとめたいと思います。 GMOアプリクラウドを使うことで、簡単操作でPhoton Serverが環境構築済みのサーバをセットアップすることを理解できたかと思います。 具体的に何ができるかと申し上げますと、自動でPhoton Serverのインストールを行います。 そしてアプリクラウド側とPhoton側、両方のネットワークの設定も全部設定を行います。 次にPhoton ServerのPluginを使ってサーバサイドアプリを作りました。 Pluginを利用することによって、外部サービスとの連携が簡単に作ることが可能となりまいsた。 さらにデモを行った通りではございますが、DLL作成後のデプロイ作業は配置とコンフィグの設定だけ完了です。 よかったらぜひ1度、活用していただけると良いかと思います。
#27:
非常に簡単な内容でしたが、Photon Serverの使い方について理解できたかと思います。 サンプルで紹介したPhoton ServerのサーバサイドアプリケーションのプログラムはGithub上に公開しています。 Photon Serverのアプリケーションを作る際の参考にしていただけると良いかと思います。 また公式サイトのドキュメントにもプログラムの作り方が詳しく記載していますので、合わせてご覧ください。 さて、今回はPhoton ServerのPluginについてざっくりをイメージして頂けたかと思います。 このPlugin開発の詳細について、前述の通りではございますが5/18の勉強会にて解説いたしますので、 ぜひ、次回も足を御運びいただけますと幸いでございます。
#29:
本日は以上となります。ありがとうございました。
Download