Amazon Web Services ブログ

Category: Amazon GameLift

P2Pからクラウドへの移行: For HonorとFriday the 13th The Gameがどのようにプレイヤー体験を向上させたのか

ゲーム開発者として、ローンチに至るまで情熱を絶やさずゲーム開発とファンコミュニティの育成に数年の歳月と投資をされてきたかと思います。最高のユーザー体験を提供することおいては、例えばネットワーク接続時のプレイヤーの待ち時間に対するバックエンドの選択肢等バックエンドインフラは一番の関心ごとではなかったかもしれません。 多くのゲーム開発者がピア・ツー・ピア(P2P)ネットワークでマルチプレイヤータイプのゲームを実現させています。開発当初は一見してコスト効果の高いソリューションに思えますが、我々は沢山の開発者がP2Pから クラウド上で可動する専用ゲームサーバー に切り替えられる案件を見てきました。ここでは、UbisoftやIllFonicのようなスタジオのFor HonorやFriday the 13th The Gameのチームが、なぜP2Pをやめクラウド上の専用ゲームサーバに乗り換えたのか、その理由のいくつかを見てみたいと思います 劣悪なレイテンシーと接続性からの脱却 P2Pネットワークでは同一エリアで強力なネットワーク接続があれば低レイテンシーな体験をプレイヤーにもたらしてはくれます。しかしながら、P2Pネットワークでの全体的なゲームのレイテンシーは、ホストとのネットワーク接続のレイテンシーに縛られます。 For Honorは、当初、P2Pネットワークモデルを採用してリリースされました。時間を経るに連れ、プレイヤーの体験に関してアーキテクチャの選択に起因するいくつかの問題がある事が明らかになり、セッションの移譲とNAT (Network Address Transaction) の問題解決やマッチメイキングとオンライン体験の安定性を得るために、UbisoftはAmazon GameLiftで稼働させる専用ゲームサーバモデルに移行する事を決定しました。 専用ゲームサーバは開発者側による細かな制御を可能にします。さらに、クラウド上でのホスティングを利用する事で、プレイヤーを低レイテンシーで安定したゲームサーバに接続する等の管理も容易にできるようになります。 ドロップアウト、ホストの優位性、マルチプレイヤーゲームのチート対策 プレイヤーは、ネット接続の問題、ゲームへの興味喪失等々様々な理由でゲームセッションからドロップアウトします。 ホストプレイヤーがゲームから抜けると、他の全てのプレイヤーのゲームの中断や瞬断を招きます。Friday the 13th The Game独自のユニークな非対称マルチプレイゲームではこの問題はより顕著でした。このゲーム内では、あの悪名高いジェイソンはマッチ中の他の全てのプレイヤーと敵対します。ホストプレイヤーがジェイソンに倒された場合に、墓からの観戦は望まずゲームからドロップアウトしてしまうので、全てのプレイヤーのゲームが中断してしまっていました。 P2Pネットワークでは不正やチートも容易にできてしまい、ホストはレイテンシー的に優位になる事が多々ありました。また、専用サーバモデルアーキテクチャに比べ、ホストプレイヤーのPCが認証を行うP2Pモデルではチートの検出も容易ではありませんでした。そして、ホストは他のプレイヤーに比べてレイテンシーが低いので度々優位になりました。専用サーバモデルを採用することで、ゲームの中断やチートの問題を抑え、全てのプレイヤーに平等なゲームプレイ体験を提供できるようになります。これらがIllFonicがAmazon GameLift上で専用サーバを稼働させるという選択をされ、マルチプラットフォーム(PC、Xbox One、PS4)間プレイを実現するに至った理由です。 UbisoftとIllFonicによるP2Pと専用サーバの知見がGDC 2018でシェアされました GameLiftチームによる「Exploring Trends of Multiplayer Game Infrastructure with Amazon Gamelift」セッションをぜひご確認ください。 UbisoftよりFor Honor開発者のDamien KiekenとRoman Campos Oriolaが、IllFonicよりFriday the 13th The Gameの技術ディレクターPaul Jacksonにより、彼らのバックエンドインフラやP2PネットワークからAmazon GameLift上の専用ゲームサーバへの移行に関してご紹介いただきました。また、Amazon GameLiftチームからもマルチプレイヤーゲームサーバのトレンドやマシンラーニング等も紹介されます。 GDC 2018 @ […]

Read More

Amazon GameLift FleetIQとスポットインスタンスでコストを最大90%削減

Amazon GameLift は、セッションベースのマルチプレイヤーゲーム用のゲームサーバーをデプロイ、オペレーション、スケーリングを行うAWSのサービスです。新たにFleetIQとスポットインスタンス対応という2つの機能をサービスに追加しました。オンデマンドのインスタンス価格と比較して、AWSのコンピューティングリソースの空き時間を活用するスポットインスタンスを利用することにより最大90%のコスト削減が可能となります。さらにFleetIQがプレイヤーのレイテンシ・インスタンスの価格・スポットの中断率をふまえてゲームセッションのキューイングを行うことにより、スポットインスタンスによるコスト削減を享受しながらもゲームサーバの稼働率を高く保つ事ができます。 スポットインスタンスでは、オンデマンドインスタンスと同様の高パフォーマンスを発揮できるハードウェアを利用しつつもコストを最大90%抑えられます。オンデマンドインスタンスと異なり、スポットインスタンスの価格はその時点でのリージョン毎のインスタンスタイプの供給量に依存します。スポットインスタンスの価格はスポットインスタンスの需要と供給の長期トレンドに基づきアマゾン側で設定されます。そして、Amazon GameLiftのスポット価格はオンデマンドの価格を超える事はありません。 スポットインスタンスを利用した場合の価格の予想には、Amazon GmaeLiftのコンソール上のリージョンとインスタンスタイプ毎のスポットインスタンスの価格履歴がお役に立ちます。 スポットインスタンスによりコストを削減できる代わりに、スポットインスタンスをAWSに返却される必要が出た場合の中断予告が、中断の2分前に行われる場合があります。この中断予告を利用することで、受け取ったインスタンスではゲームをシャットダウンするか別のインスタンス上のゲームに以降させるような対応を取ることができます。このスポットインスタンスの中断を最小限にするためにFleetIQが開発されました。FleetIQはAmazon GameLiftのための新たな機能で、スポットの中断率をトラッキングし、このデータを参照しつつ中断率が低いインスタンスを自動的に選択してゲームを立ち上げます。 これらのスポットインスタンスとFleetIQの強みを活かしていただくには、Amazon GameLiftコンソールもしくはAPIにて、複数のスポットとオンデマンドのFleetをキューに設定することになりますが、各キューにFleetを追加する際にレイテンシや中断率、コスト等の情報を追加して活用できます。新たなゲームセッションをインスタンス上でスタートさせる場合に、FleetIQはまず最初に各プレイヤーのレイテンシーが低いリージョンを選択し、次に中断率とコストの低いフリーとを選択します。 スポットインスタンスとFleetIQの強みを活かしていただくには、Amazon GameLiftコンソール(もしくはAPI)にて、スポットとオンデマンドの複数のFleetでキューをセットアップします。 FleetIQとスポットインスタンスの組み合わせにより、ゲームプレイヤーの皆さんには素晴らしい体験を提供しつつも、コストを抑えていただける新次元のツールセットとなりました。Amazon GameLiftのスポットインスタンスとFleetIQに関する詳細はこちらをご参照ください。 aws.amazon.com/jp/gamelift 翻訳は下田が担当しました。原文はこちら。

Read More

発表: Amazon GameLift がすべての C++ と C# ゲームエンジンをサポート

すべてのゲーム開発者の方にお知らせします。数週間前にサンフランシスコで行われた GDC 2017 は大人気でした。そのため、クールなゲームの学習と構築に刺激を受け、情熱を注ぐには今が最適なタイミングです。ここで、Amazon GameLift がすべての C++ と C# ゲームエンジンで利用可能になったことをお知らせします。これには、Amazon Lumberyard、Unreal Engine、Unity が含まれ、そのすべてでゲームセッションのマッチング機能が向上しています。Amazon GameLift に詳しくないお客様向けに、ゲーム開発者が楽しく革新的なオンラインゲーム体験を提供できるよう支援するために設計された、このマネージド型サービスについてご紹介します。 Amazon GameLift は、専用ゲームサーバーをホストするためのマネージド型の AWS のサービスで、ゲーム開発者が簡単にゲームのキャパシティーをスケールし、利用可能なゲームセッションでプレイヤーをマッチングできるようにします。Amazon GameLift を使用すると、サーバーのホスト、ゲームの可用性の追跡、分散サービス拒否 (DDoS) 攻撃からのゲームサーバーの防御が可能なほか、ゲームをオフラインにすることなくアップデートをデプロイできます。Amazon GameLift サービスは Amazon Game Studios の専用ゲームサーバーや外部のゲーム開発顧客に役立ち、指定された時間内に開始、終了するゲームループで、セッションベースのゲームをサポートするよう設計されています。最新の Amazon GameLift リリースではサービスの最新機能が強化されているほか、開発者向けにゲームの開発とデプロイの簡略化を支援する優れた新機能が追加されています。Amazon GameLift サービスのクールな機能のいくつかについて見てみましょう。 複数エンジンのサポート: 当初、Amazon GameLift サービスは Amazon Lumberyard ゲームエンジンのみで使用できました。現在、このサービスは強化され、Unreal Engine や Unity のような一般的なゲームエンジンをはじめ、カスタム C# と C++ ゲームエンジンと統合されます。 新しいサーバー SDK 言語のサポート: より多くのお客様と開発者をサポートするため、このサービスでは C# […]

Read More

Streamlineのケーススタディ:Amazon GameLiftで加速リリース

Proletariatについて ボストンに拠点を置くProletariatは、革新的なマルチプレイヤー体験の構築に焦点を当てたインディーゲーム企業です。5人のゲーム業界のベテランによって2012年に設立されました。彼らは、賞を獲得したWorld Zombinationの立案者です。World Zombinationは、プレイヤー同士が共に戦略を立て合ってゾンビや人間の大群を用いて街を破壊したり守ったりする巨大なオンラインゲームです。彼らの最新のマルチプレイヤーゲームであるStreamlineは、オーディエンスのインタラクティブなゲーム参加が特徴であり、ストリーミング配信者や視聴者が試合中にゲームプレイルールをリアルタイムに変更することができます。 課題 Proletariatは、3月のGDC 2016でStreamlineを公表し、ゲームストリーマーのプレミアムイベントである9月のTwitchCon 2016でベータ版を公開する予定であると告知していました。しかし、TwitchCon 2016のTwitch Prime一般公開に含めないかという話をAmazonが持ちかけたところ、ProletariatはStreamlineを誰でもプレイできるようにするために開発を加速することを決めました。彼らは興奮する一方で、自分たちの独自のゲームサーバソリューションが、管理に手間がかかり過ぎることと増加していくプレイヤー需要をサポートするために必要な機能が足りていないことを気にしていました。 Proletariatの独自のクラウドソリューションはAWS Elastic Container Service (ECS)を中心に構築されていました。AWS ECSは、AWS EC2インスタンス上のアプリケーションの管理を容易にしてくれるコンテナ管理のサービスです。サーバのヘルスチェックを実行したりプレイヤーを利用可能なゲームサーバに接続するなど、彼らは基本的なゲームサーバの機能を手動で操作していました。これらのプロセスによってプレイヤーの負荷が処理されますが、Streamlineが一般利用可能になってしまえば管理は手間がかかり過ぎるでしょう。また、彼らの独自のクラウドソリューションは、どのゲームサーバがアクティブなゲームセッションを保持しているかというこを特定することができませんでした。これは、サーバのキャパシティを手動で調整している間に誤ってアクティブなゲームセッションを縮小し、プレイヤーをStreamlineから切断してしましまう可能性があることを意味していました。単一のEC2インスタンス上で複数のゲームサーバプロセスを実行することができないので、テストをシンプルにすることも困難でした。各ゲームサーバはユニークな公開ポートを必要としますが、コンテナ内部からはその公開ポートを取得することができませんでした。 Proletariatは、ゲームサーバのホスティングにAWSの実績のあるインフラストラクチャを使い続けることを希望していましたが、必要な機能を構築するには数千時間はかかりそうでした。あっという間ににTwitchCon 2016の開催は近づき、ProletariatはAmazon GameLiftを紹介されました。Amazon GameLiftはAWSのマネージドサービスです。ゲームサーバのホスティングをシンプルにしサーバキャパシティを数分でスケールします。 「Proletariatのチームにとって選択肢は非常にシンプルでした。つまり、我々のクラウドインフラストラクチャを構築するのに数ヶ月を費やすためにエンジニアチームを雇うか、あるいはAmazon GameLiftで数分でデプロイするか、です。」とProletariat社CEOの Seth Sivakは言いました。 実装 Proletariatは、Amazon GameLift Server SDK for C++をダウンロードしUnreal Engineゲームサーバのビルドに統合し、ゲームサーバをAmazon GameLiftにアップロードしました。Unreal Engineゲームサーバを格納するために、5つのGameLiftインスタンスタイプのどれが自分たちのニーズに最も適しているかを判断する必要がありました。「リアルタイムゲームでは、ネットワークが最適化されたAmazon GameLiftインスタンスが必要でした。そのため、私達は一連のインスタンスにc4.xlarge.gameliftを選択しました。」とStreamlineのリードエンジニアである Cauê Waneck は言いました。「Amazon GameLiftは、各インスタンス上で4つのゲームサーバをサポートするように実行設定を構成することができます。これは、私達のゲームサーバがシングルスレッド構成であることを考えると完璧です。これにより、vCPUあたり1つのゲームサーバプロセスをうまく活用できるようになり、テストとイテレーションのプロセスが大幅にシンプルになります。」 独自に作成したNode.jsのマッチメイキングシステムとAmazon GameLift上のC++のゲームサーバ間のゲームセッションの新規作成を管理するために、ProletariatはAWS JapaScript SDK with Amazon GameLiftを使用しました。また、彼らはクイックマッチに利用可能なキャパシティを持つゲームサーバを見つけるために特殊なゲームセッションデータを使用しました。このデータは、サーバが新規プレイヤーを受け入れるべきかどうかを分類し、どのゲームセッションが利用可能なプレイヤースロットを持っているかを特定するのに役立ちました。「Amazon GameLiftは、大量のプレイヤーのマッチメイクを容易にし、待ち時間を減少させました。」とWaneckは言いました。「さらに、ゲームセッションをパーティーリーダーに関連付けるということが可能だったので、プレイヤーにカスタムゲームマッチの開催を可能にするというかたちでも役に立ちました。」 Proletariatは、アクティブなゲームを保持するインスタンスがスケールダウンされてプレイヤーをオフラインにしてしまうことを防ぐために、Amazon GameLift組み込みのゲームセッション保護の有効化も行いました。「Amazon GameLiftは保険のようなものです。サーバのスケーリング、とりわけ起動時のスケーリングにおいて安心を与えてくれます。」とWaneckは言いました。 AWS Command Line Interface […]

Read More

GameLiftがアジア(東京リージョン)とヨーロッパに拡大し、Auto-Scaling機能を追加しました。

Amazon GameLiftは、クラウドでセッションベースのマルチプレイヤーゲームサーバを簡単かつ費用対効果が高いデプロイ、運用、スケールが行えるフルマネージドサービスです。GameLiftは北米の2つのリージョンで一ヶ月前にローンチされ、本日、日本( ​​gamelift.ap-northeast-1.amazonaws.com )とヨーロッパ( gamelift.eu-west-1.amazonaws.com )のプレイヤーのために最適なゲームパフォーマンスを提供できるようになりました。   Amazon GameLiftの新しい高度なAuto Scaling機能を利用すると、動的にサーバーFleetのキャパシティを管理するためにGameLiftを設定できます。この機能を使用すると、プレイヤーが高速な接続を確保しがらコストを抑え、サーバのキャパシティをゲームの需要曲線に密接に従うことができます。FleetのためにAutoScaling機能を設定するには、単純にトリガーするタイミングとアクションの種類を定義するポリシーを設定します。例えば、Auto Scalingのルールを「15分以上のアイドル状態のインスタンスが20あれば、10までスケールダウンさせる」といったことができます。GameLift AWS Consoleは、スケーリングのポリシーを作成および適用するためのツールを提供し、またAWS CLIまたはGameLift SDKも使用することができます。Auto Scalingの状態はGameLift AWS Consoleのパフォーマンス・メトリックまたは、Fleetのイベントログで追跡することができます。GameLiftのAuto Scaling機能は、堅牢なAWS Auto Scaling serviceを使用しています。   GameLift Auto Scalingの詳細についてはGameDevのブログの記事をご覧ください。 こちらから始められます。 サービスコンソール ドキュメンテーション FAQ   翻訳はSA 森が担当しました。翻訳元:GameLift Expands Game Server Availability to Europe and Asia and Adds Auto-Scaling

Read More

Lumberyard、Amazon GameLift、Twitch により AWS でゲームを提供

  世界に通用するゲームの製作はとても難しく、時間と費用のかかるプロセスです。利用者の要求レベルは極めて高く、多様なデスクトップ、コンソール、モバイルのプラットフォームに対応する魅力的なソーシャルゲームが求められています。ゲームの開発と流通はリードタイムが長い傾向があるため、待ちわびた数十万から数百万規模のプレーヤーがサインインして試そうとする発表の日に、ゲームの成否が決まってしまうこともよくあります。 開発プロセスでは、水面下でこの課題に立ち向かわなければなりません。ゲーム製作者は、ストーリー創作、ゲーム設計、物理シミュレーション、ロジック設計、サウンド制作、グラフィック、視覚効果、アニメーションのスキルを持つ開発者のチームと組む必要があります。ゲームがネットワークベースであれば、チームには、スケーリング、オンラインストレージ、ネットワーク通信と管理、セキュリティの専門知識も必要です。 開発とクリエイティブ作業に 18 か月から 36 か月かかることもある中で、ゲームを製作するスタジオは、大きな財務リスクと評判に関するリスクを負うことになります。新しいゲームを製作するたびに、一か八かの賭けなのです。 新しい AWS ゲームサービス 今日は、クラウド接続型のクロスプラットフォームのゲームを制作するプロフェッショナルのゲーム開発者向けに設計された新しい AWS 製品をいくつかご紹介します。当社は、実績があり業界をリードする複数のエンジンと開発者ツールを基に、膨大な独自コードを追加し、パッケージ全体を当社の Twitch ビデオプラットフォームおよびコミュニティと連携させる一方で、関連する AWS のメッセージング、アイデンティティ、ストレージの各サービスへのアクセスも可能にしました。今日発表する内容は以下のとおりです。 Lumberyard – プロフェッショナルな開発者向けに設計されたゲームエンジンと開発環境です。CryEngine、Double Helix、AWS の新しい技術と実績のある技術を組み合わせることで、Lumberyard はゲーム開発を簡素化し効率化します。ゲームエンジンとしては、クラウド接続型およびスタンドアロンの 3D ゲームの開発をサポートするとともに、アセット管理、キャラクター作成、AI、物理シミュレーション、音声などもサポートします。開発の観点では、Lumberyard IDE により、空白のキャンバスから屋内および屋外の環境を設計できます。プロフェッショナルなゲーム開発者は、組み込みのコンテンツワークフローとアセットパイプラインを活用し、後で編集して IDE で読み込めるように Photoshop、Maya、3ds Max でゲームのアセットを編集することができます。ゲームのプログラミングは、(AWS SDK for C++ へのアクセスを含め) C++ や Visual Studio を使用する従来の方法で行うか、Flow Graph ツールや新しい最先端の Cloud Canvas を使用してクラウド接続型のゲームプレー機能を作成することができます。 Amazon GameLift – 最先端のゲームの多くには、アクティブなセッション数に比例してスケールする必要があるサーバーまたはバックエンドコンポーネントが含まれています。Amazon GameLift は、Lumberyard を使用して開発するゲーム向けに、複数プレーヤーに対応したセッションベースのゲームサーバーをデプロイしスケールするのに役立ちます。ゲームサーバーのイメージを AWS […]

Read More