> For the complete documentation index, see [llms.txt](/ja/llms.txt)


# ゲームのデータと処理の流れ

設定とプレイヤーのデータ、Unity と GS2 の役割を振り返るための資料です。



各章で使うデータの考え方を、まとめて確認したいときの資料です。手順に必要な説明は、各章にも載せています。

## ゲームの設定とプレイヤーのデータ

ゲームを作るときには、「ルールとして決めておくこと」と「遊ぶうちに変わっていくこと」があります。

たとえば「森の探索をクリアすると 10 コインもらえる」はゲームの設定です。一方、「このプレイヤーは 30 コイン持っている」は、プレイヤーごとのデータです。GS2 では、この二つを分けて管理します。

| 用語           | このゲームでの例                     | 更新するタイミング               |
| -------------- | ------------------------------------ | -------------------------------- |
| マスターデータ | 森の探索の報酬は 10 コイン           | 開発者が設定を変更して反映する   |
| ユーザーデータ | このプレイヤーは 30 コイン持っている | プレイヤーの操作やサーバーの処理 |

たとえば、30 コイン持っているプレイヤーが森の探索をクリアすると、GS2 は報酬の設定を見て 10 コインを加えます。保存されている残高は、これで 40 コインになります。

画面や演出、ボタン操作は、Unity で作るゲームクライアントが担当します。「冒険を開始する」ボタンが押されたら、Unity から GS2 に開始をリクエストします。GS2 が設定とプレイヤーのデータを調べて処理したあと、Unity がその結果を受け取り、画面に表示する流れです。

## 開発者が設定を反映する

```mermaid
flowchart LR
    A[報酬や消費量を設定する] --> B[GS2へデプロイ]
    A --> C[Unityで使う表示データ]
    B --> D[GS2が処理に使う設定]
    C --> E[一覧と画面の表示]
```

まず、報酬の枚数や冒険に必要なスタミナを設定し、GS2 にデプロイします。Unity 側に商品名や価格を表示するためのアセットがあるときは、そちらも更新しておきます。

たとえば商品の価格を変えるなら、実際に支払うコインだけでなく、画面に出る価格も変える必要があります。両方が同じ金額になっているか、購入するときに確かめてみましょう。

## プレイヤーが操作する

```mermaid
sequenceDiagram
    participant P as プレイヤー
    participant U as Unity
    participant G as GS2
    P->>U: 冒険を開始
    U->>G: プレイヤーと冒険を指定
    G->>G: 開始条件を確認して冒険を開始
    G-->>U: 処理結果
    U-->>P: 進行状況とスタミナを表示
    P->>U: 冒険を完了
    U->>G: 冒険のクリアを報告
    G->>G: 報酬を付与して冒険を終了
    G-->>U: 処理結果
    U-->>P: コインと進行状況を表示
```

## このゲームで使うサービス

| サービス               | このチュートリアルでの役割                             |
| ---------------------- | ------------------------------------------------------ |
| GS2-Account と認証機能 | プレイヤーを識別し、ログインする                       |
| GS2-Quest              | 冒険の設定と、進行中の冒険を管理する                   |
| GS2-Money2             | 報酬として得た無償コインを管理する                     |
| GS2-Stamina            | 冒険で消費するスタミナを管理する                       |
| GS2-Exchange           | コインの消費とスタミナの回復を一つの操作として処理する |

GS2-Exchange は、コインを支払ってスタミナを回復するショップに使います。コインの支払いとスタミナの回復をまとめて処理できるよう、<a href='' target="_blank" rel="noopener">TransactionSettingV2（別タブ）</a> を設定します。

## 少し考えてみましょう

「森の探索の報酬を 15 に変更する」「自分のコインが 15 増える」「一覧の報酬表示を 15 に更新する」は、それぞれマスターデータ、ユーザーデータ、画面表示のどれを変える操作でしょうか。この違いを知っておくと、「設定を変えたのに画面が変わらない」といったときにも、どこを調べればよいか見当を付けやすくなります。



