Skip to main content

Winter Starfall のソース コードとシナリオ

このチュートリアルには、Winter Starfall のソース コードをダウンロードして実行する手順と、ログインおよび購入シナリオのベスト プラクティスを示すコード サンプルの解説が含まれています。

ソース コードのダウンロード

前提条件

  • Node JS をインストールする
  • Visual Studio Code をインストールする

ローカル開発のセットアップ

  1. GitHub からソース コードをダウンロードします。
  2. VS Code で /website フォルダーを開き、推奨されるすべての拡張機能をインストールします。
  3. /website ディレクトリで npm install を実行し、すべての依存関係をインストールします。
  4. npm run dev を使用してサイトを起動します。表示されるリンクを選択してサイトを確認します。

Azure 資格情報

AZURE_CREDENTIALS シークレットを更新するには、Azure Portal のシェルで次のコマンドを実行します。 az ad sp create-for-rbac --name "VanguardOutrider2" --role contributor --scopes /subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP_NAME --json-auth

ログイン フロー

Winter Starfall のプレイヤー認証フローには 2 つのステップがあります。ログイン呼び出しと、サービスからプレイヤー情報を取得してストーリーの正しい位置にロードするために使用されるログイン後関数です。

プレイヤー認証

ログイン部分については、use-login.tsx ファイルで、プレイヤーが利用できる複数の認証方法を処理する TypeScript ラッパー関数が定義されています。 144 ~ 169 行目では、電子メール アドレスによるログインのコールバック関数が定義されており、ログインに成功した場合にログイン後関数を呼び出します。
このゲームは、プレイヤー アカウントが失われないよう、電子メール、Google、Facebook という 3 つの回復可能なプレイヤー認証方法を提供しています。詳細については、ログインのベスト プラクティスを参照してください。

ログイン後: プレイヤー データの取得

セキュリティ トークンが取得されると、それを使用してログイン後関数を実行し、保存されたゲーム状態を取得します。 340 ~ 378 行目では postLoginFunctions が定義されており、さまざまな Economy と PlayFab Services の API を呼び出して、プレイヤーに応じた正しいストーリーの位置、インベントリ アイテム、通貨などをロードします。
  • まず ClientGetTitleData がすべての API 呼び出しに必要なシークレット キーを取得します。
  • 次に EconomySearchItems がカタログから通貨とアイテム タイプを検索します。
  • その結果を EconomyGetInventoryItems の入力として使用し、プレイヤーのインベントリ アイテムを返します。
  • そして ClientGetUserData が、プレイヤー データの一部としてストーリーの位置を保存している値を取得します。

購入フロー

ゲームの特定のポイントで、プレイヤーはストアからインベントリ アイテムを購入したり売却したりできます。購入フローは別のラッパー関数として実装されています。use-store.tx ファイルの 40 ~ 69 行目では、特定の場所でプレイヤーが遭遇する正しいストアを表示し、カタログを検索して販売中のアイテムを設定します。
EconomyGetItemuse-playfab.tsx の 423 ~ 446 行目で定義されており、その中で PlayFab Economy API の GetItems を使用してカタログを検索し、アイテムを返します。
購入が行われると、PurchaseInventoryItems API への呼び出しが行われます。これは use-playfab.tsx の 540 ~ 565 行目で定義されています。

アイテムの売却

売却フローは、Azure Functions で動作する CloudScript を使用して Economy システムの機能を拡張する例です。 SellItem.cs では、アイテムを売却する際に実行される CloudScript 関数を定義しています。 49 ~ 61 行目では、PlayFab の GetTitleData API を使用してストア乗数を取得し、売却価格を計算しています。
CloudScript 関数は、use-store.ts の 161 ~ 187 行目で呼び出されます。
Winter Starfall をローカルで実行するには、CloudScript 関数をサポートするための Azure アカウントが必要です。無料の Azure アカウントに登録し、上記の手順に従って Azure 資格情報を正しくリセットしてください。

関連項目

最終更新日 2026年8月7日