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

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

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

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

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

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

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

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

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

開発者が設定を反映する

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

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

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

プレイヤーが操作する

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 は、コインを支払ってスタミナを回復するショップに使います。コインの支払いとスタミナの回復をまとめて処理できるよう、TransactionSettingV2(別タブ) を設定します。

少し考えてみましょう

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