> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Winter Starfall PlayFab デモ ゲームの概要

> PlayFab のプレイ可能なデモ ゲームである Winter Starfall を紹介します。アカウント、Economy、マッチメイキング、分析などのライブ サービス機能をエンド ツー エンドで確認できます。

# デモ ゲーム: Winter Starfall

Winter Starfall は、PlayFab が開発したゲームで、さまざまな機能を紹介し、ライブ ゲームでどのように実装されているかを確認するための手段を提供します。

このゲームは [WinterStarfall.com](https://winterstarfall.com/) でプレイできます。PlayFab 開発者アカウントを既にお持ちの場合は、開発者ポータルの My Studios and Titles ページからもアクセスできます。

<img src="https://mintcdn.com/microsoft-4404708b/68AB2fedpk3M7e-n/images/playfab/demo-game/demo-games-overview.png?fit=max&auto=format&n=68AB2fedpk3M7e-n&q=85&s=4312da1a7db281fb614184912df424b7" alt="デモ ゲームが表示されている Game Manager のホームページ" width="1100" height="600" data-path="images/playfab/demo-game/demo-games-overview.png" />

このゲームは Web アプリとして構築されており、PlayFab SDK の API と PlayFab の Azure Functions 統合を使用してカスタム機能を実装しています。現在、このゲームでは次の PlayFab 機能を使用しています。

* Economy V2 (カタログ、通貨、バンドル、ストア)
* Title data、player data、その他のコア PlayFab 機能
* プレイヤーとのコミュニケーションのための Title news
* Azure Functions を使用した CloudScript

## その他のデモ機能

Winter Starfall には、PlayFab の「舞台裏」で何が起きているかを確認しやすくするための機能が付属しています。ゲームは誰でもプレイできますが、これらの機能をフルに活用するには、[無料の開発者アカウント](https://developer.playfab.com)への登録が必要です。

右上のプロフィール アイコンの隣にある PlayFab アイコンを選択すると、PlayFab アクティビティ サイドバーが開きます。

<img src="https://mintcdn.com/microsoft-4404708b/21eXsQWfZsj4EYti/images/playfab/demo-game/winter-starfall-activity.webp?fit=max&auto=format&n=21eXsQWfZsj4EYti&q=85&s=054047b1d948df754d82778ae711bd27" alt="winter-starfall-profile" width="3211" height="1359" data-path="images/playfab/demo-game/winter-starfall-activity.webp" />

1. アクティビティ サイドバーには、ゲームをプレイする際に更新される API 呼び出しの一覧が表示されます。各 API 呼び出しにはタグが付けられ、どの PlayFab SDK に関連するかを示す色分けがされています。
2. 一覧から API 呼び出しを選択して、完全な API 要求と応答を表示できます。
3. **View title F8941** を選択すると、Game Manager でタイトルが開き、さまざまな機能がどのように構成されているかを確認できます。この手順で PlayFab 開発者アカウントによるサインインが求められます。
4. **Clear** を選択すると、アクティビティ バーから現在の通知がすべて削除されます。

<Note>
  デモ ゲームはいつでもプレイできますが、Game Manager にアクセスするには[無料の開発者アカウント](https://developer.playfab.com)への登録が必要です。
</Note>

## 含まれる PlayFab 機能

以下のセクションでは、ゲームで使用されているさまざまな PlayFab 機能について、より詳細に説明します。

### 認証

PlayFab ゲームで最初に発生するのはプレイヤーのログインです。ログインすると、その後のすべての API 呼び出しに必要な認証トークンが返されます。Winter Starfall は、電子メール、Microsoft (OpenID 経由)、Google、Facebook による、回復可能なさまざまな形式のサインインをサポートしています。[ソース コードとシナリオのチュートリアル](/services/playfab/demo-game/source-code-and-best-practices)では、サインイン フローとプレイヤー認証のベスト プラクティスを詳しく解説しています。

[PlayFab 認証の詳細を確認する](/services/playfab/identity/player-identity/authentication)

### Economy

ファンタジー ロールプレイング ゲーム (RPG) である Winter Starfall には、プレイヤーがストアを訪れ、アイテムを購入し、戦闘で通貨を獲得するための Economy システムが含まれています。PlayFab の最新の Economy サービスが、ゲーム内のインベントリと商取引に関するすべてを処理します。[ソース コードとシナリオのチュートリアル](/services/playfab/demo-game/source-code-and-best-practices)では、ゲームで発生する購入フローを詳しく解説しています。

[Economy V2 の詳細を確認する](/services/playfab/economy-monetization/economy-v2/overview)

### Player data

PlayFab のプレイヤーには、さまざまな機能によってサービスに保存される関連データがあります。Player data 機能では、複数のゲームやデバイス間で共有できるキー/値ペアまたはオブジェクトおよびファイルとして、プレイヤー関連情報を保存できます。

Winter Starfall では、Player data を使用してゲームの状態や、プレイヤーのパーティに加わったキャラクターなどの情報を保存します。プレイヤーがストーリーを進めると、その位置が [UpdateUserData](xref:titleid.playfabapi.com.client.playerdatamanagement.updateuserdata) API を通じてプレイヤー プロフィールに記録されます。このデータはサインイン時に `GetUserData` でアクセスされ、これまでの進行状況を保ちつつ、プレイヤーをストーリーの正しい地点にロードします。

<img src="https://mintcdn.com/microsoft-4404708b/68AB2fedpk3M7e-n/images/playfab/demo-game/winterstarfall-player-data.jpg?fit=max&auto=format&n=68AB2fedpk3M7e-n&q=85&s=49372a116bcafd08eb85bb8ae82bba41" alt="winter-starfall-player-data" width="1280" height="800" data-path="images/playfab/demo-game/winterstarfall-player-data.jpg" />

たとえば、以下はログイン フロー中の `GetUserData` 呼び出しの API 要求と応答本文の例です。

**GetUserData - Request**

```json theme={null}
{
  "Keys": [
    "stats",
    "location",
    "party",
    "notifications",
    "cinematicProgression",
    "enemyGroupProgression"
  ]
}
```

**GetUserData - Response**

```json theme={null}
{
  "code": 200,
  "status": "OK",
  "data": {
    "Data": {
      "location": {
        "Value": "{\"id\":\"intro\",\"map\":[\"intro\",\"intro-village\"]}",
        "LastUpdated": "2024-09-20T18:16:13.68Z",
        "Permission": "Private"
      },
      "party": {
        "Value": "{\"characters\":[{\"id\":1,\"armor\":\"dfae3ef9-92a0-493b-9bb8-f88a09718d26\",\"weapon\":\"32e1f684-43b0-4fe6-982e-b0829ff0d6f3\",\"spells\":null}],\"guests\":[]}",
        "LastUpdated": "2024-09-20T18:16:13.68Z",
        "Permission": "Private"
      }
    },
    "DataVersion": 20
  },
  "CallBackTimeMS": 97
}
```

[Player data 機能の詳細を確認する](/services/playfab/player-progression/player-data)

### Title data

Title data は Player data と同様にキーと値のペアを保存しますが、データは特定のプレイヤーではなくゲーム タイトルに関連付けられます。Winter Starfall では、Economy システムで Title data を使用し、値 `multipliers` を `sell, 0.5` として保存することで、アイテム売却時の価格を計算します。売却フローの仕組みの詳細については、[ソース コードとシナリオのチュートリアル](/services/playfab/demo-game/source-code-and-best-practices)を参照してください。

<img src="https://mintcdn.com/microsoft-4404708b/68AB2fedpk3M7e-n/images/playfab/demo-game/winterstarfall-title-data.jpg?fit=max&auto=format&n=68AB2fedpk3M7e-n&q=85&s=c90a1a2de5f2b0cdefc3b93630023a1f" alt="Game Manager での Winter Starfall の Title data の概要" width="1280" height="800" data-path="images/playfab/demo-game/winterstarfall-title-data.jpg" />

[Title data の詳細を確認する](/services/playfab/live-service-management/game-configuration/titledata)

### Azure Functions を使用した CloudScript

CloudScript は、サーバー側にカスタム機能を実装できる柔軟な機能で、他の PlayFab 機能と組み合わせることで、ほぼ無限のソリューションを実現できます。

このゲームでは、以下のような多くのシナリオを解決するためにこの機能を使用しています。

* [CombatVictory](https://github.com/PlayFab/winter-starfall/blob/main/azure-functions/CombatVictory.cs) - プレイヤーが戦闘に勝利した後、exp やアイテムの付与、パーティ メンバーの追加などの一連のアクションを実行します。
* [PlayerCreated](https://github.com/PlayFab/winter-starfall/blob/main/azure-functions/PlayerCreated.cs) - 新しいプレイヤーに開始時のアイテムとステータスを装備させます。
* [ProgressCheckpoint](https://github.com/PlayFab/winter-starfall/blob/main/azure-functions/ProgressCheckpoint.cs) - ストーリーの主要ポイントに到達した後、アイテムやキャラクターをアンロックするためのアクションを実行します。
* [ResetPlayer](https://github.com/PlayFab/winter-starfall/blob/main/azure-functions/ResetPlayer.cs) - ユーザー データ、アイテム、統計情報を消去して完全にリセットします。
* [SellItem](https://github.com/PlayFab/winter-starfall/blob/main/azure-functions/SellItem.cs) - アイテムを割引価格で売却できるようにします。これは Economy システムに標準で備わっている機能ではありません。購入/売却フローの詳細は、[ソース コードとシナリオのチュートリアル](/services/playfab/demo-game/source-code-and-best-practices)で解説しています。

[Azure Functions を使用した CloudScript の詳細を確認する](/services/playfab/live-service-management/service-gateway/automation/cloudscript-af)

<Note>
  Winter Starfall の CloudScript 関数は C# で記述されていますが、[Azure Functions](https://learn.microsoft.com/azure/azure-functions/supported-languages?tabs=isolated-process%2Cv4\&pivots=programming-language-csharp) がサポートする任意の言語を使用できます。
</Note>

### Title news

Title news は、タイトルに関連付けられたすべてのプレイヤーとコミュニケーションを取るために使用されます。Winter Starfall では、ゲームプレイのヒントや通知を表示する通知システムとして実装しています。

<img src="https://mintcdn.com/microsoft-4404708b/68AB2fedpk3M7e-n/images/playfab/demo-game/winterstarfall-title-news.jpg?fit=max&auto=format&n=68AB2fedpk3M7e-n&q=85&s=dfa9a280fd3013c08a2e038f90f99f7e" alt="winter-starfall-title-news" width="3321" height="1930" data-path="images/playfab/demo-game/winterstarfall-title-news.jpg" />

Title news に加えて、PlayFab は電子メールやプッシュ通知のテンプレート化など、その他のコミュニケーション機能も提供しています。

[タイトルのコミュニケーション方法の詳細を確認する](/services/playfab/live-service-management/game-configuration/title-communications/overview)

## デモの制限事項

Winter Starfall は実際のプレイヤー データによって動作しているため、Game Manager ビューでは一部の機能がスコープ制限されています。このセクションでは、制限された機能が Game Manager でどのように見えるかを概説します。これらのページを詳しく見るには、[ソース コードをダウンロード](https://github.com/PlayFab/winter-starfall)してゲームのローカル インスタンスを実行するか、新しいタイトルを一から作成できます。

<Note>
  開発者ポータルの機能に関する完全ガイドについては、[Game Manager のドキュメント](/services/playfab/live-service-management/gamemanager)を参照してください。
</Note>

### Players

Winter Starfall タイトルでは、プレイヤー情報を保護するために Game Manager の **Players** セクションが非表示になっています。通常は、ゲーム内のプレイヤーの完全な一覧をクエリし、個別のアカウントを選択して Game Manager からデータを更新できます。プレイヤー概要ページからは、インベントリ アイテム、すべてのログイン記録、Player data など、プレイヤーに関連するすべての情報を表示できます。

<img src="https://mintcdn.com/microsoft-4404708b/68AB2fedpk3M7e-n/images/playfab/demo-game/player-overview.png?fit=max&auto=format&n=68AB2fedpk3M7e-n&q=85&s=ab0d5defe256d9be89f5a8faac3b169c" alt="プレイヤー概要" width="1280" height="1200" data-path="images/playfab/demo-game/player-overview.png" />

### Data & Analytics

**Analyze** セクション配下の一部の機能も、タイトル情報およびプレイヤー情報を保護するために制限されています。この制限には **Data** および **Audit History** セクションが含まれます。**Data** セクションには、[Data Explorer](/services/playfab/data-analytics/learn-data/data-explorer) のような機能が含まれており、PlayFab イベント レコードをクエリして表示できます。これにより、特定のプレイヤーがログインしたときなどのイベント (API 呼び出し) を確認できます。

<img src="https://mintcdn.com/microsoft-4404708b/68AB2fedpk3M7e-n/images/playfab/demo-game/demo-game-data.png?fit=max&auto=format&n=68AB2fedpk3M7e-n&q=85&s=dd8dd0c11b6e7ed7208422e8a10d4b40" alt="データ ページ" width="1280" height="1400" data-path="images/playfab/demo-game/demo-game-data.png" />

[監査履歴](/services/playfab/live-service-management/gamemanager/audit-logs)では、編集権限を持つ担当者によってタイトルに加えられた変更の履歴を確認できます。

**Data** セクションのその他の機能の全容については、[Data & Analytics のドキュメント](/services/playfab/data-analytics)を参照してください。

### その他

タイトル設定では **Secret keys** タブが非表示になっています。[シークレット キー管理のドキュメント](/services/playfab/live-service-management/gamemanager/secret-key-management)を参照してください。

<img src="https://mintcdn.com/microsoft-4404708b/68AB2fedpk3M7e-n/images/playfab/demo-game/secret-keys.jpg?fit=max&auto=format&n=68AB2fedpk3M7e-n&q=85&s=a152e4f9929b777d3e1767ec65e06bf6" alt="Secret Keys ページが表示されている Game Manager UI" width="1280" height="800" data-path="images/playfab/demo-game/secret-keys.jpg" />

## 次のステップ

デモを試した後は、これらの記事から PlayFab の仕組みについて学ぶことをお勧めします。

* [Game Manager](/services/playfab/live-service-management/gamemanager) の詳細を確認する
* [Entity モデル](/services/playfab/live-service-management/game-configuration/entities)について確認する
* [PlayFab Services SDK](/services/playfab/sdks/sdk-overview) について確認する

## 関連項目

* [Winter Starfall をプレイする](https://winterstarfall.com/)
* [チュートリアル: ソース コードのダウンロードとフロー例](/services/playfab/demo-game/source-code-and-best-practices)


## Related topics

- [Vanguard Outrider (レガシー)](/ja-jp/services/playfab/demo-game/legacy-vanguard-outrider.md)
- [PlayFab の基礎](/ja-jp/services/playfab/get-started/index.md)
- [ソース コードとベスト プラクティス - Winter Starfall](/ja-jp/services/playfab/demo-game/source-code-and-best-practices.md)
- [PlayFab Party の概要](/ja-jp/services/playfab/multiplayer/networking/index.md)
- [Live Service Management の概要](/ja-jp/services/playfab/live-service-management/overview.md)
