> ## 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 示範遊戲概觀

> 探索 Winter Starfall，這是 PlayFab 的可玩示範遊戲，可端對端展示帳戶、經濟系統、配對和分析等即時服務功能。

# 示範遊戲：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 (目錄、貨幣、組合、商店)
* 遊戲資料、玩家資料和其他核心 PlayFab 函式
* 用於與玩家溝通的遊戲新聞
* 搭配 Azure Functions 的 Cloud Script

## 其他示範功能

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。[原始程式碼和案例教學課程](/zh-TW/services/playfab/demo-game/source-code-and-best-practices)會深入逐步解說登入流程以及玩家驗證的最佳做法。

[深入了解 PlayFab 驗證](/zh-TW/services/playfab/identity/player-identity/authentication)

### Economy

身為奇幻角色扮演遊戲 (RPG)，Winter Starfall 包含經濟系統，讓玩家可以造訪商店、購買物品，並透過戰鬥賺取貨幣。PlayFab 最新的經濟服務會處理遊戲中與庫存和商務相關的一切。[原始程式碼和案例教學課程](/zh-TW/services/playfab/demo-game/source-code-and-best-practices)會深入逐步解說遊戲中發生的購買流程。

[深入了解 Economy V2](/zh-TW/services/playfab/economy-monetization/economy-v2/overview)

### 玩家資料

PlayFab 中的玩家具有由不同功能儲存在服務中的相關資料。玩家資料這項功能可讓您將玩家相關資訊儲存在索引鍵/值組或物件和檔案中，並可在多個遊戲和裝置之間共用。

在 Winter Starfall 中，玩家資料用來儲存遊戲狀態以及哪些角色已加入玩家隊伍等資訊。當玩家在故事中推進時，系統會透過呼叫 [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 - 要求**

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

**GetUserData - 回應**

```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
}
```

[深入了解玩家資料功能](/zh-TW/services/playfab/player-progression/player-data)

### 遊戲資料

遊戲資料與玩家資料類似，都會儲存索引鍵/值組，只不過資料屬於遊戲本身，而非特定玩家。Winter Starfall 將遊戲資料與 Economy 系統搭配使用，透過儲存值為 `sell, 0.5` 的 `multipliers` 值，計算出售物品時的價格。如需銷售流程運作方式的詳細資訊，請參閱[原始程式碼和案例教學課程](/zh-TW/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 遊戲資料概觀" width="1280" height="800" data-path="images/playfab/demo-game/winterstarfall-title-data.jpg" />

[深入了解遊戲資料](/zh-TW/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) - 玩家贏得戰鬥後，執行一系列動作以授與經驗值、物品，並新增隊伍成員。
* [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) - 啟用以折扣價出售物品，這並非經濟系統的固有功能。[原始程式碼和案例教學課程](/zh-TW/services/playfab/demo-game/source-code-and-best-practices)會更詳細地說明購買/銷售流程。

[深入了解搭配 Azure Functions 的 CloudScript](/zh-TW/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>

### 遊戲新聞

遊戲新聞用來與遊戲範圍內的所有玩家溝通。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" />

除了遊戲新聞之外，PlayFab 還提供其他溝通功能，例如電子郵件和推播通知的範本。

[深入了解遊戲溝通方法](/zh-TW/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 文件](/zh-TW/services/playfab/live-service-management/gamemanager)
</Note>

### 玩家

為了保護玩家資訊，Winter Starfall 遊戲中隱藏了 Game Manager 的 **Players** 區段。通常，您可以查詢遊戲中的完整玩家清單，並選取個別帳戶以透過 Game Manager 更新其資料。從玩家概觀頁面，您可以檢視與玩家相關的所有資訊，包括庫存物品、所有登入的記錄、玩家資料等。

<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" />

### 資料和分析

**Analyze** 區段下的某些功能也受到限制，以保護遊戲和玩家資訊。此限制包括 **Data** 和 **Audit History** 區段。**Data** 區段包含 [Data Explorer](/zh-TW/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" />

[稽核歷程記錄](/zh-TW/services/playfab/live-service-management/gamemanager/audit-logs)可讓您檢視具有編輯存取權的任何人對遊戲所做的變更歷程記錄。

如需 **Data** 區段中其他功能的完整檢視，請參閱[資料和分析文件](/zh-TW/services/playfab/data-analytics)。

### 其他

在遊戲設定下，**Secret keys** 索引標籤會隱藏。請參閱[祕密金鑰管理文件](/zh-TW/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="顯示祕密金鑰頁面的 Game Manager UI" width="1280" height="800" data-path="images/playfab/demo-game/secret-keys.jpg" />

## 後續步驟

試用示範之後，建議您從下列文章開始，深入了解 PlayFab 的運作方式：

* 深入了解 [Game Manager](/zh-TW/services/playfab/live-service-management/gamemanager)
* 了解[實體模型](/zh-TW/services/playfab/live-service-management/game-configuration/entities)
* 了解 [PlayFab Services SDK](/zh-TW/services/playfab/sdks/sdk-overview)

## 另請參閱

* [玩 Winter Starfall](https://winterstarfall.com/)
* [教學課程：下載原始程式碼和範例流程](/zh-TW/services/playfab/demo-game/source-code-and-best-practices)


## Related topics

- [Vanguard Outrider (舊版)](/zh-TW/services/playfab/demo-game/legacy-vanguard-outrider.md)
- [原始程式碼和最佳做法 - Winter Starfall](/zh-TW/services/playfab/demo-game/source-code-and-best-practices.md)
- [PlayFab 基礎](/zh-TW/services/playfab/get-started/index.md)
- [遊戲概觀](/zh-TW/services/playfab/data-analytics/learn-data/reports/title-overview-report.md)
- [多人遊戲概觀](/zh-TW/services/xbox-services/multiplayer/overviews/multiplayer-intro.md)
