はじめに
GS2-Schedule はゲーム内のイベントスケジュールを管理するマイクロサービスです。
イベントには大きく2種類存在し、すべてのプレイヤーを対象とした絶対時間でイベント期間を定義するものと、プレイヤーごとに対象期間が異なるトリガーが引かれてから一定時間をイベント期間として定義するものがあります。
後者はチュートリアル終了時にトリガーを引くことで、チュートリアル突破から24時間をイベント開催期間として定義できるようなものを想像してください。
機能追加の背景
最近のゲームでは、チュートリアル突破後の期間経過で機能が解放されるような仕様が増えています。
これは、ローンチ後期間が経過したゲームを遅れて開始したプレイヤーが膨大なコンテンツの波に飲まれて混乱しないようにするような配慮によるものだと思われます。
この時、日付が経過するたびにトリガーを引くのはあまり健全ではありません。あくまでトリガーを引くのはチュートリアル突破時のみにしたいです。
追加された機能の詳細
トリガーが引かれてからの経過時間で検証するために以下の VerifyAction が追加されました。
Gs2Schedule:VerifyTriggerByUserId
型 | 説明 | ||
namespaceName | string | ネームスペース名 | |
userId | string | #{userId} と設定することでログイン中のユーザーIDに置換されます | |
triggerName | string | トリガーの名前 | |
verifyType | enum [notTriggerd, elapsed, notElapsed] | 検証の種類 | |
elapsedMinutes | int | 経過時間(分) |