GS2 Blog

Game Server Services(https://gs2.io/) の最新情報をお届けします

検証アクションと消費アクションが区別されるようになりました

はじめに

GS2 においてプレイヤーの操作は最終的に「何かのリソースを消費」し「何らかのリソースを得る」という処理として表現されます。
何かのリソースを消費する処理を「消費アクション」と呼び、何かのリソースを得る処理を「入手アクション」と呼び、一連の処理を「トランザクション」と呼んでいます。

機能追加の背景

これまで「アイテムの所持数量が n 個であることを確認」「ミッション x が達成済みであることを確認」というようなトランザクションアクションは「消費アクション」に分類していました。

gs2.hatenablog.com

こちらの対応を進めるにあたって、If 文の condition に指定できる消費アクションと、指定できない消費アクションを区別する必要が生じました。

変更された内容

これまで「消費アクション」に分類していた中で、プレイヤーのパラメーターの内容を検証するアクションを全て「検証アクション」という新しい分類に区別することにしました。

これまでトランザクションを発行するマイクロサービスのマスターデータは 「consumeActions」「acquireActions」が定義できるのが定番のフォーマットでしたが、これからはトランザクションを発行可能かを判定する検証処理を格納する 「verifyActions」が追加されました。

互換性を維持するために引き続き検証アクションに分類されたトランザクションアクションも「consumeActions」に記述が可能です。
しかし、今日より推奨する記述場所は「verifyActions」になります。

この変更に伴い、マネージメントコンソールのマスターデータエディタでは、あたらしく「検証アクション」に分類されたアクションは「consumeActions」のプルダウンでは選択できなくなります。
すでに consumeActions に設定されている検証アクションについては引き続き設定が可能ですが、一度別のアクションに変更すると再度設定することはできなくなります。

GS2-Deploy を使ったオーケストレーションでは特に今回の影響を受けず、今後も consumeActions に検証アクションを設定する記法が利用し続けることができます。

(C) Game Server Services, Inc.