デモ ゲーム: Winter Starfall
Winter Starfall は、PlayFab が開発したゲームで、さまざまな機能を紹介し、ライブ ゲームでどのように実装されているかを確認するための手段を提供します。 このゲームは WinterStarfall.com でプレイできます。PlayFab 開発者アカウントを既にお持ちの場合は、開発者ポータルの My Studios and Titles ページからもアクセスできます。
- Economy V2 (カタログ、通貨、バンドル、ストア)
- Title data、player data、その他のコア PlayFab 機能
- プレイヤーとのコミュニケーションのための Title news
- Azure Functions を使用した CloudScript
その他のデモ機能
Winter Starfall には、PlayFab の「舞台裏」で何が起きているかを確認しやすくするための機能が付属しています。ゲームは誰でもプレイできますが、これらの機能をフルに活用するには、無料の開発者アカウントへの登録が必要です。 右上のプロフィール アイコンの隣にある PlayFab アイコンを選択すると、PlayFab アクティビティ サイドバーが開きます。
- アクティビティ サイドバーには、ゲームをプレイする際に更新される API 呼び出しの一覧が表示されます。各 API 呼び出しにはタグが付けられ、どの PlayFab SDK に関連するかを示す色分けがされています。
- 一覧から API 呼び出しを選択して、完全な API 要求と応答を表示できます。
- View title F8941 を選択すると、Game Manager でタイトルが開き、さまざまな機能がどのように構成されているかを確認できます。この手順で PlayFab 開発者アカウントによるサインインが求められます。
- Clear を選択すると、アクティビティ バーから現在の通知がすべて削除されます。
デモ ゲームはいつでもプレイできますが、Game Manager にアクセスするには無料の開発者アカウントへの登録が必要です。
含まれる PlayFab 機能
以下のセクションでは、ゲームで使用されているさまざまな PlayFab 機能について、より詳細に説明します。認証
PlayFab ゲームで最初に発生するのはプレイヤーのログインです。ログインすると、その後のすべての API 呼び出しに必要な認証トークンが返されます。Winter Starfall は、電子メール、Microsoft (OpenID 経由)、Google、Facebook による、回復可能なさまざまな形式のサインインをサポートしています。ソース コードとシナリオのチュートリアルでは、サインイン フローとプレイヤー認証のベスト プラクティスを詳しく解説しています。 PlayFab 認証の詳細を確認するEconomy
ファンタジー ロールプレイング ゲーム (RPG) である Winter Starfall には、プレイヤーがストアを訪れ、アイテムを購入し、戦闘で通貨を獲得するための Economy システムが含まれています。PlayFab の最新の Economy サービスが、ゲーム内のインベントリと商取引に関するすべてを処理します。ソース コードとシナリオのチュートリアルでは、ゲームで発生する購入フローを詳しく解説しています。 Economy V2 の詳細を確認するPlayer data
PlayFab のプレイヤーには、さまざまな機能によってサービスに保存される関連データがあります。Player data 機能では、複数のゲームやデバイス間で共有できるキー/値ペアまたはオブジェクトおよびファイルとして、プレイヤー関連情報を保存できます。 Winter Starfall では、Player data を使用してゲームの状態や、プレイヤーのパーティに加わったキャラクターなどの情報を保存します。プレイヤーがストーリーを進めると、その位置が UpdateUserData API を通じてプレイヤー プロフィールに記録されます。このデータはサインイン時にGetUserData でアクセスされ、これまでの進行状況を保ちつつ、プレイヤーをストーリーの正しい地点にロードします。

GetUserData 呼び出しの API 要求と応答本文の例です。
GetUserData - Request
Title data
Title data は Player data と同様にキーと値のペアを保存しますが、データは特定のプレイヤーではなくゲーム タイトルに関連付けられます。Winter Starfall では、Economy システムで Title data を使用し、値multipliers を sell, 0.5 として保存することで、アイテム売却時の価格を計算します。売却フローの仕組みの詳細については、ソース コードとシナリオのチュートリアルを参照してください。

Azure Functions を使用した CloudScript
CloudScript は、サーバー側にカスタム機能を実装できる柔軟な機能で、他の PlayFab 機能と組み合わせることで、ほぼ無限のソリューションを実現できます。 このゲームでは、以下のような多くのシナリオを解決するためにこの機能を使用しています。- CombatVictory - プレイヤーが戦闘に勝利した後、exp やアイテムの付与、パーティ メンバーの追加などの一連のアクションを実行します。
- PlayerCreated - 新しいプレイヤーに開始時のアイテムとステータスを装備させます。
- ProgressCheckpoint - ストーリーの主要ポイントに到達した後、アイテムやキャラクターをアンロックするためのアクションを実行します。
- ResetPlayer - ユーザー データ、アイテム、統計情報を消去して完全にリセットします。
- SellItem - アイテムを割引価格で売却できるようにします。これは Economy システムに標準で備わっている機能ではありません。購入/売却フローの詳細は、ソース コードとシナリオのチュートリアルで解説しています。
Winter Starfall の CloudScript 関数は C# で記述されていますが、Azure Functions がサポートする任意の言語を使用できます。
Title news
Title news は、タイトルに関連付けられたすべてのプレイヤーとコミュニケーションを取るために使用されます。Winter Starfall では、ゲームプレイのヒントや通知を表示する通知システムとして実装しています。
デモの制限事項
Winter Starfall は実際のプレイヤー データによって動作しているため、Game Manager ビューでは一部の機能がスコープ制限されています。このセクションでは、制限された機能が Game Manager でどのように見えるかを概説します。これらのページを詳しく見るには、ソース コードをダウンロードしてゲームのローカル インスタンスを実行するか、新しいタイトルを一から作成できます。開発者ポータルの機能に関する完全ガイドについては、Game Manager のドキュメントを参照してください。
Players
Winter Starfall タイトルでは、プレイヤー情報を保護するために Game Manager の Players セクションが非表示になっています。通常は、ゲーム内のプレイヤーの完全な一覧をクエリし、個別のアカウントを選択して Game Manager からデータを更新できます。プレイヤー概要ページからは、インベントリ アイテム、すべてのログイン記録、Player data など、プレイヤーに関連するすべての情報を表示できます。
Data & Analytics
Analyze セクション配下の一部の機能も、タイトル情報およびプレイヤー情報を保護するために制限されています。この制限には Data および Audit History セクションが含まれます。Data セクションには、Data Explorer のような機能が含まれており、PlayFab イベント レコードをクエリして表示できます。これにより、特定のプレイヤーがログインしたときなどのイベント (API 呼び出し) を確認できます。
その他
タイトル設定では Secret keys タブが非表示になっています。シークレット キー管理のドキュメントを参照してください。
次のステップ
デモを試した後は、これらの記事から PlayFab の仕組みについて学ぶことをお勧めします。- Game Manager の詳細を確認する
- Entity モデルについて確認する
- PlayFab Services SDK について確認する
