コンテンツに移動
Google Cloud

株式会社セガ・インタラクティブの導入事例:超高負荷かつ高速なレスポンスが求められる通信対戦ゲームを Google Cloud Platform を駆使して効率的に運用

2018年6月15日
Google Cloud Japan Team

https://storage.googleapis.com/gweb-cloudblog-publish/images/25E3258225A225E3258225BB25E32583258325E32583.max-400x400.PNG

ビデオゲーム黎明期から数々の傑作ゲームを世に送り出し、今日までゲームシーンのど真ん中で活躍し続けているセガグループ。株式会社セガ・インタラクティブは、その一員として、アミューズメント施設向けにさまざまな作品を開発。『チュウニズム』のような音楽ゲームから、本格リアル競馬メダルゲーム『スターホース』シリーズなど、さまざまな作品を世に送り出してきました。今回はその最新作『ソウルリバース』で、Google Cloud Platform(GCP) が採用された理由を最前線の開発メンバーが語ります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/6JPtVfS9TA6_OhRZGscYjDxHhq0SV-hmb2YW6QtY4.max-1600x1600.JPEG

■ 利用しているGoogle Cloud Platform サービス

Google Compute EngineGoogle Cloud StorageGoogle Cloud Load Balancing など

■ 写真左から

第二研究開発本部
第一開発部 プログラムセクション

 スペシャリスト 松崎 大氏

 アシスタントマネージャー 鈴木 孝佳氏

 スペシャリスト 須見 昌之氏

 セクションマネージャー 村松 誉教氏

株式会社セガ・インタラクティブ

セガサミーホールディングスが有する 3 つの事業グループのうち、エンタテインメント コンテンツ事業を司る「セガホールディングス」のアミューズメント事業部門担当企業の 1 つ。全国のユーザーとリアルタイムに対戦プレイを楽しめるネットワークゲームを中心に、プライズマシンやメダルゲームなどまで、幅広いデジタル遊具の開発・製造・販売を行っている。

10 倍のネットワーク負荷に耐えうる環境が必要だった


セガ・インタラクティブが 2018 年 2 月に正式リリースした『ソウルリバース』は、ゲームセンターなどのアミューズメント施設に置かれる 32 型タッチパネルモニター搭載の汎用筐体でプレイする多人数対戦アクションゲーム。各施設を繋ぐネットワーク越しに最大 20 人のプレイヤーが集い、2 つのチームに分かれて、敵陣営のボスである「神将」を倒すべく戦うというもの。同社では、これまで『ボーダーブレイク』(2009 年~)という、多人数対戦シューティング ゲームをオンプレミス環境で運営してきたが、『ソウルリバース』に関しては、それとは次元の異なるネットワーク負荷が予想され、従来環境ではとても対応しきれないということがわかったとのこと。

https://storage.googleapis.com/gweb-cloudblog-publish/images/GotnKivIpG5ixvpVbZIcHCJQCe6UBxFm7eKUzpDFM.max-1600x1600.JPEG
多人数対戦アクションゲーム『ソウルリバース』

「10 対 10 ではあったのですが、プレイヤーが操作するキャラクター以外にも多くのノンプレイヤーキャラクターが登場するため、実質的には何十対何十になってしまいます。また、ゲーム性も遠方から撃ち合うシューティングから、近距離でぶつかり合うアクションへと変わり、通信に要求される精度とレスポンスも大きく跳ね上がりました。結果として、『ボーダーブレイク』の 10 倍を超えるようなネットワーク負荷がかかるという試算に。そこでオンプレミス環境の強化も含め、さまざまな選択肢を検討。最終的に GCP を導入することにしました。」

と、2015 年末の開発開始時をふり返るのは『ソウルリバース』でテクニカルディレクターをつとめた須見 昌之さん。その際、決定打となったのが、GCP がシンプルな構造であったこと。実は、これまでのセガ・インタラクティブのネットワーク対戦ゲームでは、インフラ部分を専門の別部署が担当しており、『ソウルリバース』の開発チーム内にインフラ構築のノウハウがなかったそうなのです。

「パブリック クラウドを導入する場合は、インフラ周りの整備もチーム内で行わなければなりません。そう考えると、少しでもシンプルでわかりやすいサービスを選びたかったのです。導入検討時に Google さんから、ゲーム開発に実績のあるパートナーとして株式会社grasys さんをご紹介いただき、彼らの強い熱意に打たれたという面も少なからずあったように思います。」(須見さん)

https://storage.googleapis.com/gweb-cloudblog-publish/images/sZINGmKICKNzPumAXIN7d02gvXgmOkPYASUQ8iZB7.max-1600x1600.JPEG

開発中もサービス開始後も大きなトラブルには見舞われず


そして翌年、2016 年 5 月頃から、GCP を使用した本格的な開発がスタート。チームとしては初のパブリッククラウドでのゲーム開発となりましたが、Google Compute Engine 上の仮想マシンで動かす方針を採っていたため、これまでのノウハウを活かしたスムーズな開発ができたそうです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/soul_reverse_server_outline_20180413vqoq.max-700x700.PNG
『ソウルリバース』システム構成図

「もちろん、Google ならではのマネージド サービスを使いたいという気持ちはあったのですが、一般的なサービスと比べて特殊な通信を行う各サーバーとパブリッククラウドの相性がどうなるか、少しでも早くテストをしたいという事情もあったため、今回はリスクの少ない手慣れたやり方を選択しています。」(松崎さん)

「そうしてテスト環境が動き始めたのが 2016 年の夏頃。ただ、そこで何か問題が起きたかというとまったくそんなことはなく……。GCP はインスタンスの作成や削除が素早く行えるため非常にテストがしやすく、コマンドラインでのインスタンス操作が充実していることなどもあり、つまずくことなくサーバー構築を行うことができました。ダミークライアントで 2~3 千台のテストを実施するなど、オンプレミス時代ではできなかったようなことを手軽にできるようになったことも大きかったですね。結果として、インフラ周りではリリースまで大きなトラブルは発生しませんでした。またその後、今日に至るまで、クラウド起因の問題は発生していません。そしてインフラの運用、変更や調整など、日々の作業部分において別部署を挟まずに対応できるスピード感や自由度も大きなメリットになったと感じています。」(鈴木さん)

https://storage.googleapis.com/gweb-cloudblog-publish/images/FeDlf6PAF0Nk0G-FAyISao2ReoePXopkNCF1fC5CI.max-1600x1600.JPEG

もちろん、これほどスムーズに開発が進んだことには理由があります。開発チーム プログラムセクションのリーダーである村松 誉教さんは、「grasys」の貢献が大きかったと評価しているようです。

「正直、我々だけでやっていたら、きっとどこかでハマってしまっていたでしょうね。何か問題が起きても、社内に聞ける人もいませんでしたから……。今回、初のパブリッククラウド導入に際し、GCP パートナーに入っていただいたのは大正解でした。Slack などで問い合わせると、ほぼリアルタイムに返事が返ってくるというのはとてもありがたかったです。」(村松さん)

https://storage.googleapis.com/gweb-cloudblog-publish/images/lSBEn-aD-9Ytt9twS34Ug8vlNYn3aNwhM5p8B8L_l.max-1600x1600.JPEG

BigQuery などの Google サービスを活用してさらなる品質改善を目指す


そして、正式リリースから数か月が経過した、2018 年 4 月末現在、『ソウルリバース』は、およそ 3,000 台の筐体が日本全国で稼働中。開発チームは、ゲーム体験のさらなる向上に向けて動き始めています。

「サービスが始まると、ユーザーからの問い合わせに対し、サポートから調査の依頼が来るようになります。現在は、それを膨大なログを漁り対応しているのですが、この部分を BigQuery に置き換えることを検討中です。これが実現できれば、問い合わせに素早く応答できるようになるため、我々の負担軽減だけでなく、お客さまにとっても大きなメリットがあると考えています。」(松崎さん)

「ログの活用については、今のところそうした調査にしか利用できていないのですが、今後は、お客さまのプレイスタイルの収集・解析などにも役立てていきたいですね。BigQuery や Tensorflow などを使って、ステージ構成の改善など、ゲームの品質向上に寄与できればいいなと考えています。」(鈴木さん)

その上で、より長期的には Google の Kubernetes Engine の導入も具体的に検討中とのこと。これまで自前で構築していた死活監視の仕組みをクラウド側に任せるなどして、より安定したサービスを提供していきたいと言います。「それが実現できたら、毎晩不安にならず、枕を高くして眠れるようになるんじゃないかな、と(笑)。」(松崎さん)

https://storage.googleapis.com/gweb-cloudblog-publish/images/HcKCiCHF5vhWxuSz7VxjjZVTnd_kHFODkysZQ06ro.max-1600x1600.JPEG

最後に『ソウルリバース』以外の作品にも、今後、GCP を使う可能性があるかについて聞いてみました。

「はい、十分にありえます。これまでは、オンプレミス環境の限られた帯域を社内の複数タイトルでどのように共有していくか、より大きな視点で考えていかねばならなかったのですが、GCP のような選択肢があれば、その自由度が大きく広がります。今回、GCP については『ソウルリバース 』での利用実績ができましたから、今後のパブリッククラウド活用に際し、有力な候補になると考えています。」(村松さん)

GCP のその他の導入事例はこちらをご覧ください。

投稿先