NAV Navbar
Python Java GS2-Deploy Template
 

GS2-SDK

Game Server Services は 様々なプログラミング言語向けの SDK を提供しています。 GS2 の提供しているマネージメントコンソールも公開されている SDK を使用して開発されており、ゲームに特化した運営ツールの作成などに活用できます。

一般的な内容

スタンプシート

スタンプシートの概念

GS2 では各サービス間を連携させる仕組みとして、 スタンプシート というシステムを使用します。 スタンプシート は 企業における稟議書のようなもので、 結果 を得るために 許可 を得ていく処理を表現し、最後に 結果 を処理するパートは 許可を得たことで得られる署名が揃っていること だけを見て処理を実行します。

GS2 において 結果は報酬 許可は対価 として処理されます。 つまり、すべてのサービス間の連携は 対価報酬 で表現され、例えばクエストでは スタミナや回数制限のカウンター上昇を対価 として 経験値やクリアフラグを報酬として得る となります。 スタンプシートの 対価 を支払う処理を スタンプタスク とよび、サービスに スタンプタスク を持っていき 対価 を支払うとスタンプシートにスタンプを押してもらえます。 最後に 報酬 を付与するサービスにスタンプシートを持っていくと、スタンプタスクにすべてスタンプが押されていることを確認して 報酬 が付与されます。

スタンプシートの変数

スタンプシートスタンプタスク は処理の実態としてGS2のリクエストを発行します。 スタンプタスク には対価を払う処理ですので、プレイヤーのリソースを減らす処理ののリクエストが設定でき、 スタンプシート はその逆です。 それぞれ、どの ユーザのリソースを操作するか という情報をリクエストに含める必要がありますが、ゲーム内ストアやクエストのマスターデータに直接ユーザIDを指定するのは不可能です。 そこで、 スタンプシート のリクエストには変数が適用できます。 報酬の内容に #{userId} というプレースホルダーを設定すると、その部分はスタンプシートを発行する際にスタンプシートの発行をおこなったプレイヤーのユーザIDに置換されます。

その他、スタンプシートの発行リクエストには Config というパラメータが渡せるようになっています。 Config はキーバリュー形式となっており、ここで渡したパラメータは #{Config で指定したキー値} のプレースホルダを置換するのに使用できます。