ニュース

面白いゲームを提供するためにすべての開発リソースを使いたいから選択した――、カプコンがGoogle Cloud for Gamesを選んだ理由

 Googleの子会社でCSP(クラウド・サービス・プロバイダー)となるGoogle Cloudは、8月29日~8月31日の3日間にわたり、米国カリフォルニア州サンフランシスコ市にあるモスコーン・センターにおいて、同社の年次イベント「Google Cloud Next '23」を開催した。

 この中で分科会(ブレークアウトセッション)で注目された、Google Cloudの顧客企業がある。それが日本のゲームパブリッシャーである「株式会社カプコン」(以下カプコン)だ。

左から、株式会社カプコン システム基盤部 エンジニア 副部長 深沢巧太氏、株式会社カプコン システム基盤部 部長 井上真一氏、株式会社カプコン CS第二開発統括 システム基盤部 ゲーム基盤室 エンジニア 中島淳平氏

 「ストリートファイター」、「バイオハザード」、「モンスターハンター」などの著名タイトルをエンドユーザーに提供しているカプコンは、以前より積極的に同社ゲームのネットワーク機能などにクラウドを積極的に活用していることでも知られており、同社の代表的タイトルであるストリートファイターの最新版となる「ストリートファイター6」では、Google CloudのGKE(Google Kubernetes Engine)とCloud Spanner(クラウドベースのデータベース)が、ネットワーク対戦などのネットワーク周りを支えていることをGoogle Cloudで明らかにした。

カプコンとGoogle Cloudがゲームサービスの提供で協業(出典:Winning live service games with Google Cloud、Google Cloud)

新バージョンの「ストリートファイター6」、サービス開始時に問題なく立ち上げたいためクラウドを選択

 カプコンが開発して販売している「ストリートファイター6」は、格闘型ゲームと呼ばれる、プレーヤーとプレーヤーが1:1で対戦する形のビデオゲームだ。最初のバージョンが発売されたのは今から約36年前となる1987年で、昭和がまもなく終わろうという時期に提供が開始された、歴史あるタイトルである。現在は、そのeスポーツ大会が開かれ、世界大会も行われている人気タイトルであり、ストリートファイター6はその最新版で、本年6月22日にグローバルに発売が開始されている。

 株式会社カプコン システム基盤部 部長 井上真一氏は、同社がNext '23で行った講演の中で「今回のストリートファイター6では、単なるバージョンが6に上がったというものではなく、大きな変化を加えたタイトルとなる。ストリートファイターシリーズのような格闘ゲームは、1:1で対戦するようなストイックなゲームだと思われており、多くのユーザーに間口を広げるのが難しいと考えられてきた。ストリートファイター6では、コマンド操作が難しいなどの理由から新規参入が難しいと考えている、初心者ユーザーのために、特殊なコントローラがなくても楽しめるようにし、必殺技もワンボタンで出せるようにしたほか、アバター機能も用意してストリートファイターの世界観に容易に入っていけるようにしている」と述べ、新規ユーザーを獲得するためにさまざまな取り組みをしているカプコンにとっても、ストリートファイター6が重要なゲームタイトルだと強調した。

 井上氏によれば、ストリートファイターシリーズは累計で5200万本以上を販売している、文字通りカプコンの屋台骨を支えるタイトルの1つで、その最新版となるストリートファイター6をリリースするにあたり、その開発を慎重に進めてきたという。というのも、前のバージョンになる「ストリートファイターV」ではいくつかの課題を抱えていたからだ。

 株式会社カプコン システム基盤部 エンジニア 副部長 深沢巧太氏は、同社がNext '23で行った講演の中で、「ストリートファイターVでは、ネットワーク周りに課題を抱えており、ユーザーがゲームをプレイできないという時があった。そこで、ストリートファイター6の立ち上げではそうしたことが起きないように設計を行おうということになり、Google Cloudを活用することにした」と、同社がGoogle Cloudを活用することになった背景を説明した。

前作での課題を解決するためにGoogle Cloudを選択(出典:Winning live service games with Google Cloud、Google Cloud)

グローバルにネットワーク関連のサービスを提供するインフラとしてGoogle Cloudを活用

 ストリートファイターのようなネットワークに対応したゲームタイトルでは、ユーザーがクライアント(ストリートファイター6ではソニーのPlay Station 4/5、Microsoft Xboxシリーズなどのコンソールゲーム機、ゲーミングPCなど)から、インターネット経由でカプコンが用意しているサーバーに接続し、そのサーバー上で対戦相手が決定し、インターネット経由での対戦が行われることになる。

 なお、対戦相手が決まった後は、P2P(Peer to Peer)接続で、ユーザーのクライアント間での直接通信が行われ、実行されたコマンド(パンチするとかキックするとか)の情報が相互にやりとりされてゲームが進行していく形だ。

 カプコンの井上氏によれば「以前はPlay StationならPlay Stationのネットワーク内、XboxならXboxのネットワーク内と、プラットフォーマーのネットワークを利用する形になっていた。そのため、ゲームパブリッシャーは自前のネットワークについて考えなくて良かったのだが、現在はそうしたプラットフォームの垣根を越えて対戦を実現するため、ゲームパブリッシャー自身がネットワーク周りを用意するようになっており、プラットフォームを越えた対戦が可能になっている」という。

 しかし、「その分ネットワーク周りのインフラを自前で用意する必要があり、これまでもオンプレ、ハイブリッドクラウドなどさまざまな形でインフラを構築してきた」との通りで、従来は自社でデータセンターを構築して、それを利用してサーバー群を構築したり、クラウドに仮想マシンを構築したりと、さまざまなトライを行ってきて、今のようにクラウド上のサービスを利用する形に落ち着いたと説明した。

 カプコンの井上氏は「われわれはこうしたゲームタイトルをグローバルに展開している。このため、ユーザーは世界中に散らばっており、どこのリージョンに属するユーザーでも安定して使えるようにネットワーク周りの設計をしていかなければならない。また、こうしたタイトルではリリース直後にはものすごくユーザーが増えるが、そうではなくなるとユーザー数が減るなど、ユーザーの数がさまざまな理由で増減する。従って、インフラもそれに応じてスケールできるようにすることが重要だ」と述べ、安定して利用できること、そしてユーザー数の増減に合わせてスケールできることが条件となっており、今回のストリートファイター6ではGoogle Cloudを選択したのだと説明した。

新しいゲームの立ち上げという高い負荷に対応するためにスケーラブルなクラウドを選択(出典:Winning live service games with Google Cloud、Google Cloud)

GKEとCloud Spanner、そして安定した内部ネットワークがGoogle Cloudを選択した理由とカプコン

 今回のストリートファイター6で実際に技術的な設計などを行った株式会社カプコン CS第二開発統括 システム基盤部 ゲーム基盤室 エンジニア 中島淳平氏は「今回のストリートファイター6でGoogle Cloudを選択した理由は3つある。1つはGKE(Google Kubernetes Engine)であり、2つ目はデータベースのCloud Spanner、そして最後に安定した内部ネットワークだ」と述べ、そうした3点を重視したため、今回ストリートファイター6のネットワーク周りにGoogle Cloudを選んだと説明した。

 カプコンによればカプコンのタイトルすべてでGoogle Cloudを利用しているのではなく、タイトルによってはほかのCSPを利用するということもあり、ケースバイケースでインフラを選択しているという。

 今回カプコンが構築したストリートファイター6用のシステム環境は、次のような形になっている。Google CloudのUSセントラル・リージョンに、集中制御を行うサーバーが置かれている。そのUSセントラルのサーバーに、USセントラル自体、南アメリカ、アジア、EUの4つのリージョンに置かれているロビーからアクセスを受けるようになっている。すべてのユーザーからのリクエストは、各リージョンのロビーを経由して、USセントラルのサーバーに対して行われるようになっており、これはどのリージョンでも同じような応答速度で応答するための措置だということだ。

カプコンがストリートファイター6向けに構築したGoogle Cloud利用のネットワークアーキテクチャ(出典:The future of modern enterprise applications with Google Kubernetes Engine、Google Cloud)

 中島氏によれば、これらのロビーやサーバーはGKEのKubernetesのマイクロサービスによって構築されているという。「GKEを利用するメリットはパッケージ化されたアプリケーションが多いことだ。それにより導入までの工程が楽になるし、何よりGKEを利用することで管理が楽になる」(中島氏)との通りで、導入と管理が楽だというのがGKEのメリットだということだった。

 また、USセントラル、南アメリカ、アジア、EUという4つのリージョンをまたいでシステムが構築されているが、その間のネットワークが、ほかのCSPと比較して比較的高速だったこともGoogle Cloudを選ぶ決め手になったという。「CSPによってはインターネットを経由してとかの場合もあったが、Google Cloudの場合は内部ネットワークで接続されており、それが非常に高速で、われわれの要求にミートした」(中島氏)と説明した。

 そして、マッチング情報などさまざまな情報を格納するデータベースにはCloud Spannerが利用されている。中島氏は「今回Google Cloudを選んだ大きな理由の1つがSpannerを使えるということにある。すべてのリージョンをまたいで安定的に使えて、かつSQLと同じような機能や性能を実現しているという点を評価した」と述べ、GoogleがSQLやオラクルなどをリプレースするデータベースとして提供しているSpannerの存在も大きかったと説明している。

面白いゲームを開発することがゲームパブリッシャーの目的、そのため非競争領域では積極的にクラウドを活用

 そうした仕様を採用したため、本年6月にサービスインが開始されたストリートファイター6では、プレーヤーからつながらないなどの不満の声もほぼなく無事に立ち上げられたという。

 なお、GoogleではこうしたGKEやCloud Spannerなどのサービスを組み合わせて、ゲームパブリッシャーに対して「Google Cloud for Games」というソリューションを用意している。このGoogle Cloud for Gamesを利用することで、ライブゲームと呼ばれるネットワークを利用するサービスをゲームに搭載しているゲームパブリッシャーは、利用者に対して容易にサービスを提供可能になるわけだ。

 カプコンのようなメジャーなゲームパブリッシャーであれば、自前のデータセンターを設けてということは不可能ではないが、それでもグローバルに展開することを考えれば、ストリートファイター6がそうだったように、CSPのサービスを利用するというのは合理的な選択になる。より中小のゲームパブリッシャーであれば、そのニーズはより高くなるということができるだろう。

 カプコンの井上氏は「CSPのマネージドサービスを使うと、ベンダーロックインされるなどの議論もあるとは思うが、われわれは製品ごとに良いものを選んで使っている。むしろ、CSPのマネージドサービスを使った方が、クオリティーが高いならベンダーロックイン上等だと思っており、仮にロックインされているのであれば、ほかのサービスに切り替えればいいだけだ。ゲームパブリッシャーにとって重要なことは、お客さまに面白いコンテンツを提供すること。そのためにゲームを開発しているのであって、それ以外の部分はCSPなどに担っていただけるならそれでよいと考えている」と述べ、カプコンのようなゲームパブリッシャーにとっては、面白いゲームを開発することこそ重要であって、開発リソースはそこにすべてつぎ込みたいため、非競争領域であるネットワーク周りの実装などはCSPが提供するマネージドサービスを活用するのが最善の選択だと指摘。だからこそカプコンはGoogle Cloud for Gamesのようなマネージドサービスを選択しているのだと強調した。