SlideShare a Scribd company logo
1 of 82
Download to read offline
iPhoneで
リアルタイムマルチプレイを実現!
~ Photon Network Engine ~
AppBankGames Inc.
ユニークな環境
初期メンバーのほぼ全員が
ゲームを作ったことがない
ゲーム会社!!
オフィスがユニーク!
和室!アーロンチェア!
全員MacBookPro!!
•
•
アジェンダ
小野将司 (Game Creator)
アジェンダ
本日は「Photon Network Engine」をUnityで使用して
リアルタイムマルチプレイを実現させるお話をします
現在稼働中のサービスを実際に作った開発者達が
良かった点・苦労した点などをお話しします
•
•
アジェンダ
Photon Network Engineとは?
Photon Network Engineを採用した理由
サーバーサイドの実装
Unityクライアントサイドの実装
まとめ
1.
2.
3.
4.
5.
Photon Network Engineとは?
1.
小野将司 (Game Creator)
そもそも
「マルチプレイ」って何?
格闘ゲームの通信対戦
モンハンとかぶつ森とか
MMORPG
•
•
•
ソーシャルカードゲーム
3DSのすれちがい通信
チェスなどのターン制ゲーム
•
•
•
リアルタイ
ム
非同期
非同期は比較的カンタン
広くインターネットを支えているHTTPとWeb系技術で
大体の非同期なマルチプレイは作れる
性能要求が低め(1~2秒遅延しても誰も気にしない)
オープンソースの製品が多く費用が抑えられる
•
•
•
リアルタイムは難しい
TCP / UDPを生で扱ったり、NAT Holepunchingしたり、
自前で効率的な通信プロトコルを作らなければならない
性能要求が極めて高い(1~2秒遅延したらクソゲー)
オープンソースの製品はほぼ皆無、費用がかかる
•
•
•
そんな難しいリアルタイム
マルチプレイをお手軽に
そこでネットワークエンジン
Photon Network Engine
Photon Network Engineの概要
Exit Gamesが開発した
高速でスケーラブルなネットワークエンジン
Photon Server is the fastest and easiest to use on-premise
Network Engine to build scalable MMOGs, FPS or any other
multiplayer game and application for PC, Mac, Browser,
Mobile, Console and Cross-Platform. (公式Webより)
要するにすごいらしい
•
•
•
.NET CLR (C#)
Photon Network Engineの概要
Photon Core (C/C++)
Reliable UDP Websockets Binary TCP
Server
Application
Server
Application
Server
Application
サーバー クライアント
Photon SDK
(for each platforms)
Client
Application
サーバー
Windows Server向け製品として提供
通信はReliable UDPとTCPを使用
高速で安定(らしい)
•
•
クライアント
主要なプラットフォーム向けにSDKが提供されている
もちろんUnityもサポート
•
•
採用実績
2013年4月現在ではiOS/Android向けの実績も続々登
場!
•
Photon Network Engineを
採用した理由
2.
小野将司 (Game Creator)
と、その前に
ダンゴル
2012/12/3 リリース
ファンタジー本格ゴルフ!
無料!
ダンゴル
2012/12/3 リリース
ファンタジー本格ゴルフ!
無料!
ダンゴル
2012/12/3 リリース
ファンタジー本格ゴルフ!
無料!
マルチプレイ
リアルタイム同期型マルチプレイ
(ゴーストではありません)
つまり自分も相手も同じホールを現在プレイ
している
3G回線でもマルチプレイ可能
オフライン時はシームレスに
ソロプレイに移行する
•
•
•
•
そんな夢みたいな
ゲームを作りたい
が、しかし・・・
ネットワークゲームの作成経験者がほぼゼロ
予算も期間も限られている
スマートフォンでリアルタイムマルチプレイという未
知
•
•
•
これらの困難に
どう立ち向かうか
リアルタイムマルチプレイの
実現手法を考える
UnityのNetworkクラスを使用する
既存のネットワークゲーム用エンジンをプラグインで
自前でSystem.Net.Socketを使って実装する
A.
B.
C.
UnityのNetworkクラスを使用する
既存のネットワークゲーム用エンジンをプラグインで
自前でSystem.Net.Socketを使って実装する
A.
B.
C.
リアルタイムマルチプレイの
実現手法を考える
UnityのNetworkクラス
便利なAPIが っている (Synchronization, RPC call, etc...)
ネットワークゲームの経験がなくても組めそう
実験してみたところiPhone実機でも問題なく動作!
一見これでよさそうに見えるのだが・・・
•
•
•
•
うまくいかない
最大の問題点は
クライアントのうち1台がホストにされてしまう
という仕様
要するにDedicated Serverが存在しないため
スマートフォンにホストをやらせなければならない
•
•
何がまずいか
ダンゴルのようなスマートフォンでリリースされてい
るゲームの場合、ユーザーさんが3G回線で遊んでいる
ケースも考慮しなければならない
SBMの3G上りは実測最高10KB/s程度 = 1KB/Frame
(10FPS)
しかもブツブツ切れる
とてもじゃないがホストにはなれない
•
•
どうする?
3G回線でもマルチプレイをするために、
Dedicated Serverが絶対に欲しい
でもUnityのNetworkクラスの利便性は捨てがたい
(特にネットワークゲームの経験のないチームには)
•
•
調べてみる
ありました
Photon 採用の決め手
Dedicated Serverが立てられる (Windowsだけど)
UnityのNetworkクラスとAPIがほぼ一致している
小規模デベロッパーでも手が出るほど安い ($3,500)
という選択肢がPhoton以外にUnity界隈に無い
文句なしに素敵(・・・に見える)
•
•
•
•
実績も一応あるようだ
実績も一応あるようだ
これはもう
使わない手がない!
ということで、ここからは実際の開発者の話
サーバーサイドの実装
3.
江口達郎 (Game Creator)
Photonサーバー概要
クラウドサービス
申し込めば即利用可能
サーバーSDKを提供
自分でサーバーを用意す
る必要がある
Photonサーバー概要
サーバー実装を
修正できない
SDKのソースが公開され
ているので、独自の実装
を追加することが出来る
Photonサーバー概要
月額課金
同時接続1000人で$69/月
買い切り
無制限接続で$3,500
Photonサーバー概要
サーバーを用意したくない、
手軽に始めたい
デベロッパーにオススメ
サーバーに独自の処理を
組み込みたい、
同時接続が多い
デベロッパーにオススメ
Photonサーバー概要
・Windows環境で動作
Windowsサーバーをたてる必要あり
・用意されているアプリケーションが豊富
LoadBalancer, MMO, Lobby, Chat,
etc...
Photon Server SDKで最初から用意されているサーバーアプ
リ
ロードバランサを実装している
MasterサーバーとGameサーバーをたてる必要がある
•
•
•
LoadBalancing Server
ゲームルームで実際にクライアントと通
信
Masterサーバー:
Gameサーバー:
Gameサーバーの管理、負荷分散、
ゲームルームの管理など
LoadBalancing Server
Masterサーバーは常にGameサーバーを監視しており、
あとから動的にゲームサーバーを組み込むことが出来る
Photon Server
(Master Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
登録
LoadBalancing Server
Masterサーバーは常にGameサーバーを監視しており、
あとから動的にゲームサーバーを組み込むことが出来る
Photon Server
(Master Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
監視・負荷分散
Photon Server
(Master Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
ダンゴル Client
ダンゴル Client
ダンゴルのPhotonサーバー構成
ダンゴルクライアントからはまずはMaster Serverに接続される
マスターサーバーが負荷状況によりどのGame Serverを使うか判断する
Photon Server
(Master Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
ダンゴル Client
ダンゴル Client
ダンゴルのPhotonサーバー構成
Game Serverが決まったら、クライアント同士の通信は
Game Serverを介して行われる
Photon Server
(Master Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
Photon Server
(Game Server)
ダンゴルClient
ダンゴルAPIサーバー
ダンゴルのPhotonサーバー構成
ダンゴルではユーザーマッチング時に外部サーバーと連携する
必要があり、一部SDKに手が入っています
手を入れた箇所
手を入れた箇所
protected override void ExecuteOperation(LitePeer peer, OperationRequest operationRequest,
SendParameters sendParameters) {
switch (operationRequest.OperationCode) {
case (byte)OperationCode.CreateGame:
this.HandleCreateGameOperation(peer, createGameRequest, sendParameters);
System.Net.WebClient wc = new System.Net.WebClient();
...
byte[] resData = wc.UploadValues(url, ps);
...
case (byte)OperationCode.JoinGame:
this.HandleJoinGameOperation(peer, joinGameRequest, sendParameters);
System.Net.WebClient wc = new System.Net.WebClient();
...
byte[] resData = wc.UploadValues(url, ps);
}
}
ゲームルームを作る箇所と参加する箇所
追加
追加
手を入れた箇所
protected override int RemovePeerFromGame(LitePeer peer, LeaveRequest
leaveRequest) {
if (this.IsDisposed) {
// Send room member count to API server.
System.Net.WebClient wc = new System.Net.WebClient();
...
byte[] resData = wc.UploadValues(url, ps);
}
}
ゲームルームから抜ける箇
所
追加
苦労した点(サーバーサイド)
1. 情報が少ない
国内ではほとんど事例がないため、情報源はもっぱら英語
海外でもそこまで情報が多くないので、公式のフォーラムが唯
一の情報源
•
•
GMOクラウドのPhoton情報日本語化に期待!
苦労した点(サーバーサイド)
Photon Cloudを使えば設定は考慮不要
2. Windowsでしか動作しない
サーバーと言えばLinux、ですよね、、?
Linuxでのサーバー運用経験者しかいないため最初の設定に苦労
•
•
Photon Serverは結構イバラの道です。。
まとめ(サーバーサイド)
サーバー持ちたくなかったり、Photon Server SDKを改造す
る必要が無ければ、Photon Cloudはとても良い選択肢
Photon Serverに手を出すと多少苦労することになると思う
今のところトラブル無くサーバーは動き続けています!!
•
•
•
Unityクライアントサイドの
実装
4.
松本一輝 (Game Creator)
1) 入室処理
2) RPCの実装
3) オフラインモードへの移行
4) マルチプレイのテスト
Unityクライアントサイドの
実装
入室処理
ダンゴル Client
(Unity)
Photon Network Engine
Serverクラスタ
ダンゴル
API ServerクラスタLB
ダンゴル
データベース
ダンゴル Client
(Unity)
Photon Network Engine
Serverクラスタ
ダンゴル
API ServerクラスタLB
ダンゴル
データベース
API Server から
部屋名を受け取る
ダンゴル Client
(Unity)
Photon Network Engine
Serverクラスタ
ダンゴル
API ServerクラスタLB
ダンゴル
データベース
指定した部屋名の
部屋に入る / 作る
入室処理
APIサーバに部屋名を要求
Photon サーバに接続
部屋名を指定して Join
Join に失敗したら部屋作成
入室処理完了したら PhotonNetwork.Instantiate でキャラ生
成
1.
2.
3.
4.
5.
入室処理
function Start()
{
PhotonNetwork.ConnectUsingSettings("v1.0");
}
function OnConnectedToPhoton()
{
PhotonNetwork.JoinRoom(roomName);
}
function OnJoinedRoom()
{
InstantiateLocalPlayer();
}
function OnPhotonJoinRoomFailed()
{
PhotonNetwork.CreateRoom(roomName, true, true, 4);
}
入室処理
function InstantiateLocalPlayer()
{
var prefabName : String = “Birdie”; //prefab name in Resource Folder.
var position : Vector3 = Vector3.zero;
var rotation : Quaternion = Quaternion.identity;
PhotonNetwork.Instantiate(prefabName, position, rotation, 0);
}
RPCの実装
Photon のデータ送信方法はふたつ
State Synchronization と RPC(Remote Procedure Calls)
ダンゴルでは RPCのみ使用
※モバイル通信で State Synchronization はちょっとキビシイかも ^^;
RPCの実装
1) Photon.MonoBehaviour を継承したクラスにRPCを実装
2) PhotonView と実装したクラスをキャラのプレハブにアタッチ
3) あとはひたすらテスト
RPCの実装
namespace Photon
{
public class MonoBehaviour : UnityEngine.MonoBehaviour
{
public PhotonView photonView
{
get
{
return PhotonView.Get(this);
}
}
new public PhotonView networkView
{
get
{
return PhotonView.Get(this);
}
}
}
}
RPCの実装
public function OnShot(status : ShotStatus)
{
var json : String = JsonMapper.ToJson(status);
photonView.RPC("RpcPlayerShot", PhotonTargets.Others, json);
}
@RPC
function RpcPlayerShot(json : String)
{
var shotStatus : ShotStatus = JsonMapper.ToObject.<ShotStatus>(json);
var player : PlayerController = GetComponent.<PlayerController>();
player.Shot(shotStatus);
}
RPCの実装
送信側は送信先を指定する(基本はPhotonTargets.Others)
送信側と受信側でパラメータを一致させる
オブジェクトをそのまま送りたいときはJSONを使う
JSON にすることで通信量は増えるが、変更が簡単
JSON パーサはLitJSON を使用
より高速化したい場合は PhotonPeer.RegisterType というのがあるらしいが、ダンゴル
では使ってない
•
•
•
•
•
•
RPCの実装
オフラインモードへの移行
モバイルのマルチプレイではオフラインモードは必須
Photon には標準でオフラインモードが実装されている
ネットワークが切断されると自動的にオフラインモードに移行
PhotonNetwork.offlineMode = true; //Enable offline mode.
オフラインモードへの移行
オフラインモード = シングルプレイモード
マルチプレイのテスト
受信側をシミュレートするためのデバッグの仕組みを作る
マルチプレイのテスト
Demo
open -na /Applications/Unity/Unity.app
Unity をたくさん開く
※Mac のみ。Windows は分かりません ^^;

More Related Content

What's hot

コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話torisoup
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Yoshifumi Kawai
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconDeNA
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
 
Assembly Definition あれやこれ
Assembly Definition あれやこれAssembly Definition あれやこれ
Assembly Definition あれやこれNakanoYosuke1
 
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)Photon運営事務局
 
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたいリアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたいYutoNishine
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeNA
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionYoshifumi Kawai
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例sairoutine
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャHaruto Otake
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...Takayoshi Tanaka
 
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Yoshifumi Kawai
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術dena_study
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!Unity Technologies Japan K.K.
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解したtorisoup
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 

What's hot (20)

コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
Assembly Definition あれやこれ
Assembly Definition あれやこれAssembly Definition あれやこれ
Assembly Definition あれやこれ
 
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
 
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたいリアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
 
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 

Similar to iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine

GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)GMO GlobalSign Holdings K.K.
 
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】GMO GlobalSign Holdings K.K.
 
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現UnityTechnologiesJapan002
 
20191216 AWS re:Invent 2019 Game Sessions Lightning
20191216 AWS re:Invent 2019 Game Sessions Lightning20191216 AWS re:Invent 2019 Game Sessions Lightning
20191216 AWS re:Invent 2019 Game Sessions LightningAmazon Web Services Japan
 
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入Hiroki Tamiya
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議Shinra_Technologies
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Daisuke Masubuchi
 
IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようTakuji Kawata
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOGame Tools & Middleware Forum
 
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-Yuuichi Akagawa
 
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現gree_tech
 
Photon勉強会(クライアントサイド)2015/8/4 発表資料
Photon勉強会(クライアントサイド)2015/8/4 発表資料Photon勉強会(クライアントサイド)2015/8/4 発表資料
Photon勉強会(クライアントサイド)2015/8/4 発表資料GMO GlobalSign Holdings K.K.
 
ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係gipwest
 
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社Game Tools & Middleware Forum
 
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術Satoshi Yamafuji
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったCHY72
 
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...Unity Technologies Japan K.K.
 
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきことアプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきことYutoNishine
 

Similar to iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine (20)

Cedec2013 photon network engine
Cedec2013 photon network engineCedec2013 photon network engine
Cedec2013 photon network engine
 
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
GMOアプリクラウドではじめる Photon Server v4 (2016/4/20 発表資料)
 
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
 
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
20191216 AWS re:Invent 2019 Game Sessions Lightning
20191216 AWS re:Invent 2019 Game Sessions Lightning20191216 AWS re:Invent 2019 Game Sessions Lightning
20191216 AWS re:Invent 2019 Game Sessions Lightning
 
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
 
IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみよう
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-
 
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現
 
Photon勉強会(クライアントサイド)2015/8/4 発表資料
Photon勉強会(クライアントサイド)2015/8/4 発表資料Photon勉強会(クライアントサイド)2015/8/4 発表資料
Photon勉強会(クライアントサイド)2015/8/4 発表資料
 
ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係
 
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社
GTMF 2017:Photonの実用ケーススタディご紹介とPlayCanvas新機能 GMOクラウド株式会社
 
Android gameprogramming
Android gameprogrammingAndroid gameprogramming
Android gameprogramming
 
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作った
 
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
【Unite Tokyo 2018 Training Day】C#JobSystem & ECSでCPUを極限まで使い倒そう ~Entity Compon...
 
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきことアプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
 

More from GMO GlobalSign Holdings K.K.

2018年12月期 第2四半期決算説明会資料
2018年12月期 第2四半期決算説明会資料2018年12月期 第2四半期決算説明会資料
2018年12月期 第2四半期決算説明会資料GMO GlobalSign Holdings K.K.
 
GMOクラウド:2017年通期決算説明会資料
GMOクラウド:2017年通期決算説明会資料GMOクラウド:2017年通期決算説明会資料
GMOクラウド:2017年通期決算説明会資料GMO GlobalSign Holdings K.K.
 
GMOクラウド:2017年12月期 第2四半期決算説明会
GMOクラウド:2017年12月期 第2四半期決算説明会GMOクラウド:2017年12月期 第2四半期決算説明会
GMOクラウド:2017年12月期 第2四半期決算説明会GMO GlobalSign Holdings K.K.
 
クラウド活用で実現するスマートなシステム運用
クラウド活用で実現するスマートなシステム運用クラウド活用で実現するスマートなシステム運用
クラウド活用で実現するスマートなシステム運用GMO GlobalSign Holdings K.K.
 
Windows Server+Photon Server環境でも Fluentd+Elasticsearch+Kibanaを活用して 各種情報を可視化する...
Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...
Windows Server+Photon Server環境でも Fluentd+Elasticsearch+Kibanaを活用して 各種情報を可視化する...GMO GlobalSign Holdings K.K.
 
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"GMO GlobalSign Holdings K.K.
 
PhotonのIPv6対応情報 & Server構築ポイント
PhotonのIPv6対応情報 & Server構築ポイントPhotonのIPv6対応情報 & Server構築ポイント
PhotonのIPv6対応情報 & Server構築ポイントGMO GlobalSign Holdings K.K.
 
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解GMO GlobalSign Holdings K.K.
 
添付ファイル自動暗号化「シンプルメール」紹介資料
添付ファイル自動暗号化「シンプルメール」紹介資料添付ファイル自動暗号化「シンプルメール」紹介資料
添付ファイル自動暗号化「シンプルメール」紹介資料GMO GlobalSign Holdings K.K.
 
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」GMO GlobalSign Holdings K.K.
 
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】GMO GlobalSign Holdings K.K.
 
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】GMO GlobalSign Holdings K.K.
 

More from GMO GlobalSign Holdings K.K. (19)

2019年 第2四半期 決算説明資料
2019年 第2四半期 決算説明資料2019年 第2四半期 決算説明資料
2019年 第2四半期 決算説明資料
 
2018年通期決算説明資料
2018年通期決算説明資料2018年通期決算説明資料
2018年通期決算説明資料
 
2018年12月期 第2四半期決算説明会資料
2018年12月期 第2四半期決算説明会資料2018年12月期 第2四半期決算説明会資料
2018年12月期 第2四半期決算説明会資料
 
GMOクラウド:2017年通期決算説明会資料
GMOクラウド:2017年通期決算説明会資料GMOクラウド:2017年通期決算説明会資料
GMOクラウド:2017年通期決算説明会資料
 
GMOクラウド:2017年12月期 第2四半期決算説明会
GMOクラウド:2017年12月期 第2四半期決算説明会GMOクラウド:2017年12月期 第2四半期決算説明会
GMOクラウド:2017年12月期 第2四半期決算説明会
 
クラウド活用で実現するスマートなシステム運用
クラウド活用で実現するスマートなシステム運用クラウド活用で実現するスマートなシステム運用
クラウド活用で実現するスマートなシステム運用
 
SIerがgmoクラウドを選ぶ理由とは
SIerがgmoクラウドを選ぶ理由とはSIerがgmoクラウドを選ぶ理由とは
SIerがgmoクラウドを選ぶ理由とは
 
Photon Webhooks & IPv6対応の最新情報
Photon Webhooks & IPv6対応の最新情報Photon Webhooks & IPv6対応の最新情報
Photon Webhooks & IPv6対応の最新情報
 
Windows Server+Photon Server環境でも Fluentd+Elasticsearch+Kibanaを活用して 各種情報を可視化する...
Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する...
Windows Server+Photon Server環境でも Fluentd+Elasticsearch+Kibanaを活用して 各種情報を可視化する...
 
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"
デザイナーにも優しいクラウド型ゲームエンジン"PlayCanvas"
 
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころPhotonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
 
PhotonのIPv6対応情報 & Server構築ポイント
PhotonのIPv6対応情報 & Server構築ポイントPhotonのIPv6対応情報 & Server構築ポイント
PhotonのIPv6対応情報 & Server構築ポイント
 
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解
【Photon勉強会】FFGMでも採用!1時間でわかるPlugin開発とEnterprise Cloudの詳解
 
第1回Gmoホスコンlt 160414
第1回Gmoホスコンlt 160414第1回Gmoホスコンlt 160414
第1回Gmoホスコンlt 160414
 
添付ファイル自動暗号化「シンプルメール」紹介資料
添付ファイル自動暗号化「シンプルメール」紹介資料添付ファイル自動暗号化「シンプルメール」紹介資料
添付ファイル自動暗号化「シンプルメール」紹介資料
 
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」
新たなクラウドビジネスを支える「Gmoクラウドパートナー制度」
 
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
Unityで Photonを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編】
 
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
 
Photon Cloud signupマニュアル
Photon Cloud signupマニュアルPhoton Cloud signupマニュアル
Photon Cloud signupマニュアル
 

iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine