SEGA HARDlight、MongoDB Atlas への移行で Ops の簡素化とプレイヤー体験の向上をめざす

Joe Drumgoole

#Customer Stories#Atlas

日本が生んだ世界的ゲームキャラ「ソニック・ザ・ヘッジホッグ」が 2D 画面でリングを追いかけ始めた 1991年の夏は、はるか昔のことです。ゲームはそれ以来大きな進化を遂げました。固定されたテレビとコンソールから、2000 年代にはオンライン PC ゲームへ、現在ではモバイルやバーチャルリアリティ(VR)へと進化しています。一方で、この 25 年間、ゲームの基盤となるインフラはほとんど変化せず、依然としてリレーショナルデータベースが利用されていたのは驚くべきことです。 しかし、ゲームの拡張性、柔軟性、創造性に対するニーズはとどまるところを知らず、状況は急速に変化しています。セガ傘下の英ハードライト・スタジオ(SEGA HARDlight Studios) は、DevOps スタイルを採用し、クラウドベースのホステッド型 MongoDB 開発者データプラットフォーム MongoDB Atlas を導入。優れたゲーミングエクスペリエンスを提供し、変革を牽引しています。

モバイルゲームでアイコンキャラクターを展開

SEGA ハードライト・スタジオ は、SEGA のモバイルゲーム開発を担うスタジオとして広く知られています。スタジオは、イギリスのロイヤル・レミントン・スパに拠点を置き、多くの人に愛される青いマスコット「ソニック・ザ・ヘッジホッグ」をスクリーンに登場させたことでよく知られています。 ハードライトは、ソニックのゲームシリーズだけでなく、「Crazy Taxi: City Rush」、「Kingdom Conquest: Dark Empire」 など、数多くの代表的なタイトルの開発・運営も手がけています。

ソニックダッシュ

「ソニックジャンプ」や「ソニックダッシュ」などのモバイルゲームの初期バージョンは、インターネットへの接続を必要とせず、サーバー機能もありませんでした。比較的静的なゲームであり、開発者は当初、Java と MySQL を中心とした社内の技術スタックでリリースをサポートし、SEGA ハードライト・スタジオの自社データセンターでホストしていました。

ゲームをリリースするための標準的なプラクティスでは、サーバーが壊れる寸前まで負荷テストを行い、その後、許容可能な障害ポイントに対応できるようにリソースをプロビジョニングするというものでした。このような制限されたアプリケーション機能は、プロビジョニングされたリソースの限界に達するとサービス停止を引き起こしました。ゲームにオンライン機能が導入され、人気が急上昇するなかで、従来の技術スタックに限界が見え始めました。

モバイルゲームには興味深い負荷パターンがあります。リリース後すぐに、非常に多くのプレイヤーが押し寄せます。最も人気のあるゲームの場合、数日または数時間で何百万人ものプレイヤーが集まることもあります。ピークは通常短く、その後すぐに熱心なプレイヤーが長期間残ります。このようなトラフィックを動的なゲームに合わせて調達するのは大きな頭痛の種です。2014 年の「Crazy Taxi: City Rush」のローンチ時のグラフは、トラフィックがどれほど急激に変動するかを示しています。

私たちは、SEGA ハードライト・スタジオの技術ディレクターであるヨルダン・ギュルチェフ(Yordan Gyurchev)氏に話を伺いました。ギュルチェフ氏は次のように述べています。「これほどの膨大なトラフィックの量では、データベースの些細な変更が大きな影響を与えます。完璧なゲーム体験を提供するためには、開発者は自分たちが使用しているデータベースのパフォーマンスのトレードオフを深く理解している必要があります。」

超音速スケーリング

SEGA ハードライト・スタジオは、ゲームのオンライン機能がさらに充実し、ユーザーの活動がますます活発なものになると予想していました。また、ゲームデータの多くはアカウントベースであったため、リレーショナルデータベースの行や列に自然に収まるものではありませんでした。これらの制限に対処するため、チームは代替手段を探しました。Riak、Cassandra、Couchbase を検討しましたが、いずれも管理が複雑すぎるか、会社の SLA を満たすために必要な成熟したサポートが不足していると感じたため、ハードライトのエンジニアは MongoDB Atlas、MongoDB の開発者データプラットフォームに注目しました。

その後、コスト、メンテナンス、監視、バックアップなど、さまざまな側面から評価とテストが行われました。MongoDB は、大規模なデータ量と常時稼働のデプロイメントに対応できるスケーラビリティと柔軟性を備えていることがよく知られていましたが、ハードライトのチームは運用面でもサポートを必要としていました。

MongoDB Atlas の高度な運用ツールにより、わずか 2 名のスタッフからなる小規模な DevOps チームが、数百万人のプレイヤーが参加してもゲームを管理・運営できるようになりました。これにより、信頼性、メンテナンス、アップグレード、バックアップについて心配する必要がなくなりました。実際、決定的な要因の一つは、ポイントインタイムバックアップとリストア機能です。この機能により、ボタンをクリックするだけでチェックポイントに戻すことができました。MongoDB Atlas が AWS 上で稼働することで、SEGA ハードライト・スタジオはボスレベルのスケーリングに挑戦する準備が整いました。

ギュルチェフ氏は次のように述べています。「ハードライトでは、仕事に適したツールを見つけることに情熱を注いでいます。私たちにとって、水平方向に拡張可能なドキュメントデータベースを使用することは、プレイヤーアカウントをベースとしたゲームに完璧にフィットすることがわかりました。」

「トラフィック量が多く、スケーラビリティの高いソリューションを構築する能力は、細かなディテールを知ることです。そのためには通常、エンジニアはスタックのさまざまな部分に集中する必要がありますが、MongoDB Atlas と MongoDB のサポートがあれば、かなりの近道になります。もしこれを社内で処理していたら、データベースの専門家と同じ程度の能力しかできなかったはずです。今は、豊富な知識と専門知識、そしてクラス最高の技術に頼ることができます。」(ギュルチェフ氏談)

ソニックフォース

ハードライトが最初に MongoDB を活用して開発したゲームは「Kingdom Conquest: Dark Empire」です。最初からスムーズにローンチされ、エンジニアたちは MongoDB を利用するメリットを初めて体験しました。その後、2017 年後半の週末に、「Sonic Forces: Speed Battle」がモバイル向けにリリースされました。インターネットへの常時接続とリーダーボードの共有が可能な、要求の厳しい常時接続アプリケーションです。何百万人ものプレイヤーがレースに参加するなか、バックグランドでは、MongoDB Atlas 上で稼働する 3 つのシャードクラスタが複雑な負荷を容易に処理しました。データベースは低レイテンシで安定しており、サービスの中断は一度もありませんでした。これらの結果、ゲームのリリースは順調に進み、DevOps チームも満足し、優れたプレイヤー体験を提供できました。

ギュルチェフ氏は次のように述べています。「MySQL では、データベースのバックエンドを正しくするために、何度もゲームを立ち上げる必要がありました。しかし、MongoDB Atlas を使用したことで、最初から大規模なローンチを成功させることができました。これは並大抵のことではありません。」

ゲームプラットフォームが年々進化・変革してきたように、データベースレイヤーも成長し適応してきました。SEGA ハードライト・スタジオは現在、MongoDB Atlas の利用を拡大し、新しいゲームのオンライン化に対応しています。MongoDB Atlas が運用、管理、スケーリングを引き受けるため、ハードライトは世界で最も象徴的なゲームの構築と運用に、安心して集中できます。

90 年代のインフラは過去のものとなり、有名な青いハリネズミのソニックのように、モダンでパワフルな高速スタックに置き換わりました。

SEGA ハードライト・スタジオでは、優秀なエンジニアを募集しています。興味のある方は採用情報ページ、またはメール(hardlightcareers@sega.co.uk)までお問い合わせください。