コンテンツに移動
顧客事例

株式会社WFS:スマートフォン向けゲームタイトルの開発に Cloud Spanner を採用し、無停止でスケール可能なゲームシステムを構築

2022年11月28日
https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_wfs_horizontal.max-2600x2600.jpg
Google Cloud Japan Team

グリー株式会社 100% 子会社でゲームアプリの開発および運営を手掛けている株式会社WFS(以下、WFS)は、「新しい驚きを、世界中の人へ。」というビジョンのもとで、多くの人が楽しめるゲーム体験の創出に力を注いでいます。新しいアイデアを形にするために、より良い技術へのチャレンジを続ける 同社では、スマートフォン向けゲームタイトルの開発において、3 タイトル続けて Cloud Spanner を中心とする Google Cloud の各種プロダクトを採用しました。その経緯や手応えについて、開発に携わるメンバーに話を伺いました。

利用しているサービス:

Cloud Spanner, Google Kubernetes Engine, Cloud Load Balancing, Cloud Armor, Cloud Storage, BigQuery

利用しているソリューション:

App Modernization

Cloud Spanner の採用でゲームサービスならではの急激なトラフィックの変化に対応

WFS では、スマートフォン向けにリリースした『転生したらスライムだった件 魔王と竜の建国譚(配信:株式会社バンダイナムコエンターテインメント)』、『聖剣伝説 ECHOES of MANA(配信:株式会社スクウェア・エニックス)』、そして『ヘブンバーンズレッド(配信:株式会社WFS)』の 3 つのゲームタイトルにおいて、バックエンド システムのプラットフォームに Google Cloud を採用しました。いずれも安定したリリースを実現し、『ヘブンバーンズレッド』では、配信開始から 3 日間で 100 万ダウンロードを達成するなど大きな成功を収めています。当時シニアマネージャーとして参画した吉田氏は、ゲームサービスのプラットフォームに求められる要件について次のように説明します。

「我々が提供しているゲームサービスの最大の特徴として、時期や時間帯によって頻繁にトラフィックが変化することが挙げられます。そのため、スケーラビリティの確保は必須の要件です。また、ユーザー体験を向上させるために、ネットワークのレイテンシを一定以下に保つことや、ダウンタイムを発生させないことなども重要です。」

上記に加えて、開発効率を上げていくための仕組みを整えることも重要なポイントだと吉田氏は続けます。

「ゲームサービスの場合、リリース後にはどうしても運用と新機能の開発を同時並行で行っていくことになる上に、更新の頻度が高いという性質があります。そのため、開発の効率を上げるには、開発環境と本番環境との差異をできるだけ小さくして、シームレスに切り替えができる仕組みを構築する必要があります。」

これらの要件をクリアできるプラットフォームの構築を目指して、WFS では新規タイトルの開発に Google Cloud の採用を決定しました。採用を検討するにあたっては、データベースのスケーラビリティが重要だったと吉田氏は言います。

「これまでのシステムではデータベースとして主に MySQL を使用していました。しかし従来型のリレーショナル データベースである MySQL では、トラフィックの急激な変化に対してスペック コントロールが難しいという課題がありました。たとえばトラフィックが増えてインスタンスのサイズを大きくしたいといった場合には、移行用のインスタンスを用意した上でマスタの切り替えを行うか、または一時的にゲームを止めてスペックを上げるか、いずれかの対処が必要です。マスタ切り替えはオペレーション コストが高いですし、ゲームを止めるというのは事業を止めることを意味するので高いリスクを伴います。また、弊社ではデータベースのスケールアウトの際にテーブルを水平分割する手法を採用してたのですが、その場合スケールインのための作業が煩雑になり、無停止のまま行うのは難しいという問題もありました。」

この課題を解決するために採用したのが Cloud Spanner です。Cloud Spanner であれば、無停止のままでスケールアウトやスケールインが可能なため、メンテナンスのためにゲームを止める必要がなく、トラフィックの変化に対して柔軟かつ迅速に対応することができます。また自動シャーディング機能によって、ノード数と負荷状況に応じてテーブル内のデータが自動的にシャーディングされるので、スケールアウトやスケールインの際にテーブルの分割について意識する必要がなく、簡単にノード数の調整を行えるという強みもあります。シニアリードエンジニアである藤田氏は、Cloud Spanner が使えることが、プラットフォームとして Google Cloud を採用する大きな動機にもなったと語ります。

「我々が最優先で必要としていたのは Cloud Spanner でした。事前に負荷検証を行い、弊社のゲーム基盤としての運用に耐えられると判断できたので、Google Cloud および Cloud Spanner の採用を決定しました。採用にあたっては他のデータベース システムとの比較も行いましたが、弊社が重視していたスケールのしやすさという点で Cloud Spanner が最も優れていると判断しました。」

リードエンジニアとしてアーキテクト含め開発をリードした伊藤氏は、Cloud Spanner を採用したことによって開発の効率が大幅に向上したと話します。

「Cloud Spanner では、Google Cloud のコンソール上で新しいデータベースを作ったりデータを編集したりといった操作が行えるので、データベースのメンテナンスが格段にやりやすくなりました。カラム変更などもオンラインでできるので、開発や運用に入ってからサービスを止める瞬間が無くなり、その点がゲーム プラットフォームとしてかなり優位に働いています。また、データベースのバージョンアップなどによる強制メンテナンスが無いというのも Cloud Spanner の大きな魅力だと感じています。」

https://storage.googleapis.com/gweb-cloudblog-publish/images/wfs_architecture.max-2200x2200.png

Google Cloud の全面的な採用によって低レイテンシで開発効率の良いシステムの構築が可能に

WFS のゲームシステムでは、Cloud Spanner の他にも、ゲーム API や管理ツールの基盤として Google Kubernetes Engine(GKE)、低レイテンシを実現するためのインメモリ データストアとして Cloud Memorystore、そしてログの分析基盤として BigQuery を利用しています。また、カスタマー サポートから管理ツールに対するアクセス制御は Cloud Armor で行う構成になっています。

Google Cloud を全面的に採用する決め手になったポイントのひとつとして、グローバル アクセスのレイテンシが極めて短いことが挙げられると伊藤氏は言います。

「我々はゲームサービスを全世界に配信しているのですが、これまでのタイトルでは、レイテンシを下げるために配信先の国の近くにサーバーを配置するなどの工夫をする必要がありました。それに対して Google Cloud では、東京リージョンだけでも十分に短いレイテンシが得られることを確認しました。そのため単一リージョンでの運用が可能になり、デプロイメントにかかる手間や時間の大幅な削減を実現することができました。」

また、ゲーム API や管理ツールの基盤に GKE を採用したことに関して、吉田氏は次のように説明します。

「GKE を使っているのは、コンテナ開発運用が便利であることと、スケールしやすいことの 2 点が大きな理由です。コンテナを活用して開発環境と本番環境で同じイメージを使うようにすることで、デプロイがスムーズになり開発効率や品質の向上につながります。ノードのスケールがかなり簡単にできるので、トラフィックの変化に柔軟に対応できるという強みもあります。」

ログ分析基盤については、従来は自社開発のシステムを使っていましたが、Google Cloud の採用に合わせて BigQuery に移行したとのことです。

「自社開発していた従来のシステムに比べると、BigQuery は処理が高速で使い勝手が良く、現時点ではコストも安価に収まっています。開発・運用チームだけでなく、分析チームからも、処理が速くて使いやすいと高い評価を得ています。分析基盤の改善は、Google Cloud 採用の効果として強く実感していることのひとつです。」  (吉田氏)

今後の課題はボット対策の強化、Cloud Armor や機械学習に期待

WFS ではすでに 3 タイトルで Google Cloud を採用して成果を上げていますが、今後のタイトルでも引き続き Google Cloud および Cloud Spanner の採用を進めていきたいと吉田氏は語ります。

「Google Cloud には、まだ我々が使いこなせていないサービスや機能がたくさんあります。すでに使用中の Cloud Armor でも使いこなせていない機能があるので、ノウハウを蓄積することで出来ることの範囲はもっと広がっていくと思います。Cloud Spanner についても、次々と新しい機能が追加されるので、もっと積極的に試さなければいけないと思っています。」

優先的に取り組んでいくべき今後の課題として、伊藤氏は自動化ボットへの対策を挙げています。

「ツールやプログラムによって自動でクエストや周回イベントを行うボットの蔓延は、ゲームバランスを崩して、健全にプレイしているユーザーの体験を損ねることになります。現在も自動でボットを検出してアラートを出すといった仕組みなどを導入していますが、誤検出に対しても細心の注意を払わなければならない上に、ボット側でも新しいツールや手法などが次々と生まれるので、対策としてはイタチごっこの状態です。今は、Cloud Armor でボット対策に使えそうな機能があるので導入を検討したり、ログデータを利用して機械学習で検出の精度を上げられないかなど、有効な対策を模索しているところです。」

今回の開発を通じて、ゲームシステムのプラットフォームと Google Cloud や Cloud Spanner との相性が非常に良いことを実感したと吉田氏は語ります。

「初めて本格的に Google Cloud や Cloud Spanner を採用しましたが、スケールが容易なマネージド サービスという点で、トラフィック変化が大きいゲーム業界のシステムには特にフィットすると実感しました。この業界でもっと流行ることを期待しています。WFS はゲーム開発の会社ですが、同時にテクノロジー カンパニーでもあるので、新しい技術には積極的にチャレンジしていきます。採用も積極的に行っているので、一流のテクノロジーを共に追い求めてくれる新たな仲間をお待ちしています。」


https://storage.googleapis.com/gweb-cloudblog-publish/images/mv_1.max-2200x2200.jpg

株式会社WFS

2014 年 2 月にゲーム開発スタジオ株式会社Wright Flyer Studios 設立。2018 年 10 月 に現在の株式会社WFS に社名変更。テクノロジーをベースとしたクリエイティブ カンパニーとして「Wright Flyer Studios」のブランドのもと「新しい驚きを、世界中の人へ。」届ける企業。数々のヒットタイトルを生み出し、海外展開も積極的に行なっている。

インタビュイー(写真左から)

株式会社WFS 開発本部ゲーム開発部 シニアリードエンジニア 藤田 貴大 氏 

株式会社WFS 開発本部ゲーム開発部 副部長 吉田 貴勝 氏

株式会社WFS 開発本部ゲーム開発部 リードエンジニア 伊藤 一樹 氏


株式会社WFS の導入事例 PDF はこちらをご覧ください

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

投稿先