このセクションの目的は、インベントリ、ストア、バンドルなど、Economy V2 の一部の機能を使用して "クラフト ゲーム" を作成する手順を説明することです。
注意
この例は、PlayFab API (具体的には Economy V2 モジュール) に直接接続する C# コンソール アプリケーションとして Visual Studio 2022 を使用して実行されました。
ゲームのコンテキスト
開始する前に、まずゲームの基本ルールと要件を確立する必要があります。
ここでは、さまざまなアイテムを組み合わせてアイスクリームを作る必要があるシンプルなテキストベースのクラフト ゲームを構築します。 PlayFab Economy V2 システムを使用して、さまざまなクラフト レシピと現在のプレイヤーのインベントリの内容に関する情報を格納します。
基本アイテム
ゲームには、次のアイテムのセットがあります。
- ストーン
- カットストーン
- ゴールド
- 電動工具
- アイスボックス
- クリーム
- アイスクリーム
[アイテムの作成] ステップに到達したら、それらのアイテムを作成する必要があります。
インベントリの開始
各プレイヤーは、次のアイテムと数量がインベントリにある状態でゲームを開始する必要があります。
- 3 つのストーン
- 1 つのゴールド
- 1 つのクリーム
場所/ストア
これらのアイテムのクラフトを実行するためにプレイヤーがアクセスする必要がある固有のストア/マーケットプレースを表す 3 つの別々の場所にすべてのアイテムをグループ化する必要があります。
レシピ/アイテムをクラフトするには、レシピ/アイテムの価格に従って必要な数のアイテムを消費する (差し引く) 必要があります。クラフトされるアイテムはすべてプレイヤーに付与されます。 次の一覧は、すべての場所と、そこで利用できるレシピの詳細を示しています。
場所 1: サイエンス マシン
- 2つのストーンから 1 つのカットストーンが作成されます
- 1 つのカットストーン + 1 つのゴールドから 1 つの電動工具が作成されます
場所 2: 錬金術エンジン
- 1 つの電動工具 + 1 つのストーンから 1つのアイスボックスが作成されます
場所 3: キッチン
- 1 つのクリーム + 1 つのアイスボックスから 1 つのアイスクリームが作成されます
注意
キッチンでアイスクリームを作るには、アイスボックスが 1 つ必要ですが、アイスボックスは消耗品ではありません。 つまり、取引後も、取引前と同じ数のアイスボックスがインベントリに残っていなければなりません。
他の機能
インベントリのリセット
プレイヤーが自分のインベントリをリセットできる機能を追加することもできます。 プレイヤーはインベントリを空にするか、最初のインベントリ アイテムにリセットするかを選択できます。 後で詳しく説明する ExecuteInventoryOperations API 呼び出しを使用することもできます。
PlayFab を使用する
ゲームのコンテキストが明確になったところで、PlayFab をどのように使ってゲームに取り組むのかが気になります。 話は非常に単純で、「クラフト」の世界では、PlayFab はゲーム内の活動を購入として処理します。 ゲームのクラフト用の "レシピ" も PlayFab の価格に変換されます。 また、ゲームの場所に関して言えば、PlayFab はユーザーがそこに行ってアイテムを作成 (購入) できるストアにすぎません。
たとえば、ユーザーが 1 つのアイスボックスを作成したいとします。それには、1 つの電動工具と 1 つのストーンが必要です。表面上は、これはクラフト (作成) のように見えますが、舞台裏では、ユーザーが 1 つの電動工具と 1 つのストーンの価格と引き換えにアイスボックスを購入しています。 この場合、1 つの電動工具と 1 つのストーンのリストはアイスボックスを作成するためのレシピとして扱われますが、実際には、それは単なる価格リストです。 ユーザーがアイスボックスを作成するには、ゲーム内の錬金術エンジンの場所に行く必要があります。この場所は GameManager 上では単なるストアとして設定されています。