Winter Starfall のソース コードとシナリオ
このチュートリアルには、Winter Starfall のソース コードをダウンロードして実行する手順と、ログインおよび購入シナリオのベスト プラクティスを示すコード サンプルの解説が含まれています。ソース コードのダウンロード
前提条件
- Node JS をインストールする
- Visual Studio Code をインストールする
ローカル開発のセットアップ
- GitHub からソース コードをダウンロードします。
- VS Code で
/websiteフォルダーを開き、推奨されるすべての拡張機能をインストールします。 /websiteディレクトリで npm install を実行し、すべての依存関係をインストールします。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 行目では、電子メール アドレスによるログインのコールバック関数が定義されており、ログインに成功した場合にログイン後関数を呼び出します。ログイン後: プレイヤー データの取得
セキュリティ トークンが取得されると、それを使用してログイン後関数を実行し、保存されたゲーム状態を取得します。 340 ~ 378 行目では postLoginFunctions が定義されており、さまざまな Economy と PlayFab Services の API を呼び出して、プレイヤーに応じた正しいストーリーの位置、インベントリ アイテム、通貨などをロードします。- まず
ClientGetTitleDataがすべての API 呼び出しに必要なシークレット キーを取得します。 - 次に
EconomySearchItemsがカタログから通貨とアイテム タイプを検索します。 - その結果を
EconomyGetInventoryItemsの入力として使用し、プレイヤーのインベントリ アイテムを返します。 - そして
ClientGetUserDataが、プレイヤー データの一部としてストーリーの位置を保存している値を取得します。
購入フロー
ゲームの特定のポイントで、プレイヤーはストアからインベントリ アイテムを購入したり売却したりできます。購入フローは別のラッパー関数として実装されています。use-store.tx ファイルの 40 ~ 69 行目では、特定の場所でプレイヤーが遭遇する正しいストアを表示し、カタログを検索して販売中のアイテムを設定します。EconomyGetItem は use-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 を使用してストア乗数を取得し、売却価格を計算しています。
Winter Starfall をローカルで実行するには、CloudScript 関数をサポートするための Azure アカウントが必要です。無料の Azure アカウントに登録し、上記の手順に従って Azure 資格情報を正しくリセットしてください。
関連項目
- ログイン フロー
- 購入フロー
- Economy V2 のドキュメント
- Economy V2 についてさらに学ぶための次のステップとして、クラフト ゲームのチュートリアルを試してみることもお勧めします。このチュートリアルは、ストアとインベントリの機能を使用してサンプル ゲームを構築することに重点を置いています。
