SlideShare uma empresa Scribd logo
1 de 66
Microsoft Game Stack. Level Up.
Azure PlayFab
GEO
Daisuke Masubuchi
Microsoft Game Stack. Level Up.
MULTIPLAYER
SERVICES
PLAYERS
ECONOMY ANALYTICS
COMMUNITY
AUTOMATION
MULTIPLAYER LIVEOPS DATA & ANALYTICS
今日の大作ゲームを支えるオンラインサービス
Online services powering today's biggest games
CONTENT
Microsoft Game Stack. Level Up.
プレイヤー同士が一緒に遊べて、クライアントが相互運用でき、
コードベースが統一されると、ゲームはより強固なものになります。
Your game is stronger when your players are together, your clients are interoperable, and your codebase is unified
Game
Platform
Social
Network
Communication Language
Moderation
Accessibility
Microsoft Game Stack. Level Up.
PlayFabの利用例(シングルプレイ)
初期化
ログイン
タイトル
画面
• セーブ
• ロード
• 設定変更
バトル画面
リザルト
画面
• 報酬
• ランキング
ログイン
認証
データの
読書き
データの
読書き
ランク
反映
データの
読書き(統計情報)
Microsoft Game Stack. Level Up.
PlayFabの利用例(マルチプレイ)
初期化
ログイン
タイトル
画面
• セーブ
• ロード
• 設定変更
他のプレ
イヤーを
探す
バトル画面
リザルト
画面
• 報酬
• ランキング
ログイン
認証
データの
読書き
マッチメイ
キング処理
MPS
サーバー
データの
読書き
ランク
反映
マルチプレイ用に、専用サーバー(MPS)や
リレーサーバーなどを利用します
他にも、チャット(VoIP)や翻訳などの機能がありま
す
Microsoft Game Stack. Level Up.
マルチプレイを構成するネットワークの例
クライアントサーバー
(Player兼任)
専用サーバー
(クライアントサーバー)
ピアツーピア、
決定論的 ピアツーピア ロックステップ 専用リレーサーバー
データはパケット転送のみを行う特別
なrelay用のコンピュータを経由した
ネットワーク
クライアントサーバーまたはピアツー
ピアと組み合わせて使用される
NATトラバーサルの目的で個人が構築
する場合もあれば、ゲーム開発会社の
ビジネス上の都合から採用されること
もある
プレイヤー全員が各ターン
で、
・全マシンにコマンドを送
信
・全マシンがコマンドを実
行
を行う。
ゲームロジック(描画を行わないヘッ
ドレスサーバー)を、Linuxや
Windows などを用いた、専用のホス
ティング環境に配置する
Player兼任のクライアントサーバーと
異なり、ゲーム会社がマルチプレイの
ゲーム運営環境を提供している
プレイヤーの一人がホスト役とな
り、クライアントサーバーを構成
する
サーバーが停止したら、全員がロ
グアウトする
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Out Gameにおける PlayFab利用例:エコノミー
•ゲーム内の通貨を定義してアイテムやサービスを購入できるようにする
•デポジットや、1日あたりの充填、などの機能がある
仮想通貨
•アイテムやバンドルなどの販売
•プレイヤーのセグメントに連携したオーバーライド
ショップ
•消費アイテム
•永続化アイテム
アイテム
•プレイヤーごとにアイテムを保持するための仕組み
プレイヤーインベントリー
•リアルマネーで行われた購入金額の合計値
•セグメンテーションに利用できる
プレイヤーの現在価値(VTD)
アイテム管理画面の操作
は Out Game で行う
アイテムの効果の発動や、
消費などは In Game で行
うこともあり、厳密に
In/Outの区別は難しい
Microsoft Game Stack. Level Up.
ハンズオンその1
数人で、既存のPlayFabに接続済みのゲームを遊んでいただきます。
• ログインIDを変えて、数回遊んでみてください。
PlayFab上で、イベント処理がどのように行われるのかを確認してみましょう
• プレイヤーをBANしてみてください。
PlayFab上で、該当プレイヤーを禁止にする
• 情報更新をPlayFab上で行ってみてください。
例:アイテムのストアの情報を変える、プレイヤーのデータを変える
Microsoft Game Stack. Level Up.
サンプルゲーム(片方だけでもOKです)
ゲーム1ー1: Unicorn Battle
アプリ共有フォルダ 01_UnicornBattlewindows-client-exe
Unity で作成された、Demo アプリです。Windows で動作します。起動後、左下の歯車マークを推し、
PlayFab の Title ID 99245 を入力してゲームを開始します。内容は、ユニコーンのキャラクターを選択し、敵
と戦う。商品アイテムを購入する、といったものです。
ゲーム1-2: VANGUARD OUTRIDER
URL https://developer.playfab.com/ja-JP/vanguard-outrider#/
ブラウザ上 で動作する Demo アプリです。
タイトル画面で、12B79 を入力して起動します。
ゲーム内容は、地球を含めた太陽系の惑星に移動し、
敵と戦うというものです。HPがゼロになると死にます。
武器屋、防具屋、でアイテムを購入ができます。
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
PlayFab PlayStream Monitor
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
ハンズオンその1(振り返り)
数人で、既存のPlayFabに接続済みのゲームを遊んでいただきます。
• ログインIDを変えて、数回遊んでみてください。
PlayFab上で、イベント処理がどのように行われるのかを確認してみましょう
• プレイヤーをBANしてみてください。
PlayFab上で、該当プレイヤーを禁止にする
• 情報更新をPlayFab上で行ってみてください。
例:アイテムのストアの情報を変える、プレイヤーのデータを変える
異なるGameを触っていただ
き、Player Dataや、Statistics
もしくは、アイテムの使い方
を見比べてみると、違い・共
通点などがあります
データ設計や、セキュリティ
の参考になると思います
Microsoft Game Stack. Level Up.
ハンズオンその2
マルチプレイゲームと、「MPS=専用サーバー」の管理作業を体感していただきます
• オンラインゲームのエンジンの基礎(座学)
• PlayFabの管理機能(座学)
• GSDKを利用した簡易サーバーアプリの作成と、テスト、UPLOAD
• サーバーの稼働結果の確認(ログ等の確認)
Microsoft Game Stack. Level Up.
マルチプレイのためのAPIと、API利用のツール(SDK)
• Game Server SDK
C++, C#, Java, Unity, Unreal
Start, ReadyForPlayers methods
Logging
Access to configuration settiongs
• Quick Start 概要
Gsdk ラッパー: MpsSamples/README.md at main · PlayFab/MpsSamples (github.com)
Fake Game: Gsdkと会話するゲームサーバー。他のGame Serverに入れ替えてもOK
Microsoft Game Stack. Level Up.
マルチプレイのための 通信エンジン と PlayFabの関係
PlayFabは、サーバーの管理や、マッチメイキング、
リーダーボードなど、エンジン以外の部分を担当し
ている マルチプレイのためのエンジン,
または通信エンジンと呼ばれるものが
ゲームの中の通信部分を担当する
(エンジンは内製する場合もあります)
専用サーバー
(クライアントサーバー)
Microsoft Game Stack. Level Up.
C / C++ で書かれた通信エンジン
• ENet - シンプルで堅牢な信頼性の高いUDPネットワークライブラリ
• GameNetworkingSockets - Valve (Steam) のネットワークトランスポートレイヤー
• GGPO - GGPO=Good Game, Peace Out ネットワークSDK。
• KCP - 高速で信頼性の高いARQプロトコル。
• RakNet - フル機能で成熟した信頼性の高いUDPネットワークエンジン。
• TNL2 - (インタラクティブな)トルクネットワーキングライブラリ2(TRIBESネットワーキングモデル
と類似)
• yojimbo - 専用サーバーを備えたクライアント/サーバーゲーム用の信頼性の高いUDPネットワーク
Microsoft Game Stack. Level Up.
C#で書かれた通信エンジン (1/2)
• Master Server Framework / ベアボーンズマスターサーバー - Unity、プロファイル、ロビー、チャット機能を備
える
• DarkRift 2 - Unity は高性能マルチスレッドマルチプレイヤーネットワーキングソリューション
• FishNet - 信頼性、使いやすさ、効率性、柔軟性を目指す Unity ネットワーキングソリューション
• フォージネットワーキング - Unity にフォーカスしたリアルタイムマルチプレイヤーネットワーキングソリュー
ション
• Lidgren.Network - Reliable UDP networking Library (.NET/Mono/Unity)。
• LiteNetLib - Lite の信頼性の高い UDP ネットワーク ライブラリ (.NET/Mono/Unity)。
• MagicOnion - .NET プラットフォームと Unity 用の統一リアルタイム/API フレームワーク
• Mirror / ミラー - Unity UNET ネットワーキングシステムに似た、コミュニティによる有名な代替品
Microsoft Game Stack. Level Up.
C#で書かれた通信エンジン (2/2)
• Netcode / ネットコード - Unity の公式のゲームオブジェクトワークフロー用高レベルネットコード SDK (今後
Standard化!?)
• NetStack - マルチプレイヤーゲーム用の同時ネットワーキングシステムを作成するための軽量ツールセット
• Networker - TCP および UDP ネットワーク ライブラリ (.NET/Unity)
• Normcore - Unity (クラウド/SaaS) のためのシームレスなマルチプレイヤーゲームネットワーキング
• Photon - ハイブリッドマルチプレイヤーゲームネットワーキングプラットフォーム(クラウド/ SaaS)
• RiptideNetworking - マルチプレイヤーゲーム用の軽量C#ネットワーキングソリューション
• SocketWeaver - Unity エンジン (Cloud/SaaS) 用に設計されたマルチプレイヤークラウドサービス
Microsoft Game Stack. Level Up.
その他の言語で書かれた通信エンジン
• Go
• Nakama - マルチプレイヤーゲーム用のオープンソースバックエンド (Unity/C# SDKとの使用も)。
• GoWorld - ホットスワッピングを備えたスケーラブルな分散サーバーエンジン (Unity Demoあり)
• Java
• SmartFoxServer - 高度な組み込み機能を備えた大規模なマルチプレイヤーゲームサーバー。
• JavaScript
• Action Hero TCP socket, WebSockets , HTTP client のためのNode.js フレームワーク。
• Colyseus - 権威あるマルチプレイヤーゲームサーバーバックエンドフレームワーク。
• Kalm - Node バックエンドとブラウザ用のカスタム輻輳制御を備えたソケットマネージャ
• SocketCluster - スケーラブルなマルチプロセスHTTPとリアルタイム通信フレームワーク
Microsoft Game Stack. Level Up.
補助的な ツール類
ツール
• CapAnalysis - キャプチャされたネットワークトラフィックを分析するためのWebビジュアルツール。
(Ubuntu, Debian)
• clumsy - ネットワーク条件シミュレーションユーティリティ (Windows)
• netem - プロトコルをテストするためのネットワークエミュレーション (Linux)
• mitmproxy - Web デバッグ プロキシ サーバー ( Win / MacOS / Linux )
• ネットワークリンクコンディショナ - ネットワーク環境シミュレーションユーティリティ (macOS,
iOS)
• ネットワークプロトコルアナライザ - 接続を分析、デバッグ、監視するためのツール (Windows)
• ネットワークシミュレータ(ns) - 研究と教育の使用をターゲットとするネットワークシミュレータ
(macOS, Linux)
• Postman - Web API デバッグおよび開発クライアント ( Win / MacOS / Linux )
• websocat - netcat や curl のような WebSocket 用の CLI クライアント ( Win / MacOS / Linux )
• Wireshark / ワイヤーシャーク - ネットワークトラフィックアナライザツール ( Win / MacOS / Linux )
Microsoft Game Stack. Level Up.
MPS Quick Start!
• Game Server SDK
C++, C#, Java, Unity, Unreal
Start, ReadyForPlayers methods
Logging
Access to configuration settiongs
• Quick Start 概要
Gsdk ラッパー: MpsSamples/README.md at main · PlayFab/MpsSamples (github.com)
Fake Game: Gsdkと会話するゲームサーバー。他のGame Serverに入れ替えてもOK
Microsoft Game Stack. Level Up.
Virtual Machine
Fake Game
/hello
/hello
/terminate
HTTP
:80
wrapper
Container Process
Server ID AAAA
Session ID aaaa
Player […, …, …, ]
IP Address=XXX
Port 番号:
TCP/UDP
Server A
Server B Server C
Virtual
Machine
Virtual
Machine
Virtual
Machine
Virtual Machine
設定情報
CPU: XX Core
Region : 東日本
Container Process
Container Process
GSDK
Microsoft Game Stack. Level Up.
Build Statusの変化
1. デプロイ/デプロイ済みリージョン
1. デプロイ -> デプロイ済み: デプロイ内のすべてのリージョンがデプロイ済み状態になりました。
2. デプロイ済み -> デプロイ: ビルド用に 1 つ以上の新しいリージョンが構成されました。新しいリージョンは展開中状態です。
2. 展開 -> 正常でない: 展開中状態だった 1 つ以上のリージョンが、異常な状態になりました。
3. 領域の展開/削除
1. デプロイ済み -> DedeleteingRegion (まれなシナリオ):
デプロイ中だったリージョンの削除が要求されました。
2. DedeleteingRegion -> 展開中 (まれなシナリオ): 削除中
のすべての領域が削除を完了し、展開状態の新しい領域
である新しい領域が追加されました。
4. デプロイ/削除リージョン
1. デプロイ済み -> DedeleteingRegion: 1 つ以上のリージョ
ンの削除が要求されました。
2. 削除リージョン -> デプロイ済み: 削除が要求されたすべ
てのリージョンが削除されました。残りの領域はデプロイ
済み状態です。
Microsoft Game Stack. Level Up.
MpsSamples/wrappingGsdk at main ·
PlayFab/MpsSamples (github.com)
https://github.com/PlayFab/MpsSamples/tree/main/wrappingGsdk
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
• "IPV4Address": "20.63.133.99",
• “game_port” : 30400,
• "Protocol": "TCP"
• "Region": "JapanEast",
Microsoft Game Stack. Level Up.
PlayFab ゲーム サーバーの基本 - PlayFab | Microsoft Docs
Microsoft Game Stack. Level Up.
PlayFab ゲーム サーバーの基本 - PlayFab | Microsoft Docs
Propping / プロップ
• PFがゲームサーバーを作成し、startコマン
ドを実行したときの初期状態
• ゲームサーバーがStart()を呼び出すと初期
化状態に移行する。
Initializing / 初期化
• ゲームサーバーの準備状態
• ゲームサーバーは、Start()を呼び出している、
しかし、まだ、ReadyForPlayers()を呼び出して
いない
Standing by / 待機中
• ゲームサーバーがReadyForPlayers()を呼び、
プレイヤーからのサーバー要求を待ってい
る状態。
• ゲームサービスやクライアントがRequest
MultiplayerServerを呼び出すとActiveに遷移
する
• 不要になったら、Terminate / 終了に移行す
る。( Shutdown()で通知される)
Active / 活動中
-ゲームサーバーがプレイヤーにサービスを提供
している
- ReadyForPlayers()の呼び出しが完了し、ゲー
ムサーバーにプレイヤーの着信とセッション
クッキーはセットされている
Terminating / 終了
• コンテナ プロセスが終了すると、終了に移
行する
• ゲームサーバーのプロセスは終了したが、
PFはまだコンテナをクリーンアップしてい
る途中
アーカイブされたセッション
ゲームサーバーの状態ではないが、サーバー終
了後にPFが作成し、ゲームサーバーのログを保
存し、後で分析できるようにする。
Microsoft Game Stack. Level Up.
MpsAllocatorSample
• ----------------------------------
• 0 to exit the app
• 1 for RequestMultiplayerServer
• 2 for ListBuildSummaries
• 3 for GetBuild
• 4 for ListMultiplayerServers
• 5 for ListVirtualMachineSummaries
• 6 for GetMultiplayerServerDetails
• 7 to see server allocation status
• ----------------------------------
サーバーリクエスト
Player名を複数入力
Build Summery の表示
全体の概況を示す
Buildの情報
New Buildで設定した内
容などを表示します
Server IDと、Session ID
のリスト
各Server のStatusや
Player を表示します
Vmのリストを
表示します
Active, StandingBy, など
サーバーの状態を表示し
ます
Session IDを指定して、サーバーの
詳細を取得します
c2c7b766-8b60-4ed5-b0b5-1ee3a230531e
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
補足説明
Microsoft Game Stack. Level Up.
Unity 向け PlayFab SDK 全体の説明
いくつかのSDKがあります
• 基本のSDK
公式ガイド: Unity 用 PlayFab SDK のインストール
方法1 エディタ拡張機能を経由したSDKの導入方法
エディタ拡張パッケージを導入 → エディタ拡張の管理パネルからSDKを導入
方法2 直接SDKを導入する方法
PlayFab Unity エディター拡張機能を使用せずに、PlayFab Unity 3D SDK を直接導入
コードのプロパティ値を設定して Unity プロジェクトを直接構成します
• マルチプレイヤーサーバーの SDK
gsdk/UnityGsdk at main · PlayFab/gsdk (github.com)
• パーティーを利用するための SDK
PlayFab/PlayFabPartyUnity (github.com)
Microsoft Game Stack. Level Up.
Multiplay wrappingGSDK
• Gitリポジトリ MpsSamples/wrappingGsdk
• 既存のゲームが既にある場合、最小限の労力でマルチプレイヤー サーバー サービスを試すときに使えま
す。GSDKのwrapperが外部ファイルとしてゲームを呼び出します。
• あくまでMPSプラットフォームの評価用です(通信のオーバーヘッドがかかる)
• PlayFab への Deploy 手順 (Azure 上の VM にもDeploy可能です)
1. Wrapper をビルドする
dotnet publish --self-contained -r win-x64 /p:PublishSingleFile=true /p:PublishTrimmed=true
2. Zip ファイルの作成
Set-ExecutionPolicy Unrestricted
Build.ps1
3. PlayFab(ゲームマネージャー)にログインし、 マルチプレイヤーサーバーMPS を展開する
仮想マシンOS: windows process
GameStartCommand: wrapper.exe -g fakegame.exe arg1 arg2
Network Port: Portname: game_port Porttype: TCP
Microsoft Game Stack. Level Up.
サーバーのビルド作成は GUI/CUI どちらでもOK
• ゲームマネージャーを利用したサーバービルドの配置
1.PlayFab.com 上の開発者アカウントにログインします。
2.スタジオ内のタイトルを選択
3.「マルチプレイヤー」 > 「サーバー」 に移動し、 [新しいビルド] を実行
• Power Shellを利用したサーバービルドの配置
事前準備: PlayFab タイトル ID と、タイトルのシークレットキーを取得しておきます
PowerShell/API を使用したビルド
Microsoft Game Stack. Level Up.
CSharpRunner
• Gitリポジトリ MpsSamples/WindowsRunnerCSharp
• 公式ドキュメント Windows Runner サンプル - PlayFab | Microsoft Docs
• マルチプレイヤーゲームサーバーのGSDKと統合された、サーバーサイドと、クライアント側の両方のサンプルです。
• シンプルなBytecodeサンプルで、すぐに実行することができます。
• 大まかな手順
1. タイトルの設定で、「Allow client to start games」にチェックを入れる
2. サーバー、クライアント、それぞれを Visual Studio にてビルドし、サーバービルドのフォルダで、Zipファイルを作成する
1. 最新の PlayFab ゲーム サーバー SDK (GSDK) NuGet パッケージなどの依存関係のダウンロードが自動的にトリガーされます。
2. リリース x64 構成で WindowsRunnerCSharp.csproj をコンパイルしてビルドします。
3. bin フォルダーに移動し、すべての x64 リリース バイナリを ZIP 圧縮します
3. ZIPファイルを PlayFab にUploadします (ゲームマネージャーの、マルチプレイヤーサーバーの画面から操作する)
dotnet publish --self-contained -r win-x64 /p:PublishSingleFile=true /p:PublishTrimmed=true
4. Zip ファイルの作成
Set-ExecutionPolicy Unrestricted
Build.ps1
5. PlayFab(ゲームマネージャー)にログインし、 マルチプレイヤーサーバーMPS を展開する
6. クライアントから接続
cd C:UsersUserNameDocumentsGitHubMpsSamplesWindowsRunnerCSharpWindowsRunnerCSharpClientbinReleasenetcoreapp3.1
dotnet WindowsRunnerCSharpClient.dll --titleId CBE66 --buildId 36083326-3bd5-4b8f-a97d-7e82f066aa40 --verbose
Microsoft Game Stack. Level Up.
Entities & Groups Statistics Matchmaking Party Servers
Multiplayer services
#1
#2
• Matchmaking in public preview
• All other services generally available
• All services used today by some of the world's biggest games and apps
データベースとして利用する
PlayFabは大きく分けて3つのデータを保管してます
プレイヤー全体で共有する
ルールブック、ゲームシナリ
オ、敵のパラメーター、など
タイトルデータ エコノミーカタログ プレイヤー
エコノミー活動に使うデータ
• Item
• Store
• 仮想通貨
プレイヤーごとのデータ
• Player Data (Title)
• Statistics
• Inventory
• Item
Inventory
データをもとに LiveOps を実践する
LiveOps
Game Client
タイトルデータ
エコノミーカタログ
プレイヤー
分析・自動化
統計
(statistics)
Microsoft Game Stack. Level Up.
PlayFab’s identity system is generic
Link PlayFab players to Xbox Live, Steam, PlayStation, Nintendo, Open ID...
PlayFabのIDシステムは汎用的
PlayFabプレイヤーをXbox Live、Steam、PlayStation、Nintendo、Open IDとリンクさせる...
Build your own cross-title social network
Player data is stored as a hierarchy of entities
タイトルを超えた独自のソーシャルネットワークを構築
プレイヤーデータはエンティティの階層構造として保存さ
れる
すべてのエンティティは、任意のオブジェク
トとファイルデータのための一貫したAPIを
持っています。
All entities have consistent APIs for arbitrary object and file
data
PlayFab Entities
Master
Player
Title
Player
Character
Microsoft Game Stack. Level Up.
• パーティーは、暗号化された低レイテンシ
のネットワークでプレイヤーデバイスを接
続します
• ネットワークエンドポイントを使用して、
プレイヤー間でゲームデータを交換できま
す
• チャットエンドポイントは、ゲーム内のボ
イスチャットとテキストチャットに使用で
きます
• 文字起こし、音声合成、翻訳が組み込まれ
ています(Azure Cognitive Serviceと統合さ
れています)
PlayFab Party
Microsoft Game Stack. Level Up.
Simple scale
• PlayFab の安全なトランスポートおよびリレーサービ
スでネットワーク攻撃からプレイヤーを保護します
• 限られた管理で動的に拡張可能です
• 相互運用可能なクロスプラットフォーム C++ SDK で
全員を接続します
Party Servers
Microsoft Game Stack. Level Up.
Send Option Result
Sequential & guaranteed
Sequential & best-effort
Non-sequential &
guaranteed
Non-sequential & best-
effort
Flexible
datagram
behaviors
1 2 3
1 3
1 3 2
3 1
Microsoft Game Stack. Level Up.
完全に準拠したマッチメイキングおよびコミュニ
ケーション機能を備えたマルチプレイヤーゲーム
を構築する
Xbox Network Integration Policies
Xboxエコシステムの開発者は、
追加費用なしで強力なマルチプレイヤーを実現で
きます
どこでプレイしても人々をつなぐ魅力的な
マルチプレイヤーゲームを構築できます
PlayFab Matchmaking & Party
are free for Xbox Live activity
Microsoft Game Stack. Level Up.
Multiplayer Servers
Microsoft Game Stack. Level Up.
Multiplayer servers that scale with player demand
• PlayFab マルチプレイヤーサーバーは、カスタム
ゲームサーバーのオーケストレーターです。
• Azure を使用して動的かつ効率的にスケーリング
されたマルチプレイヤー サーバーを作成
• 最大10,000,000台の同時ゲームサーバーまで拡張
• 動的な待機プールで需要バーストを自動的に処理
Microsoft Game Stack. Level Up.
• ゲームサーバーは、Windows環境とLinux環境の両方でホストできます
• サーバはコンテナ化されており、一貫した運用環境を実現
• 15 以上の Azure リージョン
• プレイヤーのための低待機時間と高い信頼性
Globally deploy Windows or Linux Servers
Microsoft Game Stack. Level Up.
PlayFab マッチメイキング
+
外部ホスティングシステム
PlayFab マルチプレイヤーサーバー
+
独自の音声システムを持ち込む
独自のロビーやマッチメイキング
+
マルチプレイヤーサーバーと統合する
Microsoft Game Stack. Level Up.
#01 Unicorn Battle のゲームの説明
• PlayFab のオープンソースのエンドツーエンドのデモプロジェクト、Unicorn Battle (UB)
• UB は、PlayFab のためのサンプルゲームで、Unity で作成されています
主な機能
•アカウントはデバイスIDおよび/またはFacebook認証を使用します
•アカウントごとにデータを保存
•プレイヤーとそのキャラクターの間でアイテムと通貨を通信します
•動的なゲーム運営をします(TitleData、仮想アイテム、通貨、ストア)
•Facebookの友達をインポートするか、自分の友達を追加する
•統計のトラッキング - アチーブメントとリアルタイムのリーダーボード
•プッシュ通知 - リエンゲージメントキャンペーンや特別オファー用
•AndroidまたはiOSの領収書検証
•CDNでホストされるアセットバンドル
•クラウドでホストされるカスタムロジック
Microsoft Game Stack. Level Up.
#01 Unicorn Battle
セットアップ
1. サーバーサイド
1. PlayFabにてゲームタイトルの作成
2. タイトルIDとKeyを取得
3. Data Uploader
1. “UB_Uploader/PlayFabData/TitleSettings.json" ファイルを編
集
2. Data Upload
4. ゲームマネージャーの[設定]、[API機能]に移動し、設定変更
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
Microsoft Game Stack. Level Up.
リソース

Mais conteúdo relacionado

Mais procurados

オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unity Technologies Japan K.K.
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnity Technologies Japan K.K.
 
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
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計UnityTechnologiesJapan002
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!YutoNishine
 
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件Grenge, Inc.
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!Unity Technologies Japan K.K.
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~torisoup
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~UnityTechnologiesJapan002
 
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)Photon運営事務局
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話torisoup
 
一般的なチートの手法と対策について
一般的なチートの手法と対策について一般的なチートの手法と対策について
一般的なチートの手法と対策について優介 黒河
 
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたリアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたYutoNishine
 
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfアニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfinfinite_loop
 
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
 

Mais procurados (20)

多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
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
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
 
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
一般的なチートの手法と対策について
一般的なチートの手法と対策について一般的なチートの手法と対策について
一般的なチートの手法と対策について
 
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころPhotonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
 
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみたリアルタイムコマンドバトルのゲームで PlayFab を使ってみた
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
 
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfアニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdf
 
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
 

Semelhante a Azure PlayFab トレーニング資料

剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術Satoshi Yamafuji
 
【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?
【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?
【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?Unity Technologies Japan K.K.
 
Cld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプCld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプTech Summit 2016
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議Shinra_Technologies
 
20190525 event slide
20190525 event slide20190525 event slide
20190525 event slideHiroko Umetsu
 
"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft Azure
"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft Azure"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft Azure
"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft AzureDaisuke Masubuchi
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developer Camp 2012 Japan Fall
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2specialKatsuhito Katoh
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Takamasa Maejima
 
Gamebryo LightSpeed(Japanese)
Gamebryo LightSpeed(Japanese)Gamebryo LightSpeed(Japanese)
Gamebryo LightSpeed(Japanese)Gamebryo
 
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Hiroshi Matsumoto
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services Japan
 
DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)denatech2016
 
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...Takamasa Maejima
 
Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界Akira Hatsune
 
Microsoft DaRT って何だろう
Microsoft DaRT って何だろうMicrosoft DaRT って何だろう
Microsoft DaRT って何だろうYutaro Tamai
 
インフラ野郎AzureチームProX
インフラ野郎AzureチームProXインフラ野郎AzureチームProX
インフラ野郎AzureチームProXToru Makabe
 
全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update
全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update
全部見せ。マイクロソフトのゲーム開発テクノロジー最新UpdateDaisuke Masubuchi
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャHaruto Otake
 
The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -kirin_gumi
 

Semelhante a Azure PlayFab トレーニング資料 (20)

剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
 
【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?
【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?
【Unity道場 4月 ~アーティストの為のPBR再入門~】Unity Connected Gamesってなに?
 
Cld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプCld002 windows server_2016_で作るシンプ
Cld002 windows server_2016_で作るシンプ
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
 
20190525 event slide
20190525 event slide20190525 event slide
20190525 event slide
 
"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft Azure
"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft Azure"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft Azure
"No Man’s Sky" から"Forza Horizon 5" まで。 国内外の成功タイトルが使う Microsoft Azure
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
 
Gamebryo LightSpeed(Japanese)
Gamebryo LightSpeed(Japanese)Gamebryo LightSpeed(Japanese)
Gamebryo LightSpeed(Japanese)
 
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
 
DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)DeNAのゲーム開発を支える技術 (クライアントサイド編)
DeNAのゲーム開発を支える技術 (クライアントサイド編)
 
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
お待たせしました! 真の VDI on Azure がついに実現します!~ Citrix と Microsoft のタッグがもたらす次世代型クラウド・デス...
 
Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界Windows Phoneで始める拡張現実の世界
Windows Phoneで始める拡張現実の世界
 
Microsoft DaRT って何だろう
Microsoft DaRT って何だろうMicrosoft DaRT って何だろう
Microsoft DaRT って何だろう
 
インフラ野郎AzureチームProX
インフラ野郎AzureチームProXインフラ野郎AzureチームProX
インフラ野郎AzureチームProX
 
全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update
全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update
全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
 
The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -
 

Mais de Daisuke Masubuchi

ChatGPTの ビジネス活用とセキュリティ
ChatGPTのビジネス活用とセキュリティChatGPTのビジネス活用とセキュリティ
ChatGPTの ビジネス活用とセキュリティDaisuke Masubuchi
 
AI に取り組むべき4つの領域
AI に取り組むべき4つの領域AI に取り組むべき4つの領域
AI に取り組むべき4つの領域Daisuke Masubuchi
 
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようDaisuke Masubuchi
 
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPreview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようDaisuke Masubuchi
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020Daisuke Masubuchi
 
Azure インフラの信頼性とガバナンス
Azure インフラの信頼性とガバナンスAzure インフラの信頼性とガバナンス
Azure インフラの信頼性とガバナンスDaisuke Masubuchi
 
Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...
Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...
Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...Daisuke Masubuchi
 
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~Daisuke Masubuchi
 
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~Daisuke Masubuchi
 
PlayFabの2020 3月 最新情報
PlayFabの2020 3月 最新情報PlayFabの2020 3月 最新情報
PlayFabの2020 3月 最新情報Daisuke Masubuchi
 
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築Daisuke Masubuchi
 
韓国オンラインゲームから学ぶアドホックなビックデータ分析
韓国オンラインゲームから学ぶアドホックなビックデータ分析韓国オンラインゲームから学ぶアドホックなビックデータ分析
韓国オンラインゲームから学ぶアドホックなビックデータ分析Daisuke Masubuchi
 
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)Daisuke Masubuchi
 
これからのIT人材のためのワーク・シフト
これからのIT人材のためのワーク・シフトこれからのIT人材のためのワーク・シフト
これからのIT人材のためのワーク・シフトDaisuke Masubuchi
 
【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!
【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!
【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!Daisuke Masubuchi
 
GDC2019報告会 発表資料(Microsoft 増渕)
GDC2019報告会 発表資料(Microsoft 増渕)GDC2019報告会 発表資料(Microsoft 増渕)
GDC2019報告会 発表資料(Microsoft 増渕)Daisuke Masubuchi
 
モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?Daisuke Masubuchi
 
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャーDaisuke Masubuchi
 
ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2
ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2
ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2Daisuke Masubuchi
 

Mais de Daisuke Masubuchi (20)

ChatGPTの ビジネス活用とセキュリティ
ChatGPTのビジネス活用とセキュリティChatGPTのビジネス活用とセキュリティ
ChatGPTの ビジネス活用とセキュリティ
 
AI に取り組むべき4つの領域
AI に取り組むべき4つの領域AI に取り組むべき4つの領域
AI に取り組むべき4つの領域
 
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPreview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
Preview: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
 
Azure インフラの信頼性とガバナンス
Azure インフラの信頼性とガバナンスAzure インフラの信頼性とガバナンス
Azure インフラの信頼性とガバナンス
 
Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...
Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...
Microsoft for Startups 「起業家をメジャーな職業にする!」 起業・新規事業に少し役立つ MR, Communication のお話を...
 
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
 
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
 
PlayFabの2020 3月 最新情報
PlayFabの2020 3月 最新情報PlayFabの2020 3月 最新情報
PlayFabの2020 3月 最新情報
 
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
 
Azure Data Explorer
Azure Data ExplorerAzure Data Explorer
Azure Data Explorer
 
韓国オンラインゲームから学ぶアドホックなビックデータ分析
韓国オンラインゲームから学ぶアドホックなビックデータ分析韓国オンラインゲームから学ぶアドホックなビックデータ分析
韓国オンラインゲームから学ぶアドホックなビックデータ分析
 
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)
 
これからのIT人材のためのワーク・シフト
これからのIT人材のためのワーク・シフトこれからのIT人材のためのワーク・シフト
これからのIT人材のためのワーク・シフト
 
【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!
【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!
【de:code19】最高のゲームをつくろう! マイクロソフト Game Stack でゲーム開発をしよう!
 
GDC2019報告会 発表資料(Microsoft 増渕)
GDC2019報告会 発表資料(Microsoft 増渕)GDC2019報告会 発表資料(Microsoft 増渕)
GDC2019報告会 発表資料(Microsoft 増渕)
 
モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
 
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
 
ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2
ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2
ゲーム、エンターテインメント向けのMicrosoft Azure最新情報 Part2
 

Último

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (7)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Azure PlayFab トレーニング資料

  • 1. Microsoft Game Stack. Level Up. Azure PlayFab GEO Daisuke Masubuchi
  • 2. Microsoft Game Stack. Level Up. MULTIPLAYER SERVICES PLAYERS ECONOMY ANALYTICS COMMUNITY AUTOMATION MULTIPLAYER LIVEOPS DATA & ANALYTICS 今日の大作ゲームを支えるオンラインサービス Online services powering today's biggest games CONTENT
  • 3. Microsoft Game Stack. Level Up. プレイヤー同士が一緒に遊べて、クライアントが相互運用でき、 コードベースが統一されると、ゲームはより強固なものになります。 Your game is stronger when your players are together, your clients are interoperable, and your codebase is unified Game Platform Social Network Communication Language Moderation Accessibility
  • 4. Microsoft Game Stack. Level Up. PlayFabの利用例(シングルプレイ) 初期化 ログイン タイトル 画面 • セーブ • ロード • 設定変更 バトル画面 リザルト 画面 • 報酬 • ランキング ログイン 認証 データの 読書き データの 読書き ランク 反映 データの 読書き(統計情報)
  • 5. Microsoft Game Stack. Level Up. PlayFabの利用例(マルチプレイ) 初期化 ログイン タイトル 画面 • セーブ • ロード • 設定変更 他のプレ イヤーを 探す バトル画面 リザルト 画面 • 報酬 • ランキング ログイン 認証 データの 読書き マッチメイ キング処理 MPS サーバー データの 読書き ランク 反映 マルチプレイ用に、専用サーバー(MPS)や リレーサーバーなどを利用します 他にも、チャット(VoIP)や翻訳などの機能がありま す
  • 6. Microsoft Game Stack. Level Up. マルチプレイを構成するネットワークの例 クライアントサーバー (Player兼任) 専用サーバー (クライアントサーバー) ピアツーピア、 決定論的 ピアツーピア ロックステップ 専用リレーサーバー データはパケット転送のみを行う特別 なrelay用のコンピュータを経由した ネットワーク クライアントサーバーまたはピアツー ピアと組み合わせて使用される NATトラバーサルの目的で個人が構築 する場合もあれば、ゲーム開発会社の ビジネス上の都合から採用されること もある プレイヤー全員が各ターン で、 ・全マシンにコマンドを送 信 ・全マシンがコマンドを実 行 を行う。 ゲームロジック(描画を行わないヘッ ドレスサーバー)を、Linuxや Windows などを用いた、専用のホス ティング環境に配置する Player兼任のクライアントサーバーと 異なり、ゲーム会社がマルチプレイの ゲーム運営環境を提供している プレイヤーの一人がホスト役とな り、クライアントサーバーを構成 する サーバーが停止したら、全員がロ グアウトする
  • 8. Microsoft Game Stack. Level Up. Out Gameにおける PlayFab利用例:エコノミー •ゲーム内の通貨を定義してアイテムやサービスを購入できるようにする •デポジットや、1日あたりの充填、などの機能がある 仮想通貨 •アイテムやバンドルなどの販売 •プレイヤーのセグメントに連携したオーバーライド ショップ •消費アイテム •永続化アイテム アイテム •プレイヤーごとにアイテムを保持するための仕組み プレイヤーインベントリー •リアルマネーで行われた購入金額の合計値 •セグメンテーションに利用できる プレイヤーの現在価値(VTD) アイテム管理画面の操作 は Out Game で行う アイテムの効果の発動や、 消費などは In Game で行 うこともあり、厳密に In/Outの区別は難しい
  • 9. Microsoft Game Stack. Level Up. ハンズオンその1 数人で、既存のPlayFabに接続済みのゲームを遊んでいただきます。 • ログインIDを変えて、数回遊んでみてください。 PlayFab上で、イベント処理がどのように行われるのかを確認してみましょう • プレイヤーをBANしてみてください。 PlayFab上で、該当プレイヤーを禁止にする • 情報更新をPlayFab上で行ってみてください。 例:アイテムのストアの情報を変える、プレイヤーのデータを変える
  • 10. Microsoft Game Stack. Level Up. サンプルゲーム(片方だけでもOKです) ゲーム1ー1: Unicorn Battle アプリ共有フォルダ 01_UnicornBattlewindows-client-exe Unity で作成された、Demo アプリです。Windows で動作します。起動後、左下の歯車マークを推し、 PlayFab の Title ID 99245 を入力してゲームを開始します。内容は、ユニコーンのキャラクターを選択し、敵 と戦う。商品アイテムを購入する、といったものです。 ゲーム1-2: VANGUARD OUTRIDER URL https://developer.playfab.com/ja-JP/vanguard-outrider#/ ブラウザ上 で動作する Demo アプリです。 タイトル画面で、12B79 を入力して起動します。 ゲーム内容は、地球を含めた太陽系の惑星に移動し、 敵と戦うというものです。HPがゼロになると死にます。 武器屋、防具屋、でアイテムを購入ができます。
  • 12. Microsoft Game Stack. Level Up. PlayFab PlayStream Monitor
  • 15. Microsoft Game Stack. Level Up. ハンズオンその1(振り返り) 数人で、既存のPlayFabに接続済みのゲームを遊んでいただきます。 • ログインIDを変えて、数回遊んでみてください。 PlayFab上で、イベント処理がどのように行われるのかを確認してみましょう • プレイヤーをBANしてみてください。 PlayFab上で、該当プレイヤーを禁止にする • 情報更新をPlayFab上で行ってみてください。 例:アイテムのストアの情報を変える、プレイヤーのデータを変える 異なるGameを触っていただ き、Player Dataや、Statistics もしくは、アイテムの使い方 を見比べてみると、違い・共 通点などがあります データ設計や、セキュリティ の参考になると思います
  • 16. Microsoft Game Stack. Level Up. ハンズオンその2 マルチプレイゲームと、「MPS=専用サーバー」の管理作業を体感していただきます • オンラインゲームのエンジンの基礎(座学) • PlayFabの管理機能(座学) • GSDKを利用した簡易サーバーアプリの作成と、テスト、UPLOAD • サーバーの稼働結果の確認(ログ等の確認)
  • 17. Microsoft Game Stack. Level Up. マルチプレイのためのAPIと、API利用のツール(SDK) • Game Server SDK C++, C#, Java, Unity, Unreal Start, ReadyForPlayers methods Logging Access to configuration settiongs • Quick Start 概要 Gsdk ラッパー: MpsSamples/README.md at main · PlayFab/MpsSamples (github.com) Fake Game: Gsdkと会話するゲームサーバー。他のGame Serverに入れ替えてもOK
  • 18. Microsoft Game Stack. Level Up. マルチプレイのための 通信エンジン と PlayFabの関係 PlayFabは、サーバーの管理や、マッチメイキング、 リーダーボードなど、エンジン以外の部分を担当し ている マルチプレイのためのエンジン, または通信エンジンと呼ばれるものが ゲームの中の通信部分を担当する (エンジンは内製する場合もあります) 専用サーバー (クライアントサーバー)
  • 19. Microsoft Game Stack. Level Up. C / C++ で書かれた通信エンジン • ENet - シンプルで堅牢な信頼性の高いUDPネットワークライブラリ • GameNetworkingSockets - Valve (Steam) のネットワークトランスポートレイヤー • GGPO - GGPO=Good Game, Peace Out ネットワークSDK。 • KCP - 高速で信頼性の高いARQプロトコル。 • RakNet - フル機能で成熟した信頼性の高いUDPネットワークエンジン。 • TNL2 - (インタラクティブな)トルクネットワーキングライブラリ2(TRIBESネットワーキングモデル と類似) • yojimbo - 専用サーバーを備えたクライアント/サーバーゲーム用の信頼性の高いUDPネットワーク
  • 20. Microsoft Game Stack. Level Up. C#で書かれた通信エンジン (1/2) • Master Server Framework / ベアボーンズマスターサーバー - Unity、プロファイル、ロビー、チャット機能を備 える • DarkRift 2 - Unity は高性能マルチスレッドマルチプレイヤーネットワーキングソリューション • FishNet - 信頼性、使いやすさ、効率性、柔軟性を目指す Unity ネットワーキングソリューション • フォージネットワーキング - Unity にフォーカスしたリアルタイムマルチプレイヤーネットワーキングソリュー ション • Lidgren.Network - Reliable UDP networking Library (.NET/Mono/Unity)。 • LiteNetLib - Lite の信頼性の高い UDP ネットワーク ライブラリ (.NET/Mono/Unity)。 • MagicOnion - .NET プラットフォームと Unity 用の統一リアルタイム/API フレームワーク • Mirror / ミラー - Unity UNET ネットワーキングシステムに似た、コミュニティによる有名な代替品
  • 21. Microsoft Game Stack. Level Up. C#で書かれた通信エンジン (2/2) • Netcode / ネットコード - Unity の公式のゲームオブジェクトワークフロー用高レベルネットコード SDK (今後 Standard化!?) • NetStack - マルチプレイヤーゲーム用の同時ネットワーキングシステムを作成するための軽量ツールセット • Networker - TCP および UDP ネットワーク ライブラリ (.NET/Unity) • Normcore - Unity (クラウド/SaaS) のためのシームレスなマルチプレイヤーゲームネットワーキング • Photon - ハイブリッドマルチプレイヤーゲームネットワーキングプラットフォーム(クラウド/ SaaS) • RiptideNetworking - マルチプレイヤーゲーム用の軽量C#ネットワーキングソリューション • SocketWeaver - Unity エンジン (Cloud/SaaS) 用に設計されたマルチプレイヤークラウドサービス
  • 22. Microsoft Game Stack. Level Up. その他の言語で書かれた通信エンジン • Go • Nakama - マルチプレイヤーゲーム用のオープンソースバックエンド (Unity/C# SDKとの使用も)。 • GoWorld - ホットスワッピングを備えたスケーラブルな分散サーバーエンジン (Unity Demoあり) • Java • SmartFoxServer - 高度な組み込み機能を備えた大規模なマルチプレイヤーゲームサーバー。 • JavaScript • Action Hero TCP socket, WebSockets , HTTP client のためのNode.js フレームワーク。 • Colyseus - 権威あるマルチプレイヤーゲームサーバーバックエンドフレームワーク。 • Kalm - Node バックエンドとブラウザ用のカスタム輻輳制御を備えたソケットマネージャ • SocketCluster - スケーラブルなマルチプロセスHTTPとリアルタイム通信フレームワーク
  • 23. Microsoft Game Stack. Level Up. 補助的な ツール類 ツール • CapAnalysis - キャプチャされたネットワークトラフィックを分析するためのWebビジュアルツール。 (Ubuntu, Debian) • clumsy - ネットワーク条件シミュレーションユーティリティ (Windows) • netem - プロトコルをテストするためのネットワークエミュレーション (Linux) • mitmproxy - Web デバッグ プロキシ サーバー ( Win / MacOS / Linux ) • ネットワークリンクコンディショナ - ネットワーク環境シミュレーションユーティリティ (macOS, iOS) • ネットワークプロトコルアナライザ - 接続を分析、デバッグ、監視するためのツール (Windows) • ネットワークシミュレータ(ns) - 研究と教育の使用をターゲットとするネットワークシミュレータ (macOS, Linux) • Postman - Web API デバッグおよび開発クライアント ( Win / MacOS / Linux ) • websocat - netcat や curl のような WebSocket 用の CLI クライアント ( Win / MacOS / Linux ) • Wireshark / ワイヤーシャーク - ネットワークトラフィックアナライザツール ( Win / MacOS / Linux )
  • 24. Microsoft Game Stack. Level Up. MPS Quick Start! • Game Server SDK C++, C#, Java, Unity, Unreal Start, ReadyForPlayers methods Logging Access to configuration settiongs • Quick Start 概要 Gsdk ラッパー: MpsSamples/README.md at main · PlayFab/MpsSamples (github.com) Fake Game: Gsdkと会話するゲームサーバー。他のGame Serverに入れ替えてもOK
  • 25. Microsoft Game Stack. Level Up. Virtual Machine Fake Game /hello /hello /terminate HTTP :80 wrapper Container Process Server ID AAAA Session ID aaaa Player […, …, …, ] IP Address=XXX Port 番号: TCP/UDP Server A Server B Server C Virtual Machine Virtual Machine Virtual Machine Virtual Machine 設定情報 CPU: XX Core Region : 東日本 Container Process Container Process GSDK
  • 26. Microsoft Game Stack. Level Up. Build Statusの変化 1. デプロイ/デプロイ済みリージョン 1. デプロイ -> デプロイ済み: デプロイ内のすべてのリージョンがデプロイ済み状態になりました。 2. デプロイ済み -> デプロイ: ビルド用に 1 つ以上の新しいリージョンが構成されました。新しいリージョンは展開中状態です。 2. 展開 -> 正常でない: 展開中状態だった 1 つ以上のリージョンが、異常な状態になりました。 3. 領域の展開/削除 1. デプロイ済み -> DedeleteingRegion (まれなシナリオ): デプロイ中だったリージョンの削除が要求されました。 2. DedeleteingRegion -> 展開中 (まれなシナリオ): 削除中 のすべての領域が削除を完了し、展開状態の新しい領域 である新しい領域が追加されました。 4. デプロイ/削除リージョン 1. デプロイ済み -> DedeleteingRegion: 1 つ以上のリージョ ンの削除が要求されました。 2. 削除リージョン -> デプロイ済み: 削除が要求されたすべ てのリージョンが削除されました。残りの領域はデプロイ 済み状態です。
  • 27. Microsoft Game Stack. Level Up. MpsSamples/wrappingGsdk at main · PlayFab/MpsSamples (github.com) https://github.com/PlayFab/MpsSamples/tree/main/wrappingGsdk
  • 33. Microsoft Game Stack. Level Up. • "IPV4Address": "20.63.133.99", • “game_port” : 30400, • "Protocol": "TCP" • "Region": "JapanEast",
  • 34. Microsoft Game Stack. Level Up. PlayFab ゲーム サーバーの基本 - PlayFab | Microsoft Docs
  • 35. Microsoft Game Stack. Level Up. PlayFab ゲーム サーバーの基本 - PlayFab | Microsoft Docs Propping / プロップ • PFがゲームサーバーを作成し、startコマン ドを実行したときの初期状態 • ゲームサーバーがStart()を呼び出すと初期 化状態に移行する。 Initializing / 初期化 • ゲームサーバーの準備状態 • ゲームサーバーは、Start()を呼び出している、 しかし、まだ、ReadyForPlayers()を呼び出して いない Standing by / 待機中 • ゲームサーバーがReadyForPlayers()を呼び、 プレイヤーからのサーバー要求を待ってい る状態。 • ゲームサービスやクライアントがRequest MultiplayerServerを呼び出すとActiveに遷移 する • 不要になったら、Terminate / 終了に移行す る。( Shutdown()で通知される) Active / 活動中 -ゲームサーバーがプレイヤーにサービスを提供 している - ReadyForPlayers()の呼び出しが完了し、ゲー ムサーバーにプレイヤーの着信とセッション クッキーはセットされている Terminating / 終了 • コンテナ プロセスが終了すると、終了に移 行する • ゲームサーバーのプロセスは終了したが、 PFはまだコンテナをクリーンアップしてい る途中 アーカイブされたセッション ゲームサーバーの状態ではないが、サーバー終 了後にPFが作成し、ゲームサーバーのログを保 存し、後で分析できるようにする。
  • 36. Microsoft Game Stack. Level Up. MpsAllocatorSample • ---------------------------------- • 0 to exit the app • 1 for RequestMultiplayerServer • 2 for ListBuildSummaries • 3 for GetBuild • 4 for ListMultiplayerServers • 5 for ListVirtualMachineSummaries • 6 for GetMultiplayerServerDetails • 7 to see server allocation status • ---------------------------------- サーバーリクエスト Player名を複数入力 Build Summery の表示 全体の概況を示す Buildの情報 New Buildで設定した内 容などを表示します Server IDと、Session ID のリスト 各Server のStatusや Player を表示します Vmのリストを 表示します Active, StandingBy, など サーバーの状態を表示し ます Session IDを指定して、サーバーの 詳細を取得します c2c7b766-8b60-4ed5-b0b5-1ee3a230531e
  • 38. Microsoft Game Stack. Level Up. 補足説明
  • 39. Microsoft Game Stack. Level Up. Unity 向け PlayFab SDK 全体の説明 いくつかのSDKがあります • 基本のSDK 公式ガイド: Unity 用 PlayFab SDK のインストール 方法1 エディタ拡張機能を経由したSDKの導入方法 エディタ拡張パッケージを導入 → エディタ拡張の管理パネルからSDKを導入 方法2 直接SDKを導入する方法 PlayFab Unity エディター拡張機能を使用せずに、PlayFab Unity 3D SDK を直接導入 コードのプロパティ値を設定して Unity プロジェクトを直接構成します • マルチプレイヤーサーバーの SDK gsdk/UnityGsdk at main · PlayFab/gsdk (github.com) • パーティーを利用するための SDK PlayFab/PlayFabPartyUnity (github.com)
  • 40. Microsoft Game Stack. Level Up. Multiplay wrappingGSDK • Gitリポジトリ MpsSamples/wrappingGsdk • 既存のゲームが既にある場合、最小限の労力でマルチプレイヤー サーバー サービスを試すときに使えま す。GSDKのwrapperが外部ファイルとしてゲームを呼び出します。 • あくまでMPSプラットフォームの評価用です(通信のオーバーヘッドがかかる) • PlayFab への Deploy 手順 (Azure 上の VM にもDeploy可能です) 1. Wrapper をビルドする dotnet publish --self-contained -r win-x64 /p:PublishSingleFile=true /p:PublishTrimmed=true 2. Zip ファイルの作成 Set-ExecutionPolicy Unrestricted Build.ps1 3. PlayFab(ゲームマネージャー)にログインし、 マルチプレイヤーサーバーMPS を展開する 仮想マシンOS: windows process GameStartCommand: wrapper.exe -g fakegame.exe arg1 arg2 Network Port: Portname: game_port Porttype: TCP
  • 41. Microsoft Game Stack. Level Up. サーバーのビルド作成は GUI/CUI どちらでもOK • ゲームマネージャーを利用したサーバービルドの配置 1.PlayFab.com 上の開発者アカウントにログインします。 2.スタジオ内のタイトルを選択 3.「マルチプレイヤー」 > 「サーバー」 に移動し、 [新しいビルド] を実行 • Power Shellを利用したサーバービルドの配置 事前準備: PlayFab タイトル ID と、タイトルのシークレットキーを取得しておきます PowerShell/API を使用したビルド
  • 42. Microsoft Game Stack. Level Up. CSharpRunner • Gitリポジトリ MpsSamples/WindowsRunnerCSharp • 公式ドキュメント Windows Runner サンプル - PlayFab | Microsoft Docs • マルチプレイヤーゲームサーバーのGSDKと統合された、サーバーサイドと、クライアント側の両方のサンプルです。 • シンプルなBytecodeサンプルで、すぐに実行することができます。 • 大まかな手順 1. タイトルの設定で、「Allow client to start games」にチェックを入れる 2. サーバー、クライアント、それぞれを Visual Studio にてビルドし、サーバービルドのフォルダで、Zipファイルを作成する 1. 最新の PlayFab ゲーム サーバー SDK (GSDK) NuGet パッケージなどの依存関係のダウンロードが自動的にトリガーされます。 2. リリース x64 構成で WindowsRunnerCSharp.csproj をコンパイルしてビルドします。 3. bin フォルダーに移動し、すべての x64 リリース バイナリを ZIP 圧縮します 3. ZIPファイルを PlayFab にUploadします (ゲームマネージャーの、マルチプレイヤーサーバーの画面から操作する) dotnet publish --self-contained -r win-x64 /p:PublishSingleFile=true /p:PublishTrimmed=true 4. Zip ファイルの作成 Set-ExecutionPolicy Unrestricted Build.ps1 5. PlayFab(ゲームマネージャー)にログインし、 マルチプレイヤーサーバーMPS を展開する 6. クライアントから接続 cd C:UsersUserNameDocumentsGitHubMpsSamplesWindowsRunnerCSharpWindowsRunnerCSharpClientbinReleasenetcoreapp3.1 dotnet WindowsRunnerCSharpClient.dll --titleId CBE66 --buildId 36083326-3bd5-4b8f-a97d-7e82f066aa40 --verbose
  • 43. Microsoft Game Stack. Level Up. Entities & Groups Statistics Matchmaking Party Servers Multiplayer services #1 #2 • Matchmaking in public preview • All other services generally available • All services used today by some of the world's biggest games and apps
  • 45. データをもとに LiveOps を実践する LiveOps Game Client タイトルデータ エコノミーカタログ プレイヤー 分析・自動化 統計 (statistics)
  • 46. Microsoft Game Stack. Level Up. PlayFab’s identity system is generic Link PlayFab players to Xbox Live, Steam, PlayStation, Nintendo, Open ID... PlayFabのIDシステムは汎用的 PlayFabプレイヤーをXbox Live、Steam、PlayStation、Nintendo、Open IDとリンクさせる... Build your own cross-title social network Player data is stored as a hierarchy of entities タイトルを超えた独自のソーシャルネットワークを構築 プレイヤーデータはエンティティの階層構造として保存さ れる すべてのエンティティは、任意のオブジェク トとファイルデータのための一貫したAPIを 持っています。 All entities have consistent APIs for arbitrary object and file data PlayFab Entities Master Player Title Player Character
  • 47. Microsoft Game Stack. Level Up. • パーティーは、暗号化された低レイテンシ のネットワークでプレイヤーデバイスを接 続します • ネットワークエンドポイントを使用して、 プレイヤー間でゲームデータを交換できま す • チャットエンドポイントは、ゲーム内のボ イスチャットとテキストチャットに使用で きます • 文字起こし、音声合成、翻訳が組み込まれ ています(Azure Cognitive Serviceと統合さ れています) PlayFab Party
  • 48. Microsoft Game Stack. Level Up. Simple scale • PlayFab の安全なトランスポートおよびリレーサービ スでネットワーク攻撃からプレイヤーを保護します • 限られた管理で動的に拡張可能です • 相互運用可能なクロスプラットフォーム C++ SDK で 全員を接続します Party Servers
  • 49. Microsoft Game Stack. Level Up. Send Option Result Sequential & guaranteed Sequential & best-effort Non-sequential & guaranteed Non-sequential & best- effort Flexible datagram behaviors 1 2 3 1 3 1 3 2 3 1
  • 50. Microsoft Game Stack. Level Up. 完全に準拠したマッチメイキングおよびコミュニ ケーション機能を備えたマルチプレイヤーゲーム を構築する Xbox Network Integration Policies Xboxエコシステムの開発者は、 追加費用なしで強力なマルチプレイヤーを実現で きます どこでプレイしても人々をつなぐ魅力的な マルチプレイヤーゲームを構築できます PlayFab Matchmaking & Party are free for Xbox Live activity
  • 51. Microsoft Game Stack. Level Up. Multiplayer Servers
  • 52. Microsoft Game Stack. Level Up. Multiplayer servers that scale with player demand • PlayFab マルチプレイヤーサーバーは、カスタム ゲームサーバーのオーケストレーターです。 • Azure を使用して動的かつ効率的にスケーリング されたマルチプレイヤー サーバーを作成 • 最大10,000,000台の同時ゲームサーバーまで拡張 • 動的な待機プールで需要バーストを自動的に処理
  • 53. Microsoft Game Stack. Level Up. • ゲームサーバーは、Windows環境とLinux環境の両方でホストできます • サーバはコンテナ化されており、一貫した運用環境を実現 • 15 以上の Azure リージョン • プレイヤーのための低待機時間と高い信頼性 Globally deploy Windows or Linux Servers
  • 54. Microsoft Game Stack. Level Up. PlayFab マッチメイキング + 外部ホスティングシステム PlayFab マルチプレイヤーサーバー + 独自の音声システムを持ち込む 独自のロビーやマッチメイキング + マルチプレイヤーサーバーと統合する
  • 55. Microsoft Game Stack. Level Up. #01 Unicorn Battle のゲームの説明 • PlayFab のオープンソースのエンドツーエンドのデモプロジェクト、Unicorn Battle (UB) • UB は、PlayFab のためのサンプルゲームで、Unity で作成されています 主な機能 •アカウントはデバイスIDおよび/またはFacebook認証を使用します •アカウントごとにデータを保存 •プレイヤーとそのキャラクターの間でアイテムと通貨を通信します •動的なゲーム運営をします(TitleData、仮想アイテム、通貨、ストア) •Facebookの友達をインポートするか、自分の友達を追加する •統計のトラッキング - アチーブメントとリアルタイムのリーダーボード •プッシュ通知 - リエンゲージメントキャンペーンや特別オファー用 •AndroidまたはiOSの領収書検証 •CDNでホストされるアセットバンドル •クラウドでホストされるカスタムロジック
  • 56. Microsoft Game Stack. Level Up. #01 Unicorn Battle セットアップ 1. サーバーサイド 1. PlayFabにてゲームタイトルの作成 2. タイトルIDとKeyを取得 3. Data Uploader 1. “UB_Uploader/PlayFabData/TitleSettings.json" ファイルを編 集 2. Data Upload 4. ゲームマネージャーの[設定]、[API機能]に移動し、設定変更
  • 66. Microsoft Game Stack. Level Up. リソース

Notas do Editor

  1. COMMUNITY: Strengthen player to player relationships MULTIPLAYER: Build social experiences with cross-platform play CONTENT: Engage players with frequent updates ECONOMY: Sell more virtual goods, more easily PLAYERS: Stronger, secure relationships ANALYTICS: Measure and react in real-time AUTOMATION: Customize experiences with cloud-hosted logic
  2. 「基本無料」ゲームの売上は1年間で9兆6600億円
  3. 「基本無料」ゲームの売上は1年間で9兆6600億円