狠狠撸

狠狠撸Share a Scribd company logo
Collectible Card Games (CCGs) For Mobile
カード収集ゲームにおける笔濒补测贵补产の使い方
Daisuke Masubuchi
Global Black Belt
Microsoft
Game Manager をもとにデータ構造を考える
Title Data: マスターデータは、Contents-Title Data に 大量アクセスを想定したKey/Value型の “Title Data”に保存
Items: LiveOpsで頻繁に追加されるものは、Economy-Catalogs-Items を利用します。武器などのアイテムだけでな
く、カード収集ゲーム, CCGのキャラクターをItemとして管理することもできます。
Players: Player 毎のデータ。Playerの Item には独自のカスタムデータ(Private Space)を保存できます
PlayFab で CCG 開発をしよう
Develop your new Card Collecting Game with PlayFab
? 本資料では、 CCG (Collectible Card Game または Card Collecting Game)と言われるカードの収集ゲームを考えます
? 従来のトレーディングカード、TCG(マジック?ザ?ギャザリングや、遊戯王、ポケモン、などが有名)をオンラインに
したような仕組みです。
? プレイヤーはカードを購入して、集めて遊びます
? オンラインでのカード収集は、バーチャルストアやガチャ(ルートボックス)を想定しています。
– This materials show you a idea around card collecting game, a.k.a CCG with PlayFab.
– CCG is like a traditional trading card (Magic The Gathering, Yu-Gi-Oh, Pokemon, etc.) on online.
– Players buy cards, collect them with virtual card store and loot box system.
Commerce
+ Inventory
Player Socialize
Inventory
CCG ゲームの画面の動きのイメージ図
Reference Flowchart for CCG GUI Navigation
Create
Account
Menu
メニュー
Loot box
(ガチャ)
Store
ストア
Collection
キャラ収集
Item
アイテム管理
Leader board Seasonal
Reward
Deck
デッキ編成
Synthesis
合成?強化
Guild
ギルド
Rank
ランキング
Game Server
In-Game
バトル
Chat
チャット
Login
マスター
データ
マスター
データ
マスター
データ
CommercePlayer = Account
PlayFab におけるオブジェクト配置
Data Structure and maps with Japanese-style CCG on PlayFab
Game Server
(Optional)
Player
Data
(Title)
Inventory
Collection
キャラ収集
Item
アイテム管理
Catalogue for Item Catalogue for
CCG contents
*Character Token =ooff
Unique Character
*Character Token =on
Store
ストア
Loot box
(ガチャ)
In-Game
バトルルーム
CCGのキャラは、PlayFabの Character システム ではなく通常のアイテム在庫として扱います。
アイテム(Items)は、武器や持ち物だけでなく、CCGのキャラカードの保存に適しています。
参考1:https://community.playfab.com/questions/21253/creating-stackable-ccg-character-inventory.html
参考2:https://community.playfab.com/questions/18917/getting-data-about-all-characters.html
Title Data
マスター
データ マスター
データ
マスター
データ
Deck
デッキ編成
キャラクターはCharacter に保存するべき?
? いいえ。Items をご利用ください。Itemas は、武器やポーションなどの所謂判りやすいアイテムの情報です。また、ア
イテム以外にも、日本でよくあるCCGのキャラクターなど、汎用的に使えます
? Play Fab の Character, Guild, Group, 等の概念は、MMOを由来としています。
– 同一のアカウントであっても、「剣士」や「魔法使い」など、属性を変更してログインしたい場合に便利な考え方です
? 保管場所の使い分けイメージ
– スターデータ?Title Data
– プレイヤー毎のStateデータ?Player Data (Title)
– LiveOpsで変更が想定されるItemやカードデータ?Item
? デッキ情報は、Player Data に保存します。
– 通常のPlayer Dataへの保存でも構いませんし、Cloud Scriptからのみ更新する場合は、Read Onlyでも大丈夫です。
カード(キャラクター)
Commerce – Catalog – Item
として管理
Deck(デッキ)
Player のTitle Data として管理
CloudScript のみの編集でOKの場合は
Read Onlyにする
強化アイテム
Commerce – Catalog – Item として管理
★ ★ ★ ★
Sレア レア
Player Item Management
Update User Inventory Item Custom Data
プレーヤーインベントリの各インベントリアイテムのインスタンスには個別に使用できるCustomDataが
あります(Catalog の Itemにはない)
これを利用して、CCGのカード毎の値や、アイコンなどを設定できます。
ガチャやゲーム内ストアの実装(1)
? ガチャシステムはいくつかのタイプがあります。
1. 日本型ガチャ
1. コンプガチャ(現在開発禁止)
2. PACKAGE GACHA (AKA BOX GACHA)
3. STEP-UP GACHA
4. SCRATCH GACHA (AND CONSECUTIVE GACHA)
5. SUGOROKU GACHA
2. Clash Royale型
1. 無料のチェスト
2. バトルチェスト
3. クラウンチェスト
参考
無料でプレイできるゲームデザインの聖書:
戦利品ボックスとガチャシステムのデザイン方法(英語)
https://mobilefreetoplay.com/bible/design-loot-boxes-gacha-systems/
? すべてのガチャシステム、戦利品システムを、PlayFab がネイ
ティブにサポートしているわけではありませんが、コマース機能
と、Cloud Scriptなどの機能を組み合わせることでPlayFab内だけ
でも実装可能です。
? アイテム
– 武器や道具、カードゲームのカードなどを管理
? バンドル
– アイテムをまとめて管理するもの
– バンドルをプレイヤーに付与した場合、中身のアイテムをプレイヤー
に追加してバンドルそのものは数秒後に消える。または回数制限を設
ける
? コンテナ
– アイテムの箱のようなもの
– 開かれるまで中のアイテムはプレイヤーのインベントリについかされ
ない
? ドロップテーブル
– アイテムをランダムに落とす仕組み
? ストア
– アイテムの販売する場所
– 元々の価格も変更できる
ガチャ?ルートボックスの基本となる Drop Table
? Drop Table
– 何らかのアイテムがランダムに出現する仕組み
– ドロップテーブルの中にアイテムを追加する
– 出現のしやすさを表す「重み」を設定する
Drop Table だけでは日本のオンライ
ンゲームで主流となる「ガチャ」の
仕組みは実現できません
しかし、後述する他の仕組みと組み
合わせることで高度なガチャの仕組
みを実装することができます
まずはPlayFabの世界における
「アイテム」の概念について
次ページでご説明します
アイテム!は非常に重要な概念 1/2
? アイテムは、プレイヤーが獲得していく「なにか」です
? ゲームをLiveでカスタマイズと深みを追加する仕組みで
あり、最高の分析とLiveOpsを実現できます
? ポイント
– 仮想アイテムの概念をCatalogとしてまとめる
– アイテムには、DurablesからBundles、Locked Containersま
で、さまざまな管理の仕組みがあることを理解する
– プレイヤーが獲得したアイテム(インベントリに入ったア
イテム)は、カスタムデータを保有できる
– 仮想通貨
? PlayFabは、タイトルごとに最大10の仮想通貨を提供します
? アイテムに「通貨」の概念が必要かどうかを考える
? よく使うAPI
– PurchaseItem-仮想通貨で単一のカタログアイテムを購入
し、通貨を差し引き、アイテムインスタンスをプレーヤー/
キャラクターインベントリに追加します
– GetCharacterInventoryおよびGetUserInventory –これらのAPI
は、指定されたキャラクターまたはプレーヤーの現在の仮
想商品の在庫を取得します
アイテム!は非常に重要な概念 2/2
? アイテム, Item の概念
– カタログ, Catalog
? カタログは、ゲームの仮想アイテムを管理する枠組み
? ゲームで利用できるすべてのアイテムのデータベース
– アイテム, Catalog Item
? ゲーム内のアイテム(カードゲームの場合はカード)
? Durables, Bundles to Locked Containers など様々な設定が可能
? アイテムを軸とした PlayFab の世界観
– インベントリー, Inventory
? プレイヤー側にはインベントリー
(倉庫、または冒険者のふくろのような概念)
? アイテムインスタンスとアイテムの履歴
? 中のアイテムごとにカスタムデータ(JSON)も保有できる
– セグメント, Segment
? イベント履歴でグループ化されたプレーヤーのサブセット
? 例「頻繁なプレーヤー」セグメント :100回超のログイン
? セグメントを利用してストアやアイテムの出しわけも可能
– ストア, Store
? ストアはカタログアイテムのサブセットを提供
? 個別の価格(値引きなど)を設定できます
– 仮想通貨, Virtual Curency
プロモーションやリワードにアイテムを使う
? シナリオ
– 大会での物理的な報酬:
? クーポンコードのリストを作成し、大会で配布する
– フォーラム、プッシュ通知、電子メール
? 再獲得キャンペーンやその他のコミュニティリーチ
? プレーヤーのクーポンコードをメッセージで送信する
– トーナメント:
? リセット可能なリーダーボードを使用し、
上位にランクされたプレイヤーにクーポンを送信する
? 実現方法
– バンドルとクーポンを用いたリワード運営を行います
– チュートリアル
クーポンとバンドル、またCloudScriptと組み合わせると
LiveOpsに必要なほぼすべての機能をトリガーできます
ストア, Store でのアイテム販売
? いつでもアイテムの順序を変更したり、
価格を調整したりできます
(LiveOpsに必要)
? セグメントを使い、特定のプレーヤーに特別価
格を与えることもできます
(Gameのコード変更なし)
? Catalogと Store は非常に似ています
– Storeは、ゲームのCatalog と通貨の上に構築さ
れる Catalogの一種(親戚)です
– プライマリカタログはゲーム内のすべてのアイ
テムの定義と考え、ストアはオーバーライドと
考えてください
Title Data には何を保存するべきか??
Title Data は、変更のほとんどないマスターデータ
? ゲームの構成をリモートで管理するために使用できる
キーと値のペアのセット
? ゲームマネージャまたはAPIを介して設定できます
? ユーザーやサーバーのスクリプトが頻繁に変更すること
は想定していません
? クイックスタート
Title Data の例
Drop Table を使用した高度なガチャ運用
(ルート ボックスの設定)
? シナリオ
– 特定のドロップ ルールが設定された 11 アイテムのバンドル
– 伝説のアイテムが 1 つ出ることを保証します
– 保証をすることで、プレイヤーのエンゲージを高めたい
– プレイヤーがいいアイテムを取りすぎないようにする
(1度に多くの説のアイテムが出ない仕組みを考えます)
? ポイントとなる仕組み
– 複数のDrop Table を Bundle
– バンドル自体が消耗品アイテム
– 配信後 15 秒で有効期限が切れる
– 異なる数量の異なるドロップ テーブルの仕組み
? 「Legendary Equipment」で、レアアイテムを保証
? 「Anything」の3 つは価値が高い場合や価値が低い場合があります
? 「Rare Equipment」と「Uncommon Equipment」の存在が、極端
に良いケースと極端に悪いケースを防ぎます
? チュートリアル
Forum を活用してみよう
? 無料で使える
? Forum では丁寧な回答が得られることが多い
? 多言語化も徐々に行っているが基本は英語での対応
? 最新の Microsoft Edge で日本語に翻訳できます
Form の URL
https://community.playfab.com/index.html
カードコレクションゲーム開発も
PlayFabにお任せしちゃおう??

More Related Content

カード収集ゲームにおける笔濒补测贵补产の使い方

  • 1. Collectible Card Games (CCGs) For Mobile カード収集ゲームにおける笔濒补测贵补产の使い方 Daisuke Masubuchi Global Black Belt Microsoft
  • 2. Game Manager をもとにデータ構造を考える Title Data: マスターデータは、Contents-Title Data に 大量アクセスを想定したKey/Value型の “Title Data”に保存 Items: LiveOpsで頻繁に追加されるものは、Economy-Catalogs-Items を利用します。武器などのアイテムだけでな く、カード収集ゲーム, CCGのキャラクターをItemとして管理することもできます。 Players: Player 毎のデータ。Playerの Item には独自のカスタムデータ(Private Space)を保存できます
  • 3. PlayFab で CCG 開発をしよう Develop your new Card Collecting Game with PlayFab ? 本資料では、 CCG (Collectible Card Game または Card Collecting Game)と言われるカードの収集ゲームを考えます ? 従来のトレーディングカード、TCG(マジック?ザ?ギャザリングや、遊戯王、ポケモン、などが有名)をオンラインに したような仕組みです。 ? プレイヤーはカードを購入して、集めて遊びます ? オンラインでのカード収集は、バーチャルストアやガチャ(ルートボックス)を想定しています。 – This materials show you a idea around card collecting game, a.k.a CCG with PlayFab. – CCG is like a traditional trading card (Magic The Gathering, Yu-Gi-Oh, Pokemon, etc.) on online. – Players buy cards, collect them with virtual card store and loot box system.
  • 4. Commerce + Inventory Player Socialize Inventory CCG ゲームの画面の動きのイメージ図 Reference Flowchart for CCG GUI Navigation Create Account Menu メニュー Loot box (ガチャ) Store ストア Collection キャラ収集 Item アイテム管理 Leader board Seasonal Reward Deck デッキ編成 Synthesis 合成?強化 Guild ギルド Rank ランキング Game Server In-Game バトル Chat チャット Login マスター データ マスター データ マスター データ
  • 5. CommercePlayer = Account PlayFab におけるオブジェクト配置 Data Structure and maps with Japanese-style CCG on PlayFab Game Server (Optional) Player Data (Title) Inventory Collection キャラ収集 Item アイテム管理 Catalogue for Item Catalogue for CCG contents *Character Token =ooff Unique Character *Character Token =on Store ストア Loot box (ガチャ) In-Game バトルルーム CCGのキャラは、PlayFabの Character システム ではなく通常のアイテム在庫として扱います。 アイテム(Items)は、武器や持ち物だけでなく、CCGのキャラカードの保存に適しています。 参考1:https://community.playfab.com/questions/21253/creating-stackable-ccg-character-inventory.html 参考2:https://community.playfab.com/questions/18917/getting-data-about-all-characters.html Title Data マスター データ マスター データ マスター データ Deck デッキ編成
  • 6. キャラクターはCharacter に保存するべき? ? いいえ。Items をご利用ください。Itemas は、武器やポーションなどの所謂判りやすいアイテムの情報です。また、ア イテム以外にも、日本でよくあるCCGのキャラクターなど、汎用的に使えます ? Play Fab の Character, Guild, Group, 等の概念は、MMOを由来としています。 – 同一のアカウントであっても、「剣士」や「魔法使い」など、属性を変更してログインしたい場合に便利な考え方です ? 保管場所の使い分けイメージ – スターデータ?Title Data – プレイヤー毎のStateデータ?Player Data (Title) – LiveOpsで変更が想定されるItemやカードデータ?Item ? デッキ情報は、Player Data に保存します。 – 通常のPlayer Dataへの保存でも構いませんし、Cloud Scriptからのみ更新する場合は、Read Onlyでも大丈夫です。 カード(キャラクター) Commerce – Catalog – Item として管理 Deck(デッキ) Player のTitle Data として管理 CloudScript のみの編集でOKの場合は Read Onlyにする 強化アイテム Commerce – Catalog – Item として管理 ★ ★ ★ ★ Sレア レア
  • 7. Player Item Management Update User Inventory Item Custom Data プレーヤーインベントリの各インベントリアイテムのインスタンスには個別に使用できるCustomDataが あります(Catalog の Itemにはない) これを利用して、CCGのカード毎の値や、アイコンなどを設定できます。
  • 8. ガチャやゲーム内ストアの実装(1) ? ガチャシステムはいくつかのタイプがあります。 1. 日本型ガチャ 1. コンプガチャ(現在開発禁止) 2. PACKAGE GACHA (AKA BOX GACHA) 3. STEP-UP GACHA 4. SCRATCH GACHA (AND CONSECUTIVE GACHA) 5. SUGOROKU GACHA 2. Clash Royale型 1. 無料のチェスト 2. バトルチェスト 3. クラウンチェスト 参考 無料でプレイできるゲームデザインの聖書: 戦利品ボックスとガチャシステムのデザイン方法(英語) https://mobilefreetoplay.com/bible/design-loot-boxes-gacha-systems/ ? すべてのガチャシステム、戦利品システムを、PlayFab がネイ ティブにサポートしているわけではありませんが、コマース機能 と、Cloud Scriptなどの機能を組み合わせることでPlayFab内だけ でも実装可能です。 ? アイテム – 武器や道具、カードゲームのカードなどを管理 ? バンドル – アイテムをまとめて管理するもの – バンドルをプレイヤーに付与した場合、中身のアイテムをプレイヤー に追加してバンドルそのものは数秒後に消える。または回数制限を設 ける ? コンテナ – アイテムの箱のようなもの – 開かれるまで中のアイテムはプレイヤーのインベントリについかされ ない ? ドロップテーブル – アイテムをランダムに落とす仕組み ? ストア – アイテムの販売する場所 – 元々の価格も変更できる
  • 9. ガチャ?ルートボックスの基本となる Drop Table ? Drop Table – 何らかのアイテムがランダムに出現する仕組み – ドロップテーブルの中にアイテムを追加する – 出現のしやすさを表す「重み」を設定する Drop Table だけでは日本のオンライ ンゲームで主流となる「ガチャ」の 仕組みは実現できません しかし、後述する他の仕組みと組み 合わせることで高度なガチャの仕組 みを実装することができます まずはPlayFabの世界における 「アイテム」の概念について 次ページでご説明します
  • 10. アイテム!は非常に重要な概念 1/2 ? アイテムは、プレイヤーが獲得していく「なにか」です ? ゲームをLiveでカスタマイズと深みを追加する仕組みで あり、最高の分析とLiveOpsを実現できます ? ポイント – 仮想アイテムの概念をCatalogとしてまとめる – アイテムには、DurablesからBundles、Locked Containersま で、さまざまな管理の仕組みがあることを理解する – プレイヤーが獲得したアイテム(インベントリに入ったア イテム)は、カスタムデータを保有できる – 仮想通貨 ? PlayFabは、タイトルごとに最大10の仮想通貨を提供します ? アイテムに「通貨」の概念が必要かどうかを考える ? よく使うAPI – PurchaseItem-仮想通貨で単一のカタログアイテムを購入 し、通貨を差し引き、アイテムインスタンスをプレーヤー/ キャラクターインベントリに追加します – GetCharacterInventoryおよびGetUserInventory –これらのAPI は、指定されたキャラクターまたはプレーヤーの現在の仮 想商品の在庫を取得します
  • 11. アイテム!は非常に重要な概念 2/2 ? アイテム, Item の概念 – カタログ, Catalog ? カタログは、ゲームの仮想アイテムを管理する枠組み ? ゲームで利用できるすべてのアイテムのデータベース – アイテム, Catalog Item ? ゲーム内のアイテム(カードゲームの場合はカード) ? Durables, Bundles to Locked Containers など様々な設定が可能 ? アイテムを軸とした PlayFab の世界観 – インベントリー, Inventory ? プレイヤー側にはインベントリー (倉庫、または冒険者のふくろのような概念) ? アイテムインスタンスとアイテムの履歴 ? 中のアイテムごとにカスタムデータ(JSON)も保有できる – セグメント, Segment ? イベント履歴でグループ化されたプレーヤーのサブセット ? 例「頻繁なプレーヤー」セグメント :100回超のログイン ? セグメントを利用してストアやアイテムの出しわけも可能 – ストア, Store ? ストアはカタログアイテムのサブセットを提供 ? 個別の価格(値引きなど)を設定できます – 仮想通貨, Virtual Curency
  • 12. プロモーションやリワードにアイテムを使う ? シナリオ – 大会での物理的な報酬: ? クーポンコードのリストを作成し、大会で配布する – フォーラム、プッシュ通知、電子メール ? 再獲得キャンペーンやその他のコミュニティリーチ ? プレーヤーのクーポンコードをメッセージで送信する – トーナメント: ? リセット可能なリーダーボードを使用し、 上位にランクされたプレイヤーにクーポンを送信する ? 実現方法 – バンドルとクーポンを用いたリワード運営を行います – チュートリアル クーポンとバンドル、またCloudScriptと組み合わせると LiveOpsに必要なほぼすべての機能をトリガーできます
  • 13. ストア, Store でのアイテム販売 ? いつでもアイテムの順序を変更したり、 価格を調整したりできます (LiveOpsに必要) ? セグメントを使い、特定のプレーヤーに特別価 格を与えることもできます (Gameのコード変更なし) ? Catalogと Store は非常に似ています – Storeは、ゲームのCatalog と通貨の上に構築さ れる Catalogの一種(親戚)です – プライマリカタログはゲーム内のすべてのアイ テムの定義と考え、ストアはオーバーライドと 考えてください
  • 14. Title Data には何を保存するべきか?? Title Data は、変更のほとんどないマスターデータ ? ゲームの構成をリモートで管理するために使用できる キーと値のペアのセット ? ゲームマネージャまたはAPIを介して設定できます ? ユーザーやサーバーのスクリプトが頻繁に変更すること は想定していません ? クイックスタート Title Data の例
  • 15. Drop Table を使用した高度なガチャ運用 (ルート ボックスの設定) ? シナリオ – 特定のドロップ ルールが設定された 11 アイテムのバンドル – 伝説のアイテムが 1 つ出ることを保証します – 保証をすることで、プレイヤーのエンゲージを高めたい – プレイヤーがいいアイテムを取りすぎないようにする (1度に多くの説のアイテムが出ない仕組みを考えます) ? ポイントとなる仕組み – 複数のDrop Table を Bundle – バンドル自体が消耗品アイテム – 配信後 15 秒で有効期限が切れる – 異なる数量の異なるドロップ テーブルの仕組み ? 「Legendary Equipment」で、レアアイテムを保証 ? 「Anything」の3 つは価値が高い場合や価値が低い場合があります ? 「Rare Equipment」と「Uncommon Equipment」の存在が、極端 に良いケースと極端に悪いケースを防ぎます ? チュートリアル
  • 16. Forum を活用してみよう ? 無料で使える ? Forum では丁寧な回答が得られることが多い ? 多言語化も徐々に行っているが基本は英語での対応 ? 最新の Microsoft Edge で日本語に翻訳できます Form の URL https://community.playfab.com/index.html