検証
検証をするにあたって、現在の多くのサーバーシステムはいくつかの課題を抱えています。
- 検証項目に対応した環境のセットアップ
- 時間に関する検証
- サーバー負荷に関する検証
検証項目に対応した環境のセットアップ
検証に使用するインフラは直接的な利益を生みません。 そのため、環境を維持するコストは問題視されがちです。
結果として、貧弱な検証環境が出来上がり、それが非効率な業務を産んでいることがあります。 GS2 は pay-as-you-go スタイルの課金形態を採用することで、環境を増やしてもアクセスしなければコストは発生しません。 さらに、環境をセットアップするのも GS2-Deploy を利用すればすぐに準備が整います。
これら特性により、検証項目に応じた環境の増減が用意に行えるようになります。 具体的には、以下の検証を行いたい時、従来の開発スタイルでは直列で検証業務をする必要がありましたが、GS2 では並列で業務を行えます。
- 1日1回クエストに挑戦できる回数制限が正しく機能していることの確認
- クエストのドロップ報酬の内容が適切であること
上記例は「クエストに挑戦できる回数に制限があることでドロップ報酬の内容を確認しづらくなる」という状況です。 このような場合、回数制限を無くしたバージョンを別環境に用意し、そこでドロップ報酬の内容を検証してもらうことができます。 別環境を用意するコストが高いとこの判断が行えず、一方を確認した後でもう一方の確認をすることになり、検証にかかる時間が増大します。
時間に関する検証
特定の時刻になったらイベントが開始されることを検証するのも一つ難しい課題です。 時間に関する処理は不具合の発見が難しく、できれば検証環境ではイベントの期間を時間を早めるようなことはせず、本番環境に適用する GS2-Deploy のテンプレートを共通化したいです。
GS2 では時間に関する処理に対して、時刻オフセットを指定して利用できる仕組みを提供しています。 時刻オフセットの指定には GS2-Account を利用している場合は、アカウント単位で異なるオフセットを指定できますし、 GS2-Auth を使用してアクセストークンを発行している場合は、アクセストークンを発行する時のパラメータでオフセットを指定できます。
この機能を利用すれば、2週間後に開催されるイベントのQAを行うのに、+2週間のオフセットをつけた アカウント もしくは アクセストークン で検証することで GS2-Schedule のイベント開催期間を変更することなく検証を行うことが可能となります。
サーバー負荷に関する検証
ゲームプレイヤーをサーバーに招き入れる前に、大量のプレイヤーが遊びに来ても問題なくサービスを提供できるのか、サーバー負荷に関する検証が必要となります。 多くのゲームは過去の実績のないサーバーシステムのため、この検証は念入りに行う必要があるでしょう。
しかし、GS2 は多数のゲームをホストしており、GS2のアーキテクチャは秒間10万を超えるAPIリクエストを処理できることを検証済みです。 そのため、GS2 の利用者はサーバー負荷に対して気にする必要はありません。
しかし、どうしても心配な場合は負荷テストのレポートを GS2 に有償で依頼することができます。 その方法も非常に単純です。
一般的なゲームプレイヤーが行うのと同等のプレイをできれば10人以上で1時間ほどプレイします。 そのプレイを行った際に利用した GS2 のアカウントIDと、プロジェクト名 と時間帯、そして想定される CCU を GS2 に共有します。 GS2 はそのアクセス履歴からテストシナリオを作成し、CCU 相当になるようアクセス数を増幅してテストを実施しレポートを作成します。
これまで負荷テストを行ったことがある方であれば、これがいかに簡単なプロセスかを理解できるはずです。