GS2 Blog

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

GS2-Mission がカウンター以外のプロパティと連携して達成判定ができるタスクを定義できるようになりました

はじめに

GS2-Mission はゲーム内のミッション(トロフィーや実績ともいわれる)機能を提供します。

機能追加の背景

これまで、GS2-Mission で定義できるタスクはカウンターの値が目標値を超えた時に達成とする仕組みとして提供されてきました。
しかし、ミッションの設計によってはこの範囲に収まらないデータがあるのも事実でした。
具体的な例を挙げると「キャラクターAのレベルが100に達した」というようなミッションです。

これまでの仕様でも GS2-Experience のランクアップ時のスクリプトでミッションのカウンターを上昇させることで似たような実装をすることも可能でしたが、値が二重管理となってしまい、データにずれが起こった時に修正するのが困難でした。

今回追加された機能

タスクに ConsumeActions を設定し、ConsumeActions を満たしている場合にタスクを達成と判定することが可能となりました。
ConsumeActions にはアイテムを消費するようなトランザクションアクションを設定することは想定しておらず、値の検証を行う Verify から始まるトランザクションアクションを設定することを想定しています。

例に挙げた GS2-Experience のランクが規定値に達しているかを判定するのであれば Gs2Experience:VerifyRankByUserId が使用できます。

GS2-Experience トランザクションアクション | Game Server Services | Docs

(C) Game Server Services, Inc.