SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
南 @_y_minami
2019.10.22 PlayFab Meetup #1 in Microsoft
自己紹介
• 南(みなみ)
• Twitter
南@エンジニア兼ティーアドバイザー
@_y_minami
• 以前はゲーム会社で働いていました。
• 現在は名刺管理の会社でエンジニアをしています。
• 今年からゲームの個人開発はじめました。
最近作った & 作っているもの
• C#
• Unity
• UniRx / UniTask
• .NET Core
• Magic Onion
• Docker
• Azure Container
Instances
• Azure PlayFab
PlayFab に出会ったきっかけ
PlayFab に出会ったきっかけ
• ゲーム会社から WEB 系の会社に転職した
• やっぱりゲームを作りたくなった
• 以前はサーバーサイド中心だったので Unity を勉強しなおしたい
• インフラ周りや CI/CD も勉強しなおしたい
• MagicOnion v2 も触ってみたい
PlayFab に出会ったきっかけ
• ゲーム会社から WEB 系の会社に転職した
• やっぱりゲームを作りたくなった
• 以前はサーバーサイド中心だったので Unity を勉強しなおしたい
• インフラ周りや CI/CD も勉強しなおしたい
• MagicOnion v2 も触ってみたい
そうだ、1人でゲームを作ってみよう!
PlayFab に出会う前のシステム構成
CI
Tool
GameServer
Client
Monitoring
DataStoreWebTool
Batch
PlayFab に出会う前の
CI
Tool
GameServer
Client
WebTool
Batch
Monitoring
DataStore
• 悪くないとは思う
• GameServer と Database と CloudBuild が有料
• DataStore のコストを削りたかった
DataStore としての PlayFab
マスタデータを例にした使い方の雰囲気
• GameManager JSON を突っ込む
マスタデータを例にした使い方の雰囲気
• GameManager JSON を突っ込む
• GET して Deserialize する
PlayFab に出会った後
CI
Tool
GameServer
Client
WebTool
Batch
Monitoring
DataStore
PlayFab でマスタデータ、ユーザーデータ、
ログを管理、シンプルだしコストも減って良い。
GameServer としての PlayFab
2つの GameServer
PlayFab
Container Instances
(MagicOnion)
2つの GameServer
バトル中の人バトル中ではない人
PlayFab SDK(REST)を
使った単発の通信
MagicOnion(gRPC)を
使ったストリーミング通信
PlayFab
Container Instances
(MagicOnion)
PlayFab が GameServer としてできること
REST などの API 通信で行っていた処理はだいたい任せられる
• アイテム / 通貨 /ショップ
• ガチャ / デッキ編集
• マッチング / ランキング
• ポチポチする系のクエスト
PlayFab が GameServer としてできないこと
マルチプレイなどで使うリアルタイム通信系の機能
• 現在はない
• PlayFab PubSub (Private Preview) が開発中だがまだ先の話
• Photon や MagicOnion などと役割分担して使おう
自前サーバープログラムのホスティング先としての機能
・Multi Player Server 2.0 (Public Preview)がこれにあたる
・サンプルが動かなかったり日本 Region が無かったりで時期尚早
PlayFab に出会った後
CI
Tool
GameServer
Client
WebTool
Batch
Monitoring
DataStore
GameServer の半分の機能を PlayFab に移譲して
開発工数を大幅削減、とても良い。
PlayFab に出会った後
CI
Tool
GameServer
Client
WebTool
Batch
Monitoring
DataStore
ついでに Batch も PlayFab へ。
まとめ
• 無料の DataStore としてだけでも導入するメリットはある
• 作っているゲームに、ランキング / マッチング /ショップ
などの仕組みが必要なら PlayFab を使用するメリットはさらに
大きくなる
• 現状ではリアルタイム通信の機能は持っていないが、
Photon や MagicOnion などの他のツールとあわせて
利用することも可能
ご清聴ありがとうございました

Contenu connexe

Tendances

「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
 

Tendances (20)

Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろうUE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
Fortniteを支える技術
Fortniteを支える技術Fortniteを支える技術
Fortniteを支える技術
 
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
 
Epic Online Services でできること
Epic Online Services でできることEpic Online Services でできること
Epic Online Services でできること
 
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【導入編】
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
 
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DDUE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
 
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
MMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインMMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザイン
 

Similaire à リアルタイムコマンドバトルのゲームで PlayFab を使ってみた

リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたいリアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
YutoNishine
 

Similaire à リアルタイムコマンドバトルのゲームで PlayFab を使ってみた (20)

リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたいリアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
 
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
 
Androidアプリ 長い黒髪のマイカノジョ 制作ノート
Androidアプリ 長い黒髪のマイカノジョ 制作ノートAndroidアプリ 長い黒髪のマイカノジョ 制作ノート
Androidアプリ 長い黒髪のマイカノジョ 制作ノート
 
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきことアプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
 
非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた
 
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
 
UnrealEngine の VR 事情
UnrealEngine の VR 事情UnrealEngine の VR 事情
UnrealEngine の VR 事情
 
同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状
 
Minecraftでプログラミングを学べるって本当?
Minecraftでプログラミングを学べるって本当?Minecraftでプログラミングを学べるって本当?
Minecraftでプログラミングを学べるって本当?
 
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略
 
PlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 OSAKA
PlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 OSAKAPlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 OSAKA
PlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 OSAKA
 
PlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 TOKYO
PlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 TOKYOPlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 TOKYO
PlayCanvas:2D機能とライブラリ組み込みのいろは - PlayCanvas運営事務局 - GTMF 2018 TOKYO
 
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunityUnityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
 
今年趣味開発を通じて学んだこと(2018)
今年趣味開発を通じて学んだこと(2018)今年趣味開発を通じて学んだこと(2018)
今年趣味開発を通じて学んだこと(2018)
 
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
 
ITWeekモバイル活用展登壇資料
ITWeekモバイル活用展登壇資料ITWeekモバイル活用展登壇資料
ITWeekモバイル活用展登壇資料
 
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
 
GSGL 2012 さくらソフト
GSGL 2012 さくらソフトGSGL 2012 さくらソフト
GSGL 2012 さくらソフト
 
同人ゲームサークルの1プログラマとしての過去・現在・未来
同人ゲームサークルの1プログラマとしての過去・現在・未来同人ゲームサークルの1プログラマとしての過去・現在・未来
同人ゲームサークルの1プログラマとしての過去・現在・未来
 
3(0)分ハッキング
3(0)分ハッキング3(0)分ハッキング
3(0)分ハッキング
 

Plus de YutoNishine (7)

Azure PlayFab Unity SDK vs C# SDK
Azure PlayFab Unity SDK vs C# SDK Azure PlayFab Unity SDK vs C# SDK
Azure PlayFab Unity SDK vs C# SDK
 
入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介入門者の方向け Azure PlayFab の簡単な紹介
入門者の方向け Azure PlayFab の簡単な紹介
 
Unity + PlayFab + Azure Functions
Unity + PlayFab + Azure FunctionsUnity + PlayFab + Azure Functions
Unity + PlayFab + Azure Functions
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
 
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
 
5分で入門するAzure PlayFab
5分で入門するAzure PlayFab5分で入門するAzure PlayFab
5分で入門するAzure PlayFab
 

Dernier

Dernier (12)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

リアルタイムコマンドバトルのゲームで PlayFab を使ってみた