日本のスタートアップ界隈にはゲームを作ったり配信するパブリッシャーは多いが、ゲーム開発に必要な開発ツールやインフラ系サービスを作ろうというスタートアップは珍しい。
2016年9月に名古屋で設立されたばかりのスタートアップ企業「Game Server Services」(GS2)は「サーバレス・アーキテクチャー」とか「FaaS」(Function as a Service)と呼ばれる設計思想に基づいたゲーム開発者向けインフラサービスを近日β版として提供予定という。そのGS2が今日、同じく名古屋でスマホ向けネイティブアプリ・ゲームを開発・運営するワンダープラネットから数百万円規模のシード出資を受けたことを明らかにした。
ワンダープラネット自身も2012年創設の名古屋拠点のスタートアップ企業で、これまでグローバル・ブレイン、ユナイテッド、ジャフコ、LINE Game Global Gateway、ニッセイ・キャピタル、SMBCベンチャーキャピタル、JAIC-ブリッジ、みずほキャピタルなどから12億円以上の投資を受けている。当然ワンダープラネットはゲームシステムの開発・運用を行っているが、今後は自社タイトルでもGS2を導入する予定があるといい、今回のGS2への投資では事業シナジーも見込んでいる。
GS2への出資と同時にワンダープラネットは、同じくスマホ向けゲーム開発プレイネクストジャパンの全株式を取得して100%子会社することも発表している。買収額は数億円前半とみられる。ワンダープラネットは2013年から2016年に社員数が8倍の63人になるなど急成長している。自社開発の新作として、LINEとの提携による大型タイトルをリリースも直前という。
サーバ→クラウド→コンテナ→サーバレスという時代の流れ
「サーバレス」は2015年夏頃から技術者たちが注目している比較的新しい技術アーキテクチャだ。もともとはAmazonがクラウドで始めたAWS Lambdaが発端となっている。当初オンプレミス(会社のサーバルームにサーバを置くこと。スタートアップなら机の下だ)やデータセンターに設置したサーバーを使って提供してきたサービスやアプリケーションは、徐々に仮想化という技術でクラウドやコンテナへ移行。物理サーバーと切り離された運用単位となってスケーリングやアプリのデプロイ(配備)が容易になってきた。とはいえ、クラウドのIaaSやコンテナを使っていると、サーバOSの保守、管理、運用というサーバ管理が必要となる。
それに対して、Amazon Lambdaでは、すでにクラウド上にあるデータなどに対して、ある操作を実行せよという「関数」のように実行できる。1つ1つの実行時間は短く、Amazon Lambdaでは5分以内に実行が終わることが前提となる。そこにはもはやサーバという概念はない。これがサーバレスという形容矛盾のような用語の由来だ。
そうすると何が良いか?
もはやサーバ(インスタンス)を意識する必要はないし、利用したいタイミングで利用した分だけ課金という柔軟なサービス利用が可能となる。ゲーム開発であれば、事前にヒット具合を予測してサイジングしたり、ヒットしたタイミングでインスタンスを増やすといったような運用管理が不要になる。GS2では、小さなゲームタイトルだとサーバエンジニアを雇わずにサービス継続が可能だとしている。
これはプログラミングでも同様だが、相互依存しない複数の関数を組み合わせてシステム全体を設計すると、個々の機能の独立性が高まることから並列実行することが可能となる。またシステム内部の相互依存部分が減ることで人間のエンジニアにとっても自明性が高まるというメリットがある。分散可能ということは関数はどこで実行しても良いので物理的分散によって耐障害性もグンと高まることが期待できる。
ゲームインフラに特化したサービス
GS2が提供するサービスはBaaSやmBaaSと似ているようにも見えるが、ユニークなのは、ゲーム専用にAPIとSDKを用意していることだ。SDKや詳細な技術ドキュメントはここにあるが、現時点で利用可能なサービスを以下に引用してみよう。
・GS2-Auth
GS2-Auth は GS2 のサービスを利用する上で必要となるアクセストークンを発行するサービスです。あらゆるサービスを利用する前に、GS2-Auth を利用してアクセストークンを取得し、そのアクセストークンを利用してサービスを利用することになります。
・GS2-Identifier
GS2-IdentifierはGS2内のサービスで利用される認証システムを提供します。GS2-IdentifierはクライアントIDとクライアントシークレットという2つのトークンを発行します。これら2つのトークンを合わせてGSIと呼びます。GSI毎にどのAPIにアクセスしてもいいか許可する設定をする機能も備わっています。
・GS2-Matchmaking
マルチプレイヤーゲームを実現するために必要なマッチメイキング機能を提供します。「誰とでも」「カスタムオート」「パスコード」「ルーム」の4種類のマッチメイキング方式を用意しており、様々なニーズに応えることができます。
・GS2-Realtime(Beta)
マルチプレイヤーゲームを実現する際に必要となる通信パケットの中継サーバ機能を提供します。これによりWebSocketを利用したリアルタイム性の高いマルチプレイヤーゲームを待ち受けポートのルーティングなどの問題を高度な技術を要すること無く回避し、実現することができます。
・GS2-Ranking
スコアやクリアタイムを競うようなゲームでのランキングを実現するための機能を提供します。プレイヤー数が数億人単位になったとしても、自分の順位の取得や、とあるスコアを取得したとしておおよその順位を予測する。といった高度な操作を高速に実行することができます。
・GS2-Inbox
メールボックス機能を実現するための機能を提供します。メッセージ開封時に指定したURLに通知する機能などがあるため、通知を受けた際にアイテムを付与することでプレゼントボックスとしてサービスを利用することもできます。
・GS2-Stamina
ゲームをプレイするために必要なポイントであるスタミナ値を管理する機能を提供します。マルチデバイスで同一アカウントを利用した際に、同時にスタミナの消費を行うことで不正に2回プレイする。というような不正行為が行えないよう衝突判定などが実装されています。
・GS2-Timer
指定した時刻に指定したURLにアクセスを発生させる機能を提供します。この機能を利用すれば指定した時刻にアカウントBANを解除するような実装をcronジョブのような原始的な方法を利用しなくても実現できます。
・GS2-Watch
GS2-WatchはGS2で提供しているアプリケーションのモニタリングサービスです。GS2-Watchを利用してメトリックを収集し、条件に従ってアラームを出すこともできます。
・GS2-Notification
GS2-NotificationはGS2で発生したイベントを予め指定したメールアドレスや、URLに通知するサービスです。GS2内のサービスの状況を確認できるGS2-Watchと組み合わせると、サービスの利用状況に応じてアラートを出すことができます。
ちなみに上記サービスは基本的にAWS上で動いているが、統計情報提供のバックエンドには一部GCPのBigQueryを採用するなど異なるクラウド・インフラを使っているそうだ。
かつてゲームエンジンをゲーム開発各社が独自に開発していた時代がある。それがやがて汎用ゲームエンジンを用いた開発にシフトしたように、サーバシステム開発でも、こうした汎用機能セットによって各社のインフラ管理運用を代替していく、というのがGS2の狙いだ。
GS2を創業した丹羽一智CEOはセガ、任天堂出身でゲーム開発、サーバ一ステムの設計・開発業務に従事していたが、サーバレスアーキテクチャに惚れ込んでGS2を創業。今後、家庭用ゲーム機向けの開発者たちもスマホ市場へなだれ込むと見ていて、そうした「一軍レベル」の開発者たちにないサーバ運用の知識を補完するようなサービスを提供していきたいと話している。
GS2のサービスは1時間で数円からという価格で提供を予定しているといい、12月中にもサービス公開するそうだ。