Category: Game Development


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

 

世界に通用するゲームの製作はとても難しく、時間と費用のかかるプロセスです。利用者の要求レベルは極めて高く、多様なデスクトップ、コンソール、モバイルのプラットフォームに対応する魅力的なソーシャルゲームが求められています。ゲームの開発と流通はリードタイムが長い傾向があるため、待ちわびた数十万から数百万規模のプレーヤーがサインインして試そうとする発表の日に、ゲームの成否が決まってしまうこともよくあります。

開発プロセスでは、水面下でこの課題に立ち向かわなければなりません。ゲーム製作者は、ストーリー創作、ゲーム設計、物理シミュレーション、ロジック設計、サウンド制作、グラフィック、視覚効果、アニメーションのスキルを持つ開発者のチームと組む必要があります。ゲームがネットワークベースであれば、チームには、スケーリング、オンラインストレージ、ネットワーク通信と管理、セキュリティの専門知識も必要です。

開発とクリエイティブ作業に 18 か月から 36 か月かかることもある中で、ゲームを製作するスタジオは、大きな財務リスクと評判に関するリスクを負うことになります。新しいゲームを製作するたびに、一か八かの賭けなのです。

新しい AWS ゲームサービス 今日は、クラウド接続型のクロスプラットフォームのゲームを制作するプロフェッショナルのゲーム開発者向けに設計された新しい AWS 製品をいくつかご紹介します。当社は、実績があり業界をリードする複数のエンジンと開発者ツールを基に、膨大な独自コードを追加し、パッケージ全体を当社の Twitch ビデオプラットフォームおよびコミュニティと連携させる一方で、関連する AWS のメッセージング、アイデンティティ、ストレージの各サービスへのアクセスも可能にしました。今日発表する内容は以下のとおりです。

Lumberyardプロフェッショナルな開発者向けに設計されたゲームエンジンと開発環境です。CryEngineDouble 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 にアップロードし、プレーヤーが接続してプレーするのに応じてスケールされる EC2 インスタンス群にそのイメージをデプロイするだけです。独自のサーバー群の構築、スケーリング、実行、モニタリングに投資する必要はありません。その代わりに、Daily Active User (DAU) ごとの少額の料金と、ユーザーが消費するコンピューティング容量、EBS ストレージ、帯域幅について通常の EC2 オンデマンド料金をお支払いいただきます。

Twitch との連携最近のゲームプレーヤーはネット上で仲間とつながりを持っています。自身がプレーしていないときは、Twitch 上で他のプレーヤーやゲーム愛好家とつながってやり取りすることを好みます。プロフェッショナルやアマチュアのプレーヤーが Twitch で自らの才能を見せつけ、多数の熱心なファンの基盤を築いています。このトレンドをさらに推し進めて、さらに深いつながりと強いコミュニティの確立を促すために、Lumberyard を使用して製作されたゲームでは、Twitch の 2 つの新しい連携機能を活用することができます。Twitch ChatPlay を使用すると、Twitch のチャットストリームでのキーワードに反応するゲームを制作できます。たとえば、視聴者はプレーヤーが最も望ましい行動をするように投票することができます。Twitch JoinIn を使用すると、配信者はチャットから視聴者のメンバーをゲームに招待することができます。

これらのサービスは、他の多くの AWS サービスと同様に、ゲームの独自でクリエイティブな側面に集中できるように設計されています。このとき、すばやい転換と容易な反復に重点を置くことにより、望ましいレベルのエンゲージメントと娯楽に達するまで、ゲームプレーに磨きを掛けることができます。

サポートサービス – 仕上げとして、Lumberyard 専用のフォーラムや一連のチュートリアル (テキストとビデオの両方) を含む幅広いサポートオプションを発表します。複数の階層で構成される有償の AWS サポートも提供されます。

Lumberyard での開発今日の発表の中心は Lumberyard です。前述のように、これはプロフェッショナルな開発者向けに設計されており、高品質なクロスプラットフォームのゲーム開発をサポートします。今回の発表では、以下の環境がサポートされます。

  • Windows – Vista、Windows 7、8、10。
  • コンソール – PlayStation 4、Xbox One。

モバイルデバイスおよび VR ヘッドセットのサポートは対応中であり、数か月以内に発表される予定です。

Lumberyard 開発環境は、Windows PC またはノートブックで動作します。高速なクアッドコアプロセッサ、8 GB 以上のメモリ、200 GB の空きディスク容量、2 GB 以上のメモリを搭載した Direct X 11 互換のハイエンドのビデオカードが必要です。また、Visual Studio 2013 Update 4 (以降) および Visual Studio 2013 の Visual C++ 再頒布可能パッケージも必要です。Lumberyard の Zip ファイルには、Lumberyard Editor のバイナリ、テンプレート、アセット、設定ファイルが含まれます。 また、Lumberyard ゲームエンジンのバイナリとソースコードも含まれます。このエンジンは、そのまま使用することも、参照目的でソースコードを調べることも、さらにゲームを差別化するためにカスタマイズすることもできます。この Zip ファイルには Lumberyard Launcher も含まれます。このプログラムによって、Lumberyard、サードパーティのランタイム、SDK、ツール、プラグインが正しくインストールされ設定されていることを確認できます。

Lumberyard Editor は、開発中のゲームと、ゲームのアセットの編集に使用できるツールのスイートをカプセル化します。

Lumberyard Editor には、編集ツールのスイート (それぞれ個別にブログ投稿のテーマとして取り上げるかもしれません) が含まれています。具体的には、Asset Browser、Layer Editor、LOD Generator、Texture Browser、Material Editor、Geppetto (キャラクターおよびアニメーションツール)、Mannequin Editor、Flow Graph (ビジュアルプログラミング)、AI Debugger、Track View Editor、Audio Controls Editor、Terrain Editor、Terrain Texture Layers Editor、Particle Editor、Time of Day Editor、Sun Trajectory Tool、Composition Editor、Database View、UI Editor です。これらのエディターはすべて、最上部のいずれかのツールバーからアクセスできます。

選択的なモジュラー形式でゲームに機能性を追加できるようにするため、Lumberyard では、Gems と呼ばれるコードパッケージングシステムを使用しています。使用したい Gems を有効にするだけで、その機能がビルドされ、完成したゲームのバイナリに自動的に含められます。Lumberyard に含まれる Gems は、AWS アクセス、ボイド (群れ行動を表現するもの)、クラウド、ゲーム効果、GameLift へのアクセス、稲妻、物理シミュレーション、雨、雪、竜巻、ユーザーインターフェイス、複数プレーヤー機能、森林アセットのコレクション (詳細で実写的な森を表現するもの) です。

Flow Graph と Cloud Canvas を使用したコーディング
従来、ゲームのロジックは専任の開発者によって製作され、多くの場合、C++ が使用されていましたが、編集/コンパイル/実行のサイクルでの一般的な応答時間がかかっていました。引き続きこの方法を選ぶこともできますが、Lumberyard を使用する場合は、他に Lua と Flow Graph という 2 つの選択肢があります。

Flow Graph は、最先端の親しみやすいビジュアルなスクリプト作成システムであり、コードの記述や変更を行うことなく複雑なゲームロジックを実装できます。事前構築済みの広範なノードのライブラリを使用して、ゲームプレーのセットアップ、サウンドの制御、効果の管理を行えます。

Flow Graph はノードとリンクから作成されます。単一のレベルに複数のグラフを格納でき、それらをすべて同時にアクティブにすることができます。ノードはゲームのエンティティまたはアクションを表します。リンクは、1 つのノードの出力を別のノードの入力として接続します。入力には型 (Boolean、Float、Int、String、Vector など) があります。出力ポートは、任意の型の入力ポートに接続できます。可能な場合には型の自動変換が実行されます。

ノードには 30 を超える個別の型があり、これにはさまざまな AWS サービスへのアクセスを提供するセット (Cloud Canvas と呼ばれます) が含まれます。これには、Amazon Simple Queue Service (SQS) へのアクセスを提供するノード 2 個、Amazon Simple Notification Service (SQS) へのアクセスを提供するノード 4 個、Amazon DynamoDB への読み取り/書き込みアクセスを提供するノード 7 個、AWS Lambda 関数を呼び出すノード 1 個、Amazon Cognito を使用してプレーヤーの認証情報を管理するノード 1 個が含まれます。AWS に対するゲーム呼び出しはすべて、Cloud Canvas で設定する AWS Identity and Access Management (IAM) ユーザーを介して行われます。

これは、DailyGiftLambda という名前の Lambda 関数を呼び出すノードです。

これは、”Daily Gift” 関数を実装するために Lambda および DynamoDB を使用する Flow Graph です。

いつものように、概要だけをご紹介しました。詳細については、Lumberyard ユーザーガイドの Cloud Canvas に関するドキュメントを参照してください。

Amazon GameLift でのデプロイ ゲームでスケーラブルなクラウドベースのランタイム環境が必要な場合は、ぜひ Amazon GameLift を検討してください。

これを使用すると、共有および接続され、定期的な同期を行うような、種類の異なる多数のゲームをホストすることができます。たとえば、一人称シューティング、サバイバルおよびサンドボックスゲーム、レースゲーム、スポーツゲーム、MOBA (複数プレーヤーに対応したオンラインバトルフィールドアリーナ) ゲームなどが挙げられます。

サーバー側のロジックを構築した後で、それを Amazon GameLift にアップロードすると、数分で Windows ベース AMI (Amazon マシンイメージ) に変換されます。AMI が準備できたら、Amazon GameLift 群 (または既存の群の新バージョン) を作成し、AMI でそれをポイントすると、バックエンドの準備が整います。

群、および各群で実行されるゲームセッションは、Amazon GameLift コンソールで確認できます。

Flow Graph コードでは、GameLift Gem を使用して Amazon GameLift セッションを作成し、セッションサービスを開始することができます。

詳細については、Amazon GameLift ドキュメントを参照してください。

Twitch との連携
最後になりましたが、このトピックが重要でないわけではありません。製作したゲームは、Twitch ChatPlay および Twitch JoinIn を介して Twitch と連携させることができます。

前述のように、指定された Twitch チャンネルに入力されたキーワードに反応するゲームを作成できます。たとえばこれは、redyellowbluegreenorangeviolet というキーワードをリッスンする Flow Graph です。

料金表と提供状況
Lumberyard および Amazon GameLift はすでに利用可能であり、今日からゲーム製作を始めることができます。

Lumberyard を使用して、接続されたゲームやスタンドアロンのゲームを無料で製作して実行できます。GameLift の使用により発生するあらゆる料金と併せて、Cloud Canvas で設定された IAM ユーザーを使用して AWS サービスに対して行われる呼び出し、または C++ 向け AWS SDK を使用して行われる呼び出しについて発生する AWS 料金をご負担いただきます。

Amazon GameLift は US East (Northern Virginia) および US West (Oregon) のリージョンで提供され、今後、その他の AWS リージョンでも提供を予定しています。AWS 無料利用枠の階層の一部として、1 年間にわたり、c3.large インスタンス 1 個で構成される群を 1 か月あたり最大 125 時間実行できます。 それ以降は、ご使用の EC2 インスタンスの通常のオンデマンド料金に加え、インスタンスあたり 50 GB/月の EBS ストレージの料金と、Daily Active User 1000 件ごとに USD 1.50/月をお支払いいただきます。