株式会社スクウェア・エニックス / 株式会社 Aiming:国民的人気シリーズ作品『ドラゴンクエストタクト』を Google Cloud の活用で安定配信・運用に成功
Google Cloud Japan Team
2020 年 7 月のサービス開始以来、全世界で 1,000 万 DL を記録するなど絶大な支持を集めるスマートフォン向けゲーム『ドラゴンクエストタクト』。「絶対に失敗が許されなかった」というこのビッグタイトルをどのように安定運用しているのか、運用基盤に Google Cloud を採用したのはなぜなのかを、株式会社スクウェア・エニックスのテクニカルディレクターである紺藤さんと、開発を担当した株式会社 Aiming の野下さんに語っていただきました。
利用している Google Cloud ソリューション:アプリケーションのモダナイゼーション
利用している Google Cloud サービス:Compute Engine、Google Kubernetes Engine、BigQuery、 Cloud Load Balancing、Cloud Logging、Google Cloud のオペレーション スイート(旧称 Stackdriver)、Memorystore など
開発のしやすさ、安定性を求めて Google Cloud へ切り替え
2020 年 7 月に正式サービスを開始した、ドラゴンクエスト シリーズ初のタクティカル RPG『ドラゴンクエストタクト』。
その開発・運用は、これまでさまざまな人気タイトルを手掛けてきた Aiming としても経験のない規模となることが明白だったため、キックオフ時点からマネージドなクラウド プラットフォームを活用することが前提となっていました。しかし、当初、本タイトルは他社プラットフォーム上に構築する予定だったそうです。それが変更された背景をスクウェア・エニックス紺藤さんは次のように説明します。
「契機となったのは、開発中のゲーム仕様に大きな変更が入ったこと。また、本作の海外展開も決定したため、クラウド プラットフォームに求める機能が大きく変わってしまったんです。それらをうけて野下さんらとクラウド プラットフォームの再検討を行った結果、機能やコストが優れていたことに加え、Aiming さんが使い慣れているということもあり、Google Kubernetes Engine(GKE)での開発が最適だという結論に至りました。」(紺藤さん)
なお、Aiming が近年、多くのゲームタイトルで GKE を積極活用している理由について、野下さんは大きく 3 つの理由があると言います。
「1 つ目が GKE の開発効率の良さ。GKE にはさまざまな開発基盤がセットで付いてくるので、ゲームをリリースするまでの時間を大幅に短縮できます。2 つ目はインフラとしての安定性ですね。サーバーをあるべき状態に保ち続けてくれるのでサービスを安定的に継続することができます。インスタンスの性能や安定性も高く、何かおかしいから再作成してみるといった、ありがちなトラブルが起きません。そして 3 つ目として、Kubernetes がとてもキャッチーであること。特に我々が本格的に Google Cloud の活用を始めた 2015 年頃は米国で Kubernetes がすごく盛り上がっていたため、多くの優秀なエンジニアに Aiming の先進性を伝えることができました。」(野下さん)
「これはスクウェア・エニックスも同様ですね。Google Cloud のような先進的なプラットフォームを活用していることが、向上心あるエンジニアへのアピールになっていると考えています。」(紺藤さん)
GKE が使われているのはフロントのユーザー リクエストをハンドリングする部分。データベースや Redis のようなステートフルなサーバーについては Compute Engine(GCE)を使っています。その上でインフラの監視の一部で Google Cloud のオペレーション スイートを使用。KPI の分析基盤としては BigQuery を採用しています。
「Aiming では GCE 上でデータベースを実現するための知見や実績が多く蓄積されていたこともあり、今回は慣れ親しんだ、MySQL on GCE で運用しています。ただ、Cloud Spanner の先進性は十分感じていて、とても期待しています。」(野下さん)
そうして迎えたサービス初日。スマートフォン向けゲームタイトルでは俗に「リセマラ(リセット マラソン)」と呼ばれる、良い初期条件が得られるまでゲームの再インストールを繰り返す行為が一般的となっているのですが、それは『ドラゴンクエストタクト』も例外ではありませんでした。
「熱心なファンの皆さんが多くプレイしてくださったことや、リセマラ 1 回にかかる時間が短めだったこともあり、当初想定していた 5 倍ほどの負荷が初日にかかりました。ただ、弊社の大規模タイトルの実績を踏まえて、単に数値をクリアするだけではない、さまざまなケースを想定した強度の高い負荷試験を事前に実施していたこともあり、特に大きな問題は発生していません。」(紺藤さん)
「この点において GKE のメリットが特に大きかったですね。構成変更がしやすいので、負荷試験の結果に柔軟に対応、対策することができました。キックオフ時に想定 DAU(Daily Active Users)を聞いた時は、その数字の大きさに耳を疑うほど驚かされたのですが、無事、乗り切ることができて胸をなでおろしています。ただ、リセマラについては本当に想定外で(笑)。今後、国内のスマートフォン ゲーム展開において、リセマラ対策は必須になっていくでしょう。」(野下さん)
Google Cloud ならグローバル展開もより気軽に行える
大規模プロジェクトを、企業をまたぐかたちで円滑に舵取りしていくための工夫や、コツについて、紺藤さん、野下さんは次のように語ってくださいました。
「スクウェア・エニックス側として強く意識したのは、Aiming さんのスタンス、やり方を大切にし、その上で、自分たちの経験や意見をしっかりと伝えていくこと。Aimingさん側も、我々が判断、監修する上で必要な情報や権限を迅速に提供してくださったので認識の齟齬が生じにくく、スムーズな進行ができました。このようにお互い尊重しあう関係性を築けたからこそ、大規模プロジェクトを成功に導けたのだと考えています。」(紺藤さん)
「全く同感です。技術的な面で信頼してくださったのはやりやすかったですし、大規模タイトルに関するスクウェア・エニックスさんの実績に基づく助言は本当に参考になりました。その上で特にありがたかったのが、技術回りに特化した定例会議を実施いただいたこと。技術定例は決定権を持つメンバーが参加する少人数での集まりとなっており、議論をスムーズに、スピーディに進めることができました。」(野下さん)
また、Google Cloud に切り替えた理由の 1 つでもある海外展開(2021 年 1 月にグローバル版の正式リリースを開始)についても大きな手応えがあったそうです。
「Aiming では海外展開において米国リージョンにサーバーを配置し、欧州やアジア、南米に向けて配信するという方式をよく採ります。これは海外でどう評価されるか分からない中、それぞれのリージョンにサーバーを立てることがコスト的に厳しいから。しかし、そうした手法においても Google Cloud のネットワークなら低レイテンシでの全世界展開が可能です。これは他のクラウド プラットフォームに真似のできない大きな利点だと感じています。」(野下さん)
「これからは日本も含めた 1 ビルドでグローバルに展開していくケースも増えていくでしょう。そのためにも Google Cloud には、リージョンをまたいで使えるサービスをもっと増やしてほしい。例えば Redis などはリージョンをまたいだグローバル レプリケーションが組めません。今後は Cloud Spanner のようにマルチ リージョンで使えるプロダクトが増えてくれることを期待しています。」(紺藤さん)
「開発サイドとして Google Cloud に期待するのは、Cloud Spanner のような、これまでにない技術者の固定観念を打ち破る技術を生み出し続けてくれること。そうしたサービスを今後もどんどんリリースしていってほしいですね。ただ、そのような独創的サービスはロックインに繫がりかねない面もあるので、オープンなかたちで、他のクラウドでも動かせるようにしてくれるとうれしいです。」(野下さん)
2008 年設立。エンタテインメント分野において数々のヒット作品を生み続け、代表作は『ドラゴンクエスト』シリーズ、『ファイナルファンタジー』シリーズ、『トゥームレイダー』シリーズ、『スペースインベーダー』シリーズなど。従業員数は 2,751 人(2020 年 3 月末時点)。
インタビュイー
・情報システム部 ソーシャルゲームインフラストラクチャーグループ
紺藤 久志 氏
2011 年に設立したオンラインゲーム開発会社。『ドラゴンクエストタクト』(企画・制作:株式会社スクウェア・エニックス)のほか、『剣と魔法のログレス いにしえの女神』(運営元:株式会社マーベラス)、『CARAVAN STORIES』など、数々のゲームタイトルを開発している。従業員数は 409 名(2020 年 9 月末時点)。
インタビュイー
・事業支援部 副ディビジョンディレクター
野下 洋 氏
株式会社スクウェア・エニックス / 株式会社 Aiming の導入事例 PDF はこちらをご覧ください。
その他の導入事例はこちらをご覧ください。