Amazon Web Services ブログ
Amazon GameLift採用検討FAQ
最近マルチプレイヤーゲームが多く見られ、Amazon GameLift関連の問い合わせも増えています。
この記事はGameLift採用検討のフェーズでよくある質問を紹介致します。
Amazon GameLift とは?
Amazon GameLift は、マルチプレイヤーゲーム用のクラウドサーバーをデプロイ、運用、スケーリングする、専用のゲームサーバーホスティングソリューションです。
GameLift利用すると何が嬉しいですか?
まず、GameLiftがない世界を考えましょう。あなたは5 vs 5のリアルタイム対戦ゲームを作ることを決まりました。そうすると何実装しないと行けないでしょうか?
- マッチメイキングシステム:対戦の満足度を上げるため、レベル近いユーザーでマッチングする必要があります。リリースの負荷を想定し、それに合わせたマッチメイキングシステムを作らないといけません。
- ゲームセッションの管理システム:マッチメイキングを行い、10人のプレイヤーが集まったら、対戦するサーバーを決めないといけません。現在プレイ中のゲーム状態をトラキングし、空いているサーバーに新しいゲームを案内するセッション管理システム作る必要があります。
- サーバーの運用ツール:ゲーム運用を開始したら、デプロイ、人数に応じたサーバー増減や監視などの専用サーバーめぐる運用ツールも開発しないといけません。
- 将来的な課題対応:もしゲームがヒットしたら、更に課題が現れます。例えば、グローバルに展開したくて、レイテンシーに応じてセッション配置の実装方法や、DDoSの攻撃の対応方法などの課題を解決する必要があります。
これらの開発項目全部行う場合は、数ヶ月から数十ヶ月かかるでしょう?GameLiftの場合は数週間のインテーグレションとテストだけで上記の機能を実現することができます。
どのようなゲームがGameLiftに向いていますか?
公式ドキュメントは次のようにGameLiftを紹介しています。「GameLift は、クラウド内でセッションベースのマルチプレイヤーゲームサーバーをホストするためのソリューションを提供します。これには、ゲームサーバーをデプロイ、操作、およびスケールするためのフルマネージドサービスが含まれます。」
この中、重要なポイントは3つがあります。
- セッションベース:セッションベースのゲームとはバトルロイヤルやMOBA(Multiplay Online Battle Arena)のようのように、1つのルームなどに限られた人数が集まり、決められた時間内でゲームプレイを行うゲームです。明確に1つのゲームの単位が決まっているてんがポイントとなります。GameLiftはそのようなゲームのサーバーサイド利用に適しています。例えば、サバイバルホラーゲームDead By DayLightとかニンジャガムアクションゲーム『ニンジャラ』とか。一方で、多人数で時間制限無く同時にプレイするファイナルファンタジー14などのMMORPGには適していないため、ご注意ください。
- ゲームサーバー:ゲームサーバー(厳密に言うと専用ゲームサーバー)とはゲームクライエントから直接接続し、ゲームワークロードをホストするサーバーです。専用ゲームサーバータイプはゲームサーバの選択肢中の一つであり、それ以外にPeer-to-Peer、Listen server、ゲーム性によってAPIサーバーと同じ実装もできます。専用ゲームサーバーはサーバーの費用が発生するため、他の選択肢に比べて料金は高めですが、「プレイヤー離脱によるホスト移動がない」、「通信遅延は安定的」、「チート対策が強い」などのメリットがあり、全体的にユーザーが体験よく、近年の主流になっています。特に、競技性が強いゲームやリアルタイム要求が強いゲームは専用サーバーを採用することが多いです。一方、ソーシャルゲームのレイドボスのような交互頻度が少なくリアルタイム性もそこまで要求されない場合は、専用サーバの費用のデメリットが大きくなり、採用を見送るケースもよく見られます。
- サーバーをホストするためのソリューション:GameLiftはサーバをホストするためのマネージドサービスであり、マッチメイキング以外低レイヤーの機能しか提供していません。例えば、ゲームデータの同期やゲームチャットなどの機能は開発者自身で実装する必要があります。そのため、専用サーバーの運用ツールを持っている場合や細かいゲーム機能まで提供してほしい場合はGameLiftが向いていません。実際GameLiftを採用したタイトルでは、ゲームエンジンで提供した同期ソリューション(UE4のDedicated Server)やOSSのソフトウェアと組み合わせた形がよく見られます。
料金体系は?
GameLiftはマッチメイキングやFleetの管理などのマネージド機能を提供した代わりに、インスタンスの料金は通常のEC2に比べて約20%高いです。それ以外の利用は特別料金がかかりませんが、通常のサービス利用料がかかります。例えば、インスタンスのEBSの費用と通信費用EC2と同じであり、S3に保存したゲームログはS3の料金がかかります。参考:https://thinkwithwp.com/jp/gamelift/pricing/
運用コストに関して、Auto Scalingを利用すれば、実際のプレイヤー人数に基づき、適切なインスタンス数を用意することで、コスト削減が可能です。更に、GameLiftならではのコスト節約術があります。通常の場合は、常時接続なゲームはスポットインスタンスを採用することが難しいです。GameLiftは独自のFleetIQの機能があり、独自のアルゴリズムを用いて、スポットインスタンスの中断を事前に予測し、中断リスクがあるインスタンスへ配置を阻止します。Amazon GameLiftを採用したFor Honorでは、FleetIQスポットインスタンスを使用することで、100万のゲームセッションのうち、中断されたセッションは1以下でした。スポットインスタンスは最大90%の割引ができますので、専用サーバーのコストはかなり削減できると考えられます。
採用実績は?
日本国内ではニンジャガムアクションゲーム『ニンジャラ』、『A.I.M.$』、大熱闘 ドラゴンスマッシュ、3つの公開事例があり、GameLiftを採用したが公開許可を頂いていないお客様も多数います。海外ではFor Honor、Dead By Daylightを始め、たくさんのゲームをGameLiftを採用しています。
検証をしたい場合はどうすればよろしいでしょうか?
まず、GameLiftの概要を把握しましょう。Amazon GameLift Primerのトレニングが一番オススメです。日本語も対応しました。
次はサンプルコードを見ながら、GameLiftを動かしてみましょう。
公式ドキュメントはもちろん、aws workshopやgithub上もたくさんサンプルがあります。
- GameLift公式ドキュメント
- GameLift General Workshop
- Realtime Server Workshop
- Custom Game Server Sample
- GameLift Unity Sample
- GameLift UE4 Sample
最後、実際のゲームで検証と実装を進めましょう
最後に
ここまで読んで頂いてありがとうございます。今回はGameLiftを検討する際によくある質問を紹介しましたが、いかがでしょうか?
もしGameLiftの採用と運用に困ったことがございましたら、Online Ask an Expertまた近くのSolutions Architectにお気軽にご相談いただければと思います。個別相談会も受け付けております。お気軽にお問い合わせください。
ソリューションアーキテクト Fan Liang