Amazon Web Services ブログ
Amazon GamesのシームレスなMMO「New World」を支えるユニークなアーキテクチャ
この記事は、”The Unique Architecture behind Amazon Games’ Seamless MMO New World” を翻訳したものです。
Amazon EC2 を利用したワールドとマイクロサービスの革新的な組み合わせにより、スケールの難しい要求に応えた没入できるゲームを実現しました。
New World は、Amazon Games が制作し、2021年9月にリリースされた大人気 MMO (多人数同時参加型オンライン)ゲームです。プレイヤーはカスタムキャラクターを作成し、 Aeternum と呼ばれる広大で神秘的な世界に入り、他の何千人もの冒険者たちと交流します。セッション型のゲームとは異なり、プレイヤーはログアウトしてもその成果を失うことはありません。その代わり、アイテムや仲間との出会い、探検のスキルなど、時間の経過とともにキャラクターは成長していきます。プレイヤーにとっては、画面のロードなどの待ち時間がなく、非常に没入感のあるゲーム体験ができます。これは「シームレス」と呼ばれるもので、開発者が提供できる貴重な特性です。 New World の開発者は、 Amazon Web Services(AWS) のソリューションを利用して、このシームレスなユーザー体験を実現するとともに、24時間365日グローバルにゲームを提供できるバックエンドシステムを維持・運用しています。
Amazon EC2による広大なMMOワールドの構築
開発者は、 Amazon Elastic Compute Cloud (Amazon EC2) の異なるインスタンスを用いて構築された独自のアーキテクチャを使用して New World を構築しました。 Amazon EC2 は、ほぼすべてのワークロードに対して安全かつリサイズ可能なコンピュート能力を提供します。従来の MMO では、ユーザーの状態や行動を 1 秒間に約 5 回シミュレート、再描画、分析、処理しますが、 New World では 1 秒間に 30 回処理しています。 Amazon.com の最高技術責任者である Werner Vogels 氏は、「昔の世界では、規模を拡大する必要があれば、より大きなハードウェアを購入した」と述べ、「新しい世界では、スケールアウトが重要なのです」と併せて述べています。
Aeternum の個々のワールドでは、クライアントは4つのリモート・エントリー・ポイント (REP) のうちの1つに接続します。この REP は唯一のパブリック IP アドレスとして、ゲームの回復力とセキュリティがここで実現されます。4つの REP は、それぞれ別の Amazon EC2 C5 インスタンス、具体的には Amazon EC2 C5.2xlarge インスタンスで 構成されています。 REP の各グループの背後には、7つの計算処理ユニット(それぞれが Amazon EC2 C5.9xlarge インスタンス)があり、 New World の開発者が「ハブ」と呼ぶ集合を形成しています。各ハブは、ワールドを分割したグリッドの、連続しない2つの区画に対応し、各グリッドは物理的なシミュレーション・ボリュームを表しています。
プレイヤーがゲーム内を移動すると、プレイヤーのステータス情報がハブインスタンスからハブインスタンスに渡され、データセンターのクラスターである複数の AWS リージョンにホストされている仮想サーバーに演算の負荷が分散されます。また、このゲームには、プレイヤーが一時的なクエストに参加するセッションベースのモードがあります。セッションは、可用性に応じて共有されるハブ内の独立した共有インスタンスプールによって提供されます。ユーザーがクエストを終了すると、 Amazon EC2 インスタンスは共有インスタンプールに戻されます。「この種のゲーム・シミュレーションには、大量の CPU が必要です」と Vogels 氏は言い、「この世界では、複数の Amazon EC2 インスタンスを使用することで、非常に没入感のあるゲームプレイと、より優れたユーザーエクスペリエンスを実現しています。」と併せて述べています。
Aeternum の1つのワールドの Amazon EC2 インスタンスをまとめると、2,500人のプレイヤーに対して7,000以上の AI エンティティと何十万ものオブジェクトをシミュレートすることができます。各サーバーは、1秒間に数百万回の状態変化を処理して、関連するデータを選択し、個々のユーザーの没入感を生み出すことが可能になっています。このゲームでは、あらゆる規模で1桁ミリ秒単位のパフォーマンスを実現できる高速で柔軟な NoSQL データベースサービスである Amazon DynamoDB にステータスを書き込みますが、これは弱い一貫性と構造をもつゲームデータに適しています。 Amazon DynamoDB を利用することで、開発時には1台だったテストサーバーを、コードを変更することなく500台以上の本番サーバーに拡張することができました。さらに、 Amazon DynamoDB は、ゲームの状態を保存するために30秒に約80万回の書き込みを処理し、開発者がプレイヤーキャラクターのデータを破損することなく状態を保持できる、高いパフォーマンスと信頼性を提供します。
ユーザーエクスペリエンスを向上させるためのデータインサイトの発見
New World の開発者にとって、追加のテストをすることなく、ほぼリアルタイムで潜在的な問題を迅速かつ正確に特定するためには、オブザーバビリティが非常に重要です。各ワールドとプレイヤーからの計測データを取得するために、開発者は Amazon Kinesis Data Streams を使用しています。これはサーバーレスのストリーミングデータサービスで、事実上あらゆる規模のデータストリームを簡単に取得、処理、保存することが可能です。 Amazon Kinesis Data Streams は、何十万ものデータソースから秒未満のレイテンシーでデータを取り込み、抽出、変換、ロードを行うサービス Amazon Kinesis Data Firehose にプッシュし、データレイク、データストア、分析サービスにストリーミングデータを確実に取り込んで変換し、配信することができます。これらのソリューションにより、New Worldの開発者は、数時間から数日ではなく、数秒から数分でインサイトを導き出すことができます。実際、 Amazon Kinesis Data Firehose は毎分、 New World の2300万件のイベントを、業界最高水準のスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービス、 Amazon Simple Storage Service (Amazon S3) にプッシュしています。 Amazon S3 に保存されたデータは、標準的な SQL を使用して Amazon S3 内のデータを簡単に分析できるサーバーレス対話型クエリーサービスである Amazon Athena などの AWS 分析ソリューションで分析されます。
New World チームのすべてのセクションで、この膨大なデータフローが利用されています。データアナリストは、森の中でどのオオカミが最も多く戦っているかなど、特定のインサイトを発見するために情報を使用することができます。そして、ゲームデザイナーは、これらのインサイトを用いて、リアルタイムでゲームを改良することができます。運用面では、 Amazon Games はサービスの問題を予測し、迅速に対処することができます。
運用面でのAPI活用
ゲームの背後にある AWS ソリューションと外部アプリケーションとの間の橋渡しとして、 New World では Amazon API Gateway を使用しています。これは、開発者が事実上あらゆる規模で API を簡単に作成、公開、維持、監視、および保護できるようにするフルマネージドサービスです。 API は、アプリケーションがバックエンドのサービスからデータ、ビジネスロジック、または機能にアクセスするためのフロントドアとして機能し、 New World では毎分 2 億回の Amazon API Gateway への呼び出しを実現しています。
New World は、主要なゲームプレイを強化するために、サーバーレスでイベント駆動型のコンピュートサービスである AWS Lambda を使用しており、開発者はサーバーを準備したり管理したりせずにバックエンドサービスのコードを実行できます。 Lambda の関数は、アチーブメント、チャンネル、グローバルでユニークなユーザーの命名といったグローバルサービスから、キュー、コントラクト、セッション、ギルド、キャラクターなどのローカルサービスにわたるマイクロサービスを実現します。各 Lambda 関数は、専有リソースとファイルシステムビューを持つ独立した環境で実行され、1分間に1億5000万回以上の呼び出しを処理します。
想定外の需要に対応するためのスケーラビリティの実現
Amazon Games は、 AWS の一連のソリューションの持つスケーラビリティにより、予想を大きく上回るユーザーの需要に対応することができました。 New World は、ゲーム配信サービス「Steam」の歴史上、同時接続ユーザー数で5番目に多いゲームとなり、最初の週末に90万人以上の同時接続ユーザーを達成しました。 Vogels 氏は、「ハードウェアでは、このような没入感のある体験を構築することはできないでしょう」と述べ、「 New World は、まさにクラウドで生まれた MMO ゲームです。」と併せて述べています。
ゲーム開発者が AWS for Games でどのようにゲームを構築、実行、成長させるかについて、詳しくはこちらをご覧ください。
Amazon Game StudiosとNew World の詳細はこちら
原文はこちらです。
Solutions Architect, Game 鷲見 啓志(@hrsm1979)