[レポート] GS2ではじめるサーバー開発運用しないゲーム開発 – CEDEC+KYUSHU 2019

2019.11.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CX事業本部の夏目です。

先週末CEDEC+KYUSHU 2019に行ってきたので、セッションレポートの続きです。

今回はゲームのバックエンドをSaaS化したGame Server Service (GS2)のセッションです。

スライド

セッションそのものはCEDEC 2019のときとほとんど同じらしいので、CEDiL(CEDECの登壇スライドDLサイト)で公開されている資料ベースで書いていきます。

Game Server Services ではじめる サーバー開発運用しないゲーム開発

スライド数も多いので、印象に残ったスライドをベースに書いていこうと思います。

セッション

今日のコードは明日の技術的負債」。
ゲーム開発者の一番の責任は、ゲームを面白くすること。

コアバリューに関係のないものはやらないことで、開発効率を上げていく。


国内であったリリース直後の大規模アクセスの2倍以上のアクセスに耐えられるように作った。


フルサーバーレスアーキテクチャを採用したことで、アクセスが来なければGS2に請求が来ない仕組みを作った。
AWSやGCPのキャパシティが許す限りスケールアウトできる。

障害が起きてもAWSの責任で復旧してもらう。


ログインボーナスを1日1回だけ進行できるクエストと考えて、1日の進行回数制限や週に一度進行状況をリセットすることで、実装する。





GS2でできること。
特に熱弁してた(スライドに書いてないこと言ってた)機能だけをピックアップする。
他にも色々と機能が提供されているから、スライド等をみて欲しい。

資金決済法にも対応。
未使用残高1000万未満なら対応しなくてもいいんだけど、超えたら必要になる。

ちょっと解釈が面倒な二次通貨の管理にも対応してる。

  • 課金してスタミナを回復すると、使用した解釈する
  • 課金してスタミナ回復アイテムを買った場合、未使用の課金と解釈され、スタミナ回復アイテムを使った段階で使用済みの課金と解釈する

持ち物がいっぱいのときにプレゼントボックスに置いておく機能。
持ち物が上限に引っかかると、ガチャ引けなかったりクエストができなかったりするゲームもあるけど、ちょっともったいない。

GS2で設定さえしておけば、自動的にあふれた分はプレゼントボックスに届けてくれる。

特にこの機能は色々なところに関係するから、実装しようとするとあちこちに分散しちゃう。
バグの温床になってしまう。

同じカウンターを複数スコープで参照可能。
例えば、今週のクエストクリア回数、今月のクエストクリア回数とか。

テストで便利なのがオフセット機能。

今まではテストサーバーだけ時間を進めたり、サーバー側のロジックで時間をずらしていた。
戻し忘れて時間がずれるとか、たまに起きる。

ログイン時のパラメータで時刻をずらすことができるから、QAさんだけイベント期間中にずらしてテストとかできる。

2段階の上限値を設定できる。
レベルアップや回復アイテムを使って、自然回復の上限値を超えて回復できる。
2段階目の上限を超えたらプレゼントボックス行き。

回復の間隔/量/最大値は経験値ランク管理と連携させて、シティビルディング系のゲームでも使える。
施設のレベルアップで手に入るアイテムの数を増やしたり、取得までの間隔を短くしたり、させることができる。

まとめ

以上GS2の紹介でした。

ゲームサーバーなしでゲームを作れるとすると、インディーズゲームとかでも需要が多そうな気がします。
みなさんも使ってみてください。

自分も近い内に手を出してみようかと思います。