概要 アクセス タイムテーブル インタビュー 会場マップ 登壇者一覧 講演動画・スライド
チケット購入
unity
概要 アクセス タイムテーブル インタビュー 会場マップ 登壇者一覧 講演動画・スライド

Unite
Tokyo
2019

インタビュー

サーバレスアーキテクチャで「手頃な価格で落ちないゲームサーバ」を提供

2019-08-22 update

丹羽 一智

Game Server Services/代表取締役CEO

京都コンピュータ学院を卒業後、セガに入社し、携帯電話向けのゲーム開発およびサーバ開発業務に従事。その後、任天堂に移籍してゲーム機本体のOS/SDKの設計・開発、ゲームサーバの設計・開発・運用業務を担当する。これら約10年におよぶゲーム開発・大規模ゲームサーバ開発の経験を活かし、2016年に独立。ゲームサーバ基盤Game Server Services の開発・拡大を推進している。

オンラインゲーム向けBaaSを提供

はじめにGame Server Services(GS2)社の簡単な自己紹介をお願いします。

はい。弊社はオンラインゲームの開発に必要な、サーバ側のさまざまな仕組みをクラウド上で提供している会社です。IT業界的にいうと、いわゆる「BaaS(Backend as a Service)」を提供している会社、ということになりますね。サービス名は社名と同じGame Server Servicesで、このたび第二世代にアップデートされました。

どういった仕組みを提供されているのですか?

スマートフォンのソーシャルゲームを作る上で、絶対に必要になるものの、それだけでは差別化が難しい機能ですね。たとえばセーブデータの引き継ぎ機能、課金通貨管理機能、ガチャ機能、チャット機能などです。ゲームを作られている方々に対して、こうした機能の実装に力を割くのではなく、もっとクリエイティブな仕様の実装に注力してほしい……そんな思いで開発をしています。

丹羽さん自身のご経歴も教えてください。

京都コンピュータ学院を卒業後、セガに入社して携帯電話向けのゲーム開発に従事しました。まだフィーチャーフォンの時代で、フロントエンドとバックエンドの両方を経験できました。そこで3年間働いた後、任天堂に移りまして、ニンテンドー3DS®のOSとSDK開発や、サードパーティ向けのゲームサーバ設計・開発・運用に7年間従事しました。その後、2016年に独立して現在に至るという流れです。

セガと任天堂を渡り歩くってすごいですね。会社は愛知県ですが、ご出身はどちらなんですか?

実は滋賀県なんです。なので、京都の学校で学んで、東京で就職して、もう一度京都に戻ってきて、そこから愛知県で起業したことになりますね(笑)。1Fがスタジオで3Fが住居になっています。

創業3年目ということですが、会社の規模はどれくらいですか?

フルタイムで働いているのが自分を含めて2人で、他にパートタイムのエンジニアが6名います。副業解禁の流れを受けて、ゲーム業界でもパートタイムで他社の業務を手伝いたいというニーズが高まってきました。弊社でもそうした方々にリモートワークでお仕事をしていただいています。大手で働いているエンジニアの方もいらっしゃいますよ。

アートワークでリモート業務という話は聞きますが、エンジニアでもいち早く行われているのはすごいですね。他にも会社に猫がいたりと、働き方改革を率先されていますね。

フルタイムで働いてくれている、もう一人のエンジニアが、弊社で働くようになって初めて、猫アレルギーだということがわかったんですよ。そのため、大急ぎで空気清浄機も導入しました(笑)。

コアコンピタンスはサーバレスアーキテクチャ

もともと、どういったきっかけで起業されたんですか?

ゲーム業界はスタンドアロンの時期が長かったので、IT業界に比べてサーバインフラの技術が遅れている会社が多かったんですね。自分が任天堂で担当していたのも、ゲームサーバの設計・開発・運用を通して、そうした会社を開発支援することでした。これは今でも同じで、スマホのソーシャルゲームを開発されている企業が、それぞれ独自に似たようなゲームサーバの開発を行っています。ただ、ゲームサーバにはエンタテインメント業界特有の問題がありまして……。

アクセスが集中しすぎて、サーバがダウンしてしまう、などですね。

そうなんですよ。ゲームのトラフィックは人気タイトルほど膨大なものになります。アクセス障害を防ぐためには、基本的にはアクセスを大量に捌くしかなくて、そのためには大量のサーバを並列で使用するしかありません。最近はあまり聞かなくなりましたが、フィーチャーフォンの頃はローンチと同時にサーバがダウンしてしまう、などの問題が頻繁にありましたよね。

風物詩的なところがありましたよね。ただ、サーバのスケーラビリティの問題は、クラウド化によってある程度、解決されているのではないでしょうか?

いや、現実的にはなかなかそういうわけにもいかないんです。これは会社によっても異なりますが、一般的に「普段から大量の使用実績があれば対応もしやすいが、そうでなければ難しい」と考えてもらえればいいと思います。そのため、無名のゲーム会社がいきなりヒットを飛ばすと、対応が後手に回ってしまうのが現状です。その結果、ユーザーの方にご迷惑をおかけしてしまう……ということになります。一方でヒットが予測できないのに、最初からサーバを大量に並べるのは、コスト的に見合いませんよね。

なるほど。それがGS2では解決できるというわけですか?

そうですね。そこで鍵を握るのがサーバレスアーキテクチャという技術です。2015年前後から一般的に使えるようになり、これを使ってゲームサーバを構築したら問題解決につながるのでは……と考えたことが、起業のきっかけになりました。

サーバレスアーキテクチャとは、どのような技術ですか?

その前に一般的なサーバについて簡単にご説明します。オンラインゲームで必要なさまざまな機能を提供するサーバ、いわゆるアプリケーションサーバと呼ばれるものは、基本的に24時間365日、動作することが求められます。ただ、サーバってそもそも、そういうものですよね。そして、これはサーバがオンプレミスでもクラウドでも、基本的には変わりません。

そうですよね。

これに対してサーバレスアーキテクチャを用いたサーバでは、外部からのイベントが発生するたびに起動して、イベントが終わると終了する、といった使い方が可能です。これによりコストを大きく抑えながら、安定性の高いサーバを構築することができます。そもそも、サーバがなぜ落ちるかというと、動作しているサーバに対して、処理負荷を超えるアクセスが集中するからなんですね。これに対してサーバレスアーキテクチャでは、イベントに応じてサーバが自動的に起動して処理を行うため、「処理負荷を越える」という状況が発生しません。

なるほど。

課金面でも通常のクラウドサーバでは、原則として仮想マシンの起動時間中、常に費用が発生します。これに対してサーバレスアーキテクチャでは、ファンクションが呼ばれてから、ファンクションが終了するまでの間のみ課金されます。これによって、劇的にサーバのコストを抑えることが可能になります。

ホームページのトップに「手頃な価格で落ちないゲームサーバは欲しいか?」と書かれていて驚かされましたが、そういった理由があるのですね。ちなみに限界値はどのあたりでしょうか?

弊社の計測だと、秒間10万リクエストまで大丈夫です。アプリストアでランキング一位をとるような人気ゲームで、だいたい秒間5.5万リクエストなので、まだ余裕があります。この限界を上げるためには、現在の実績ベースでの上限緩和を調整していくことになっています。つまり、実績が付けばまだキャパシティは増やせるということですね。

まとめると、サーバレスアーキテクチャを採用しているGS2を使用すると、インディや小規模スタジオでも、インフラ側の開発費や固定費を抑えて、スマホのソーシャルゲーム開発が可能になるというわけですね。

そのとおりです。

Unity向けに二種類のSDKを用意

新しくリリースされた第二世代では、第一世代と比べて何が変わりましたか?

第一世代ではサーバの時間あたり利用料金と、API呼び出しあたりの利用料金の組み合わせで提供していました。これが第二世代では、API呼び出しあたりの利用料金に統合されました。1回のAPIアクセスあたり 0.02円となっていて、毎月100万回(2万円相当)の無料枠もあります。使っていないときには一切費用の発生しないフェアプライシングなサービスに変化したと思います。

アカウント管理機能、アクセストークン、チャット、ゲーム内アイテムの管理、ガチャ、ゲーム内通貨、プッシュ通知、メッセージボックス……こうした機能が数十種類も用意されていて、驚きました。しかも、ドキュメントがすべて日本語で書かれているのが嬉しいですね。

日本人が開発していますからね(笑)。こうしたゲーム開発に必要な要素をコンポーネント化して、必要な機能だけを組み込んでいただけるようにしています。

個人開発者やインディーズには福音になりそうですね。一方で大手ではすでに同等のシステムを社内で構築していて、必要ないと考えられる会社もありそうです。

そこは他のゲームエンジンやミドルウェアと同じだと思っているんです。Unityも当初は個人開発者やインディーズから徐々に浸透していって、気がついたら大手でも採用されるようになり、業界標準的な存在になりましたよね。実際、保守運用の手間などもあり、社内開発とアウトソースの切り分けはあらゆるところで進んでいくと思います。GS2も同じ戦略を狙っています。

Unityの話が出ましたが、GS2との連携はどのようになっていますか?

Unity 向けのSDKが用意されていて、簡単にゲームに組み込むことができます。コードを書いて組み込む低レベルSDKに加えて、Prefabを配置するだけで組み込める高レベルSDKも提供されているので、あとはスクリプト側からAPIを叩くだけで、驚くほど簡単に実装していただけます。

会社によってはオンプレミスでゲームサーバを運用していたり、クラウドサーバとのハイブリッド環境で運用していたりする場合がありますが、そうした環境でもGS2は使用可能ですか?

大前提としてGS2はオンプレミス環境で使用することはできません。冒頭でお話しした通り、GS2はフルサーバレスアーキテクチャで設計されていますので、クラウド上でしか動かないんです。ただ、オンプレミス環境で動作しているゲームサーバからGS2に対して、APIでつなぎこみをして連携を取ることはできます。チャットが欲しい。となったときにその部分だけ導入するといったことも可能です。

「IT業界の普通」を「ゲーム業界の普通」にしたい

他に「Unite Tokyo 2019」を通して訴えたいメッセージはありますか?

これは講演内で話す内容でもあるのですが、GS2では「IT業界では当たり前の運用ノウハウをゲームの運営にも応用できないか」という問題意識で開発が始まっています。サーバレスアーキテクチャをいち早く取り入れ、弊社のコアコンピタンスとしている点はその一つです。他にサーバ管理の自動化、いわゆるオーケストレーションの考え方も、GS2では積極的に取り入れています。この点にも注目してほしいですね。

具体的にはどういったものになりますか?

たとえばソーシャルゲームの運営では、さまざまなイベントが行われますよね。その際、運営側はイベントごとにストア・クエスト・アイテムなど、さまざまなデータを用意して、事前に登録しなければいけません。その上で、イベントが終わったら、これらを取り下げる必要があります。こうした作業は多くの場合、運営プランナーによって手作業で行われています。

たしかに。

これだと2つの点で問題があります。第1に人為的なミスが発生しやすいこと。そして第2に再現性が乏しいことです。復刻イベントなどで過去のイベントを再現しようとしても、きちんと記録をとっていなければ、できませんよね。これに対してGS2ではイベントに必要なリソースをテキストファイルに記述してアップロードすれば、前回アップロードした時の差分を検出してサーバに設定を自動的に反映してくれるのです。イベント終了後に設定ファイルを削除すれば、元に戻ります。

なるほど。これは運営チームに喜ばれそうですね。ただ、言われてみれば当たり前の機能でもあり、すでに同等の機能が使われているのかと思っていました。

ゲーム業界では、まだ珍しいのではないでしょうか。そもそも、ネットワークエンジニアが業界の内外で取り合いになっていますからね。優秀な人材ほどゲーム業界外に流れてしまいがちな現状も、IT業界の当たり前がゲーム業界になかなか波及しない遠因になっていると思います。ちなみに、これは第二世代から実装した機能の一つです。

それでは最後に来場者に向けてメッセージをお願いします。

スマホゲームも最近では市場がかなり成熟してきて、競争が激化してきました。この状況は10年くらい前のコンソールゲーム業界に似ています。当時はUnityをはじめとしたゲームエンジンやミドルウェアの導入が日本でも始まった時期で、それに伴い企業の淘汰や再編も行われました。これに対してスマホゲームでは今、アジアを中心に海外産のゲームがどんどん上陸してきていて、国内開発が危機にさらされています。だからこそ、開発環境に投資して開発効率の最適化を進めていく必要があるのではないでしょうか。そうした時にGS2を検討材料に加えていただければ幸いです。「Unite Tokyo 2019」では講演に加えてブース出展も行いますので、ぜひ足をお運びください。

Game Server Services HP