[レポート]ゲームサーバの構成を考える上でのはじめの一歩 #reinvent

ゲームサーバの設計に関するチョークトークがあったので参加してきました。ゲームサーバの構成を検討する際に知っておいた方が良い情報が多いチョークトークでした。
2022.12.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。ゲームソリューション部の出村です。

AWS re:Invent 2022 にてチョークトークである「Global multiplayer infrastructure: Compute, containers & Amazon GameLift」に参加してきました。チョークトークとは40人程度の小規模な会場で講演者と受講者がお互いディスカッションなどをしながら内容を進めていくセッションのことです。

そのセッションレポートについてお届けします。

セッション概要

Launching a game globally can be challenging, especially if you want to meet players’ expectations for wait times and player experience. In this chalk talk, learn how to create a multiplayer game infrastructure that can support your game around the globe. Explore different architectures that help you find the best game server solution, game backend design, and network performance. Learn how you can use serverless architecture to host your backend, and choose the right game server hosting for your multiplayer game sessions: Amazon EC2 to have control over processors and memory, containers using Amazon ECS or Amazon EKS, or Amazon GameLift to handle global server fleet deployment and management.

スピーカー

Juho Jantunen, Senior Solutions Architect, AWS

アジェンダ

グローバルに展開されているマルチプレイヤーゲームのインフラについて、コンテナやGameliftなどで構築する際の決め方や、AWSを利用したゲームサーバの構成例について解説があるセッションでした。チョークトークですので、途中、ホワイトボードを使った解説もありました。

内容

セッションの内容について解説していきます。

ゲームサーバーとは何か

ゲームの世界などを再現するための決まったプロセスが動いているホストを指します。

ゲームクライアントが接続できるようにインターネットに公開されています。

ゲームサーバーの選択肢

ゲームサーバーを構築するには「自分自身で構築する」もしくは「マネージドサービスを利用する」の2つの手段のいずれかが選択できます。

自分たちで構築する方法

自分達で構築する場合はEC2を利用して構築する方法、EKSなどを利用したコンテナサービスを利用して構築する方法があります。

マネージドサービスを利用する方法

マネージドサービスを使う場合には現時点ではAmazon GameLiftを利用します(GameSparksなどもありますが、現時点ではPreview版ですので)。

フルサービスで運用したいのであればAmazon GameLift Full managedを利用しますし、もっとカジュアル、安価にサービスを提供したいのであれば、Amazon GameLift FleetIQを利用します。

課題

技術的な課題としては、レイテンシーやスケーリングなどの問題があります。このあたりはゲーム特有の課題が多くある箇所でもあります。

ビジネス的な課題としては、初期プレイヤーに対するコスト、ローンチ計画などがあります。

サーバ構成

ここで、ゲームサーバではAWS内部のサービスがどのように連係して動作しているのかについてホワイトボードを用いて説明がありました。

サーバ構成例

サーバの構成例をみていきます。最初にマネージドサービスだけでゲームサーバを構築した例が次の様になります。

次にマッチングなどをマネージドサービスで構築しつつ、ゲームの主要な機能を運営するサーバはEKSで構築する、といったことも可能です。

まとめ

ゲームサーバの構成をどうしたらいいんだろう? と悩んでいる方にとって、最初の手引きとしてはちょうどよいのではないかと思います。

これらのゲームサーバ構成は、ゲームの内容、規模、それを扱う人員など様々な要素によって決定することとなるでしょう。ここに書かれているスライドはその第一歩ですので、まずはこれらの資料をみて考えてみるのもよいかもしれません。