[レポート] GS2ではじめるサーバー開発運用しないゲーム開発 – CEDEC+KYUSHU 2019
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の紹介でした。
ゲームサーバーなしでゲームを作れるとすると、インディーズゲームとかでも需要が多そうな気がします。
みなさんも使ってみてください。
自分も近い内に手を出してみようかと思います。