GS2 Blog

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

GS2-StateMachine に投機的実行機能が追加されました

はじめに

GS2-StateMachine はステートマシンをサーバーで管理することで、ゲーム開発者が定義した独自のゲームロジックを、チート耐性が高い状態で実行する仕組みです。

GS2-StateMachine の詳細は以下の記事で解説しています。

gs2.hatenablog.com

機能追加の背景

ステートマシン管理機能は柔軟な処理を、安全に実行できる仕組みです。
しかし、欠点としてステートマシンにメッセージを送信するたびに通信をしなければならないため、通信頻度の高いゲーム性ではプレイ体験の面でもGS2のAPI呼び出しコストの面でも課題がありました。

追加された機能の詳細

ステートマシン定義をサーバーとゲームで共有し、ゲームはステートマシン定義に基づいてステートマシンを実行することで通信待ちせずに投擲に処理を実行し
ステートマシンに送信したメッセージや、状態遷移した際の状態変数の変化を一定間隔でまとめて GS2-StateMachine に送信し、GS2-StateMachine は受け取ったイベントを元に同じステートマシン定義を使用したステートマシンで状態を再現しつつ、状態変数の変化が正しいかを検証することができるようになりました。

以下のメカニズムで処理が実行されます。

これにより、ステートマシンの実行にあたって通信待ちをすることなく、通信回数を減らすことが可能となり、GS2-StateMachine がより扱いやすいものになりました。

詳細なドキュメントは以下をご確認ください。

docs.gs2.io

(C) Game Server Services, Inc.