Amazon Web Services ブログ

Tag: AWS Game Tech

EC2とNICE DCVを使ったOculus Quest2でのアプリ実行、開発環境の構築

本記事は Enabling Quest 2 AR/VR on EC2 with NICE DCV を翻訳したものです。 AR/VR が普及するにつれ、いくつかの企業はクラウド内でリアルタイムで利用できる AR/VR 開発環境、テスト環境、実行環境を提供し始めています。これらの需要を満たすためにAR/VR 企業はヘッドセットユーザー向けの高性能なソリューションを確保する必要があります。 AWS では、HPCを使ったインフラストラクチャとサービスを活用して、これらのソリューションを実現するためのいくつかの方法を提供しています。その一つが、G4dn EC2 インスタンス、Nice DCV プロトコル、お客様とソリューション間の高スループットネットワーク接続です。 本記事では、Oculus Quest 2 向けアプリケーション開発、テスト、実行のようなグラフィックを多用するソリューションを作成するために、高性能のEC2 インスタンスを使ったアーキテクチャの構築方法について説明します。セットアップが完了すると、エンドユーザーは高性能のクラウドインスタンスにワイヤレスで接続して、AR/VR アプリケーションを開発、テスト、実行ができるようになります。

Read More

ゲームテック業界向け re:Invent 2021を最大限に活用するためのガイド

この記事は、”Make the most of re:Invent 2021 with the Game Tech industry guide” を翻訳したものです。 AWS re:Inventは今年で10周年となります。 この10周年の記念となるAWS re:Inventで、AWS Game Techチームは一同皆様を歓迎します。 今回のAWS re:Inventはラズベガスに戻ってきました(バーチャルでの参加も可能です)。2021年11月29日から12月3日にかけて、5つの基調講演、20以上のリーダーシップセッション、1,200を超えるブレイクアウトおよびインタラクティブセッションで構成されるエキサイティングなプログラムをご用意してラズベガスでお待ちしております。さらに、AWSエキスパートや同僚とのネットワーキングとディスカッションのために、Venetianに AWS for Media & Entertainment and Games Loungeをご用意したのでぜひお立ち寄りください。

Read More
Amazon Game Tech

AWS Game Tech: 2020年の振り返り

2020年はこれまでの仕事のスタイルが変化し、これまで当たり前だったことが当たり前ではなくなったことで、ゲーム開発や運用の現場も大きな影響を受けました。そんな激動の日々の中、継続してプレイヤーに質の高いエンターテイメントを提供し続けているゲーム業界関係者の方々に敬意を表します。私たちAWS Game Techもゲーム業界の課題解決に貢献できるよう、これからもより一層努力努力してまいります。 さて、本記事ではAWS Game Techの2020年の活動を通した振り返りと、2020年にリリースされたサービスや機能の中からゲーム業界のお客様におすすめしたいものをいくつかご紹介します。   2020年を振り返る 2020年のソリューションアーキテクトの活動を振り返り、昨年に比べて印象に残った変化を挙げてみました。 マルチプレイゲームの増加 日本でも既存・新規IPによるマルチプレイゲームの開発が進み、これまでの3-Tierアプリケーションアーキテクチャに加え、マルチプレイをホストする専用ゲームサーバーをグローバルで展開するようなアーキテクチャをレビューさせていただく機会が多くなりました。Amazon GameLiftによってUnreal Engine 4のDecicated ServerやUnityのHeadless Dedicated Serverのビルドを複数リージョンでどのようにオーケストレーションするか、またゲームのマッチメイキング要件に応じてFlexMatchのマッチメイクルールをどのように記述するかなど、これまでよりさらにゲーム開発の中身に踏み込んだご支援が多くなっています。   コンテナ利用が増加 新規ゲームタイトルのバックエンドを中心にコンテナで実装するケースが増加しました。これまでEC2インスタンス上でそのまま稼働することが多かったPHPやGoなどのアプリケーションをコンテナ化し、Amazon ECSまたはAmazon EKSによってオーケストレーションを行い、データプレーン(コンテナが実際に稼働する部分)についてはインスタンス管理が不要なFargateを利用いただくケースも多くなってきています。現状はAPIまわりでの利用が多いですが、ステートフルな専用ゲームサーバーでも採用を検討するケースも除々に増えてきております。   ゲーム開発でのクラウド検討が進む 昨年から働き方改革やグローバルでの人材獲得を目的としてゲーム開発のクラウド化を検討する機会はありましたが、今年は各社のリモートワーク採用によってその検討が加速しました。オフィスのワークステーションを自宅からAWS Client VPNによってネットワーク接続したり、AWS上のGPUインスタンス上でワークステーションを実行し、リモート接続することで開発者の作業環境を整え、またPerforceなどのバージョンコントロール、EC2インスタンスによるビルドマシンをAWS上に構築し完全リモートに備えるケースも多くなりました。また、すでにビルドマシンがオフィスで稼働している場合、専用線やVPN接続によってAWSとネットワーク接続し、繁忙期のビルドマシン確保をオンデマンドで行うお客様も増えております。分散ビルドで代表的なIncrediBuildもライセンス面、機能面からAWSとの相性が非常に良い点が評価されています。(IncrediBuildのAWS利用についてはUsing IncrediBuild in AWS、ゲームの分散ビルド on AWSをご参照ください)   ゲームのワークロードで役立つサービス・新機能まとめ AWSは今年も数多くのサービス、機能追加を行いました。その中でもゲームのワークロードで有効だと思われるものをピックアップしてみました。   Amazon RDS Proxyがリリース ゲームではMySQLデータベースに対してコネクションプーリングを利用することも多いと思いますが、そのコネクションプーリングを行ってくれるサービス”RDS Proxy”がGAとなりました。EC2やコンテナなどのアプリケーションはもちろん、Lambdaなどイベント毎に都度コネクションを発生されるような場合にRDS側のリソース量をセーブすることが可能です。また、RDSインスタンスの障害時にもアプリケーションとのコネクションを維持しながらフェールオーバー完了を待つことが可能です。昨年末にLambdaのVPC上での実行においてコールドスタートの解消などが行われましたが、RDS ProxyによるRDS/Auroraへのコネクションプーリングが利用できるようになってさらにゲームのような大規模なワークロードでサーバレスを展開しやすくなりました。 詳細はこちらをご覧ください。   Application Load Balancer (ALB) がエンドツーエンド HTTP/2をサポートし、gRPCの負荷分散が可能に ロードバランサの1つであるALBはこれまでクライアントとの通信でHTTP/2をサポートしていましたが、その先のALBのターゲットとなるEC2インスタンスについてもHTTP/2をサポートしました。これによってゲームでも利用が多いgRPCプロトコルの負荷分散もサポートされることになりました。 詳しくはこちらをご覧ください。   AWS Global […]

Read More

Amazon DynamoDB の使用を開始するためのゲーム開発者ガイド

多くのゲームでデータベースが不可欠の部分であることは周知の事実です。けれども、ゲーム開発者としては、データベースのエンジニアリングではなく、優れたゲームの構築にすべての時間と専門知識を捧げたいでしょう。 わかります。私も、データストレージについて考えるのではなく、コリジョンボリュームの修正、フレームレートの引き上げ、あるいは完璧な制御システムの作成に気をかけたいです。では、それを簡単に行いましょう。この記事では、AWS の高速で柔軟な NoSQL サービスである Amazon DynamoDB を使用して、ゲームにデータベースを追加するのがいかに簡単であるかを示します。 DynamoDB は、キーをデータに関連付ける非リレーショナルデータベースです。データベース、特にゲームでの使用に詳しくない場合は、ゲームでのデータベースの基本的な使用法と、リレーショナルデータベースと非リレーショナルデータベース (ときに SQL と NoSQL と呼ばれる) の違いについて説明したこの記事「素晴らしいゲームのためのマネージドデータベース」をご覧ください。 Dynamo DB テーブルの作成 DynamoDB は、NoSQL データベースですが、SQL データベースから借用した用語テーブルを使用します。この場合のテーブルは、実際にはデータベースに格納されるアイテムの主要な機能を定義したものにすぎません。 DynamoDB には、テーブルを識別するためのテーブルのプライマリキーが常にあり、このキーはデータベースに保存されているすべてのアイテムに対して一意である必要があります。 便利なヒントは、プライマリキーが複数の値のハッシュになる可能性があることです。したがって、単一の一意の属性がない場合は、異なる属性を組み合わせて一意の値を作成できます。たとえば、名前とバージョン番号を持つアイテムです。「broadsword」という名前のアイテムは 10 個あり、「version 1」のアイテムは 100 個ありますが、「broadsword version 1」は 1 個しかありません。 DynamoDB には、オプションで、アイテムをすばやく並べ替えることができるソートキーもあります。たとえば、プレイヤーのソートキーはプレイヤークラスであるかもしれません。これにより、ゲーム内のすべてのファイタークラスのリストを取得するクエリが高速化されることでしょう。データベース内のアイテムを一意に識別するための代替方法でするセカンダリキーを持つこともできます。 このデモでは、プレイヤーキャラクターの属性を表す非常にシンプルなオブジェクトを作成します。オブジェクトには一意のプレイヤー ID、プレイヤーレベル、強さと知力の 2 つの統計が含まれます。プレイヤー ID がプライマリキーになり、このデモ用のソートキーやセカンダリキーはありません。 注意: 自分で練習したい場合は、ソートキーとして機能するプレイヤークラスを追加できます。 DynamoDB テーブルを作成する手順は次のとおりです。 AWS コンソールを開きます。 DynamoDB を検索して選択します。 DyanamoDB コンソールのホームページから [テーブルの作成] を選択します。 […]

Read More