Category: Game Development*


Lumberyard Beta 1.11-Flow GraphとCryAnimationにお別れを…全く新しいビジュアルスクリプティングとアニメーションツールに

つい先日までのLumberyardとは違います。もし、しばらく離れられていたなら新しいLumberyardを見ていただく良い機会です。

新たなビジュアルスクリプティングとアニメーションツールが実装された Lumberyard 1.11を こちら からダウンロードできます。

これまでの19ヶ月で オリジナルのコードベースの60%を入れ替えており、3,300以上の改善と、500個の無料アセットを追加し、皆さんゲームプロジェクトでご利用いただけるようになりましが、今回のリリースはエンジンと皆さんの制作体験上とても重要なターニングポイントになります。なぜなら…

  1. 新アニメーションシステムとしてEMotion FXが導入され、CryAnimation (GeppettoとMannequin)と置き換えられました。エンジニア不在でも、ブレンドツリー、ステートマシン、ブレンドスペース、モーションツリー等の機能を使って10分程触っていただくだけで高品質なアニメーションを制作できます。EMotion FX はこれまでにEAやUbisoftのようなスタジオで10年以上に渡って利用されてきていましたが、今回Lumberyardの永続的なパートとなり、強力かつ扱い易いソリューションをアーティストの皆さんに提供できることになました。(1.11の新たなサンプル中に我々のキャラクターRinがありますのでお試しください。サンプルへのアクセス方法は こちら)
  2. Script Canvasが、これまでのFlow Graphと置き換えられ、新たなビジュアルスクリプティングソリューションになりました。Script CanvasでLuaやC++と同様にゲーム内の挙動をオーサリングできるソリューションとなります。これにより、必要とされるエンジニアがいない場合でもEMotion FXで作成されたクールなアニメーションをScript Canvasで即座にキャラクターの挙動を制作できるということになります。プログラミング経験に乏しくても、Script Canvasのノードインターフェースで、品質の高いゲームプレイ体験を創り出していただけるようになります。Script Canvasで皆さんの創り出されるものを楽しみにしています。(Script Canvasの開始方法やチュートリアルは こちら の最新ドキュメントをご参照ください)
  3. さらに新たに、将来を見据え CryEntity コンバートツールを用意し、CryEntityを新たなComponent Entityフォーマットにコンバートできるようにしました。これにより、将来Lumberyardの新たな上システムの利点を享受し安定した土台の上にゲームを構築できるようになります。まだまだ沢山の作業がありますが、素晴らしい開発コミュニティの皆さんと共に進化と成長を続け育てていくことはとてもエキサイティングなことです。 (コンバートツールのご利用は こちらのチュートリアルをご参照ください)

 

EMotion FX

 

Script Canvas

400以上の追加アップデート

今回のリリースには沢山の更新がありますので詳しくは こちら をご参照ください。

  • 新たに3つのCloud Gemが加わり、ゲーム中のプレイヤーの状態を簡単に観測したり、 Amazon Polly を活用したSpeech Gemでテキストを読ませたり、Amazon Lex による音声認識をゲームプレイで活用したりできるようになりました。
  • 新規プロジェクトのスタート地点として、新たに2つのプロジェクトテンプレートが加わり、デフォルトのテンプレートはGem群を有効にしてシンプルなレベルからのスタートとして、空のテンプレートは最低限の素の状態のテンプレートとなります。
  • 新たなGetting Started Guide(初心者ガイド)により、以前よりもさらに素早くLumberyardを始めていただけるようになりました – 迷路脱出ゲームをお友達と簡単にシェアできてしまいます。ドキュメントは こちら になりますが、新たなビデオシリーズもご期待ください。
  • 新たに実験的に実装されたトゥーンシェーダーでゲームの見栄えをがらっと変えていただくことも可能です。Starter Gameを読み込んでコンソールコマンド「r_ApplyToonShading = 1」でお試しいただけます。shadeLib.cfi内がリファインされる可能性があります。
  • さらに沢山のユーザビリティ向上へのフィードバックをありがとうございました。アウトライナとアセットブラウザ上でのドラッグアンドドロップによる並べ替えのサポート、ゲーム起動時の1クリックでのエンティのアクティベート、独自のコンポーネントを作成された場合にURLを関連付けチーム作業効率を高める事もできます。

 

みなさんのご意見をお聞かせください。
前回もお伝えしたように、皆様からのフィードバックは我々のロードマップ形成に欠かせませんので、今後ともよろしくお願いいたします。Lumberyardについて深くお知りになりたい場合は チュートリアルコミュニティーフォーラムドキュメント も既にありますのでぜひご覧ください。

翻訳は下田が担当しました。原文はこちら

LumberyardがGitHubで公開されました!

本日とてもエキサイティングなご報告をさせていただきます。LumberyardのソースがGitHubで公開されました。コミュニティーの皆様からの特に多いご要望の1つでしたが、ようやく実現でき大変嬉しいです。こちらのURL(www.github.com/aws/Lumberyard)をご確認ください。

ゲームを制作する事はチャレンジングですが、GitHubを活用することで2つの手法が容易になります。

 

LumberyardをGitHubから取得できます。

これまでは、Lumberyardを標準インストーラーからインストールする事がLumberyardを入手いただく唯一の方法で、ソースを含めたすべてのLumberyardが新たに別のディレクトリに保存されました。ですので継続的にLumberyardをアップグレードすることはうんざりする作業だったかもしれませんが、GitHubを活用することで劇的に変わります。

 

本日よりLumberyardソースコードをGitHubリポジトリから容易に直接取得して管理する事が可能となります。新たなバージョンのLumberyardをインテグレートすることも今までよりとてもシンプルな操作で可能です。そして、今後の新たなLumberyardのリリースは別々のブランチで提供されますので、任意のバージョンのインテグレートも可能となります。さらに!あなた自身のGitHubアカウントを作成してGitHubであなたのプロジェクトを管理したり、リモートリポジトリであなたのチームとの共同作業も容易にできるようになります。

Lumberyardの改良やバグ修正を送っていただく事も可能です。

これまでは、Lumberyardの開発者は最大50行までのLumberyardのコードをフォーラムを通して送っていただく事が可能でしたが、簡易な修正にしか適用できませんでした。(このような状況にもかかわらず、これまで修正を送っていただいた皆様に御礼を申し上げます!)本日より、GitHubを活用することで、どのようなサイズの改良やバグ修正でも容易にLumberyardチームに送っていただく事が可能となります。プルリクエストにより、必要となるコードを複数のファイルにまたがるような場合でも、正確な方法で管理できます。皆様からのフィードバックとサポートは我々を突き動かす大きな要因で、皆様とともにこのエンジンを創り上げていける事はとてもエキサイティングです。

メインブランチで安定したLumberyardを提供し続けていく事は我々にとってとても重要ですので、プルリクエストがすぐにはマージされるわけではなく、承認された変更は将来のリリースに反映される可能性があるということにご留意ください。継続的にプルリクエストは確認させていただきます。プルリクエストが採用されました皆様はリリースノートにクレジットさせていただきます!

もう一点、我々のリポジトリからフォークする事も可能です(詳しくはリポジトリ中のReadme.mdファイルをご参照ください)がLumberyardは引き続き「AWS Customer Agreement」と「Lumberyard Service Terms」の元にライセンスされております。この点にご留意いただければ公開リポジトリとすることも可能ですので、ログインせずに取得する事も可能となります。

いつでもお気軽にご意見をお聞かせください。今後の数ヶ月でScript Canvasや新たなアニメーションツール等さらにいくつかのエキサイティングな要素の提供も予定していますのでお見逃しなく!Lumberyardに関します様々な情報はチュートリアルやコミュニティフォーラム、さらにドキュメントからも得られます。

LumberyardのGitHub公開に関します詳細はこちら(www.github.com/aws/Lumberyard)をご参照ください。

本記事の作者について

Todd Gilbertsenは1980年台からゲームエンジンの制作、ビデオゲームだけでなく、様々なソフトウエア開発のプロフェッショナルとして活動を続けており、ゲーム開発者がクリエイティブに開発を進めるためのツールやテクノロジーの開発をする事に情熱を注いでおります。ToddはLumberyradのシニア・テクニカルプロダクトマネージャーです。

(翻訳は下田が担当しました。原文はこちら)

Now Available – Lumberyard Beta 1.10

本日、546以上の改善、修正、および機能を備えた最大リリースであるLumberyard Beta 1.10のリリースを発表しました。こちらからダウンロードできます。
昨年2月にリリースされて以来、元コードの50%以上を修正、書き換えを行いました。皆様ののフィードバックのおかげで、いくつかの大きな進歩を遂げましたが、まだやるべきことはたくさんあります。この行程のお手伝いができ興奮しております。
今回のリリースにはいくつかのハイライトがあります。(全リリースノートはこちらにあります)

 

Order-independent Transparency

ゲーム上で透明なオブジェクトをレンダリングするのはチャレンジングです。ワイングラスを例に:グラフィックスエンジニアは、すべての表面を正しく表示し、特に表面やリフレクションの順序が乱れている場合は、すべてのリフレクションを正しく取得するのに時間がかかることを知っています。Order-independent Transparency(OIT)はこれを解決します。
今年GDCでNVIDIA Researchと協力してOITを垣間見ることができ、そして今回のLumberyard 1.10に統合することができました。私たちは常にゲーム開発を簡単にする方法を探し求めていますが、リアルタイムレンダリングで可能性を押し広げています。皆様がOITの力をどのように活用するかを待たせることはありません。

画面の左側には、Order-independent Transparencyを有効にしており、その利点がわかります。

 

Temporal Anti-Aliasing

私たちはすべてのjagged edges (aka jaggies) やゲーム中のちらつきを処理してきました-多くの点で、それに慣れていました。しかしそれはもう必要はありません。Temporal Anti-Aliasingを使用すると、リアルタイムレンダリングによる欠点をより簡単にスムーズに処理し、ゲーム中で映画のような品質に近づけることができます。
それにすぐ直面し、映画では数秒のCGI効果で数百時間を費やすこととなります。しかし、ゲームでは、すべてをリアルタイムで実行する必要があります。Lumberyardの高度なレンダリング技術と一緒に、Temporal Anti-Aliasingは、プロジェクトにおいてハイレベルの視覚的忠実度を成し遂げるのに役立てます。

画面の左側には、 Temporal Anti-Aliasingを有効にしており、その利点がわかります。

 

何百もの追加機能と最適化

皆様のフィードバックのおかげで、今回のリリースではさらに重要な調整と修正が行われました。

  • component entity workflowsでワークフローに35の改善点を 導入し、イテレーション時間を短縮しました。たとえば、Entity Inspectorで複数選択(CTRLとSHIFTのクリック)したり、コンテキストメニューからワンクリックでエンティティとコンポーネントをスライスのデフォルトに戻したり、Entity Outlinerのコンポーネントを有効または無効にしたり、エンティティのアイコンをカスタマイズができるようになりました。
  • Cloud Gems には50以上の改善点が追加され、プレイヤーコミュニティの管理性を向上させました。新しい機能は、Cloud Gems Portalから数回のクリックで新しいユーザーを作成したり、パスワードをリセットしたり、プレーヤーを停止する機能が含まれました。
  • さらに、エディタをカスタマイズした新しいdocking systemmaterial editorのパフォーマンス向上など、多くの機能を備えています。

Lumberyardの新しいdocking system

 

皆様のご意見をお聞かせください

いつものように、あなたの考えをお聞かせください。リリースから18カ月しか経っておらず、いろいろな意味でまだ始まったばかりです。あなたのフィードバックや提案の多くを組み込むのを待っています。だからこそお聞かせください。Lumberyardについての詳細は、チュートリアルを参照し、コミュニティフォーラムにアクセスでき、ドキュメントを確認することができます。

(翻訳はSA 森が担当しました。原文はこちら)

Twitch で AWS のライブストリーミング

Twitch は開発者、ゲーマー、アーティストの間で今人気を集めているコミュニティストリーミングビデオのプラットフォームです。日々、何百万人ものユーザーが Twitch にアクセスし、熱心なオンラインストリーマー達とライブセッションに参加してビデオを観たり論議を交わしています。アマゾン ウェブ サービスは去年の 11 月に AWS Twitch チャンネルを追加し、Twitch の利用者に向けて AWS の最新技術を配信し始めました。AWS Twitch チャンネルはクラウドに強い興味を持っている様々なレベルのユーザーを対象に、ライブで提供するインタラクティブなコーディングやメーカーセッションを毎週ホストしています。今後のエピソードや過去の配信内容またはチーム紹介などに関する詳細情報については https://aws.amazon.com/twitch/ をご覧ください。

AWS Twitch チャンネルは年間を通して複数のエピソードを提供し、各エピソードには様々なテーマ、出演者、トピックなどを取り上げています。現在は「AWS でライブコーディング (Live Coding with AWS)」と「AWS AWS Maker Studio」といった 2 つのエピソードをご覧いただけます。「AWS でライブコーディング (Live Coding with AWS)」では、テクニカルエバンジェリストの Randall HuntJulio FaermanAbby Fuller が、開発者の視点から AWS サービスほぼすべてに渡るアプリやソリューションの構築について説明しています。Twitch の優れた点は、視聴者が番組の方向性を決定する声として参加できる点です。さらに、Amazon、AWS、コミュニティからのゲストが Twitch に参加し、面白そうな新しいプロジェクトや AWS プラットフォームで構築した実装について話し合います。AWS Maker Studio5 月 17にスタート、主に Maker のプロジェクトやソリューションについて取り上げていく予定です。ホストは Todd VarlandTrevor HykesAnupam Mishra で、初回シーズンではクラウドにリンクしたロボットの構築をお見せします。第 1 話で最初のステップの内容を見てから、独自のロボットを構築するかご検討ください。今年の 5 月にはいくつかの面白い Twitch セッションをご用意しています。参加して構築、コードを作成してみませんか?今月のスケジュールは次をご覧ください。「AWS でライブコーディング (Live Coding with AWS)」5 月 10 日 (水曜日) プレゼンター: Randall Hunt 午後 2:00 (太平洋時間) –「Lex でチャットボットを構築 (Building Chatbots with Lex)」5 月 11 日 (木曜日) プレゼンター: Julio Faerman 午前 8:00 (太平洋時間) –「Machine Learning」5 月 19 日 (金曜日) プレゼンター: Julio Faerman 午前 8:00 (太平洋時間) –「クラウドの概念について (Cloud Concepts Review)」AWS Maker Studio 5 月 17 日 (水曜日) 午後 4:30 (太平洋時間) –「クラウドと連携させたロボットを構築 (Build your First Cloud Connected Robot )」5 月 24 日 (水曜日) 午後 4:30 (太平洋時間) –「最初のロボットの環境について (Sensing the Environment for your First Robot )」5 月 31 日 (水曜日) 午後 4:30 (太平洋時間) –「自分のロボットをクラウドと連携する (Connecting Your Robot to the Cloud)」AWS の最新技術やコミュニティに参加している他の開発者と繋がりたい場合は、毎週 https://twitch.tv/aws にアクセスして AWS エキスパートと一緒にインタラクティブなライブコーディングをチェックすることをお勧めします。その週の回を見逃しても、大方の過去のエピソードはオンデマンドでご覧いただけるのでご心配なく!TwitchAWS Twitch チャンネルにアクセスすることで Twitch コミュニティに参加し、他の開発者やゲーマー、メーカーと一緒にクラウドで構築しながらストリームや閲覧そして交流できる場をお楽しみください。お会いできることを楽しみにしています!– Tara

Now Available – Lumberyard Beta 1.9

本日、最大リリースであるLumberyard Beta 1.9がリリースされたことをお知らせします。

473以上に及ぶ改良、修正、および機能のリリースには、30分以下でプレーヤー認証を実装するための新しい Player Account  Cloud Gemが含まれ、複雑なコンテンツをより迅速に構築するためのComponent Entity workflow のアップデート、particle editorの新しいGPU機能とエミッタタイプ、視覚的に素晴らしい効果でゲーム世界を満たすことができ、そしてより多くの機能が追加されました。Lumberyard Beta 1.9 はこちらからダウンロードできます。

これらの改善は皆様の直接のフィードバックのお陰です。以前、私たちのチームの中核的哲学の1つである「continuous improvement(継続的改善)」の日本語であるカイゼンについて話しました。先月のGDCの素晴らしい提案とアイデアのおかげで、我々はLumberyardのいくつかの主要分野でのカイゼンへのコミットメントを強化することができました。ここにいくつかあります:

New Player Account Cloud Gem

私たちがGDCで得た最も一般的なリクエストの1つは、より多くのCloud Gemsを提供することでした。2月にリリースされた当社独自のCloud Gems Frameworkにより、開発者は、1人のエンジニアとわずか30分で、ネットワーク通信が必要なゲーム要素(dynamic content、leaderboards、live messagesなど)を構築し、起動することが簡単になりました。今回のリリースでは、Player Account Cloud GemをLumberyardの成長し続けるGemコレクションに追加し、プレイヤーの認証と管理のためのカスタマイズ可能なスタンドアロンのソリューションを提供しています。プレイヤーがゲームに登録したときにゲームキーを要求したり、クラウドのプレーヤーのために追加のメタデータを保存したい場合、Player Account Cloud Gemを利用するとその時間と労力を節約できます。

理由は次のとおりです。これまではプレーヤーアカウントシステムを自分で実装するには、アカウント情報を保存するデータベースサービスをセットアップし、プレーヤー情報を安全なハッシュで保護をするための実装をし、サービスと電子メールシステムを実装する必要があります。 ID。また、ログイン・フロー、アイデンティティ・キャッシング、および期限切れの認証トークン更新プロセスをゲーム・クライアントでセットアップする必要があります。2〜3人のエンジニアがこの作業を行うには数カ月かかることがあります。何か間違ったことがあれば、プレイヤーがゲームに参加できないという危険性があります。Player Account Cloud Gemを使用すると、ほんの数ステップで実行できるように簡略化されているので、1人のエンジニアは約30分ですべてを実行できます。その結果、Cloud Gem Portal dashboardからプレーヤーのデータを管理し更新することができます。

Component Entity Workflows

また、今年はGDCでComponent Entityシステムの最新のワークフローをデビューしました。皆様のご意見のおかげで、このリリースでゲームとエンジンの要素を構築するためのモジュラーで直感的な方法を提供する、いくつかの重要な改善を行う事ができました。新しいComponent Entityシステムの目標は、小規模なゲーム、カジュアルゲーム、大規模なAAAエクスペリエンスのいずれを構築しているかに関係なく、複雑で実用的なエンティティを短時間で最小限の労力で作成するのに役立てます。私たちが最近Component Entityシステムを改善したいくつかの方法を見てみましょう。
第1に新しいComponent Entityシステムでは、リフレクション、シリアライゼーション、およびメッセージングを使用して、エンジニアリングを必要とせずにコンポーネントの機能をデザイナーに自動的に公開します。これは、Lumberyard Editorでコンポーネントのプロパティをドラッグ&ドロップして編集できることを意味し、わずか数回のクリックで「スライス」と呼ばれる完全にカスケード化されたプレハブを作成します。
第2に、努力を減らしイテレーションを加速するために、働かないエンティティを作成することは困難でした。たとえば、同じエンティティ(複数の静的メッシュなど)に重複するコンポーネントを追加しようとすると、システムは間違いを犯さないようにします。コンポーネントが機能するために別のコンポーネントを必要とする場合(単純なアニメーションコンポーネントではスキンメッシュが機能する必要があります)、依存関係を自動的に追加し、そうする必要はありません。
第3に、新しいComponent Entityシステムが欠落した構成や誤った構成をどのように処理するかについて、より柔軟に作成したいと考えました。エンティティに無効なコンポーネントや互換性のないコンポーネントが含まれるようになったときに、新しい警告システムでサービスの問題が表示されます。この警告は、問題を修正し、不足している依存関係をすばやく解決するのに役立ちます。たとえば、最初にシェイプを追加せずにプリミティブコライダーを追加すると、プリミティブコライダーはシェイプを追加することを提案します。ワンクリックで必要なシェイプのタイプを選択できます。シェイプが追加されるまで、プリミティブコライダーは登録されないため、シェイプを選択する前にゲームを実行すると実行時の問題を防ぐことができます。
最後に、皆様のフィードバックのおかげで、エンティティインスペクタの新しい使いやすさが改善されました。インスペクタでコンポーネントが追加された順序を覚えることができ、右クリックメニューからコンポーネントをより簡単に並べ替えることができます。(今後のリリースでドラッグ&ドロップを追加する予定です)また、エンティティ間でコンポーネントの切り取り、コピー、貼り付けを可能にし、検索機能を改善して大量のコンテンツをナビゲートし、コンポーネントのUIを見直して読みやすくしました。



Particle Editor

particle editorも今月大きな更新をおこないました。このリリースのプレビュー以降、particle editorには数多くの新機能、使い勝手の向上、モバイルプラットフォームのサポートの強化などが含まれ、ゲームの視覚効果をより簡単に作成できるようになりました。シンプルでフレキシブルなエミッタハンドリングを望んでおり、壮大なスケールのパーティクルエフェクトを実現することができました。さらに特殊なエミッタタイプを使用して、より高速にイテレーションすることができます。このリリースによって、それをすべて実現できました。Lumberyard Beta 1.9には、エミッタの親子関係を簡単に管理するための再構成可能なエミッタ階層、エフェクト内の数十万個の粒子をプッシュするためのGPU機能追加、および新しい5つのエミッタタイプが含まれています。

And More

Lumberyard Beta 1.9にはさらに多くの機能がありますので、ここで全リリースノートを確認できます。その他の特長としては、新しいワンステップの迅速なインストールプロセス、FBXインポータでのZ-upとY-upの両方のワールド座標のサポート、Asset Browserの検索機能の改善、UIエディタとTwitch MetastreamのコンポーネントエンティティとLuaサポート、バージョン管理されたGemsのサポートなど

もちろん、ここ6週間でGDCで頂いたすばらしいフィードバックのすべてに対処することは不可能でした。私たちは、エンジン性能の向上、新しいクラウド機能の統合、最も野心的で最高品質のマルチプレイヤー、ライブ、コミュニティ主導のゲームの構築を支援など、積極的にワークフローをイテレーションしカイゼンを続けています。フォーラムやeメールでのフィードバックや提案をください。チームは皆様からのご意見を聞くことが大好きです。

Amazon Lumberyardを使い始めるには、Lumberyardのウェブサイトでエンジンをダウンロードしてください。  チュートリアルをお試し頂き、 フォーラムを訪問し、ドキュメントを読んでLumberyardの新機能についてのさらなる詳細を得ることができます。

(翻訳はSA 森が担当しました。原文はこちら)

発表: 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 EngineUnity のような一般的なゲームエンジンをはじめ、カスタム C# と C++ ゲームエンジンと統合されます。
  • 新しいサーバー SDK 言語のサポート: より多くのお客様と開発者をサポートするため、このサービスでは C# と C++ で利用できる Amazon GameLift Server SDK が提供されます。これには、Amazon GameLift 用の Unreal Engine API と互換性のある、カスタマイズされたバージョンの C++ Server SDK である Unreal Engine プラグインが含まれています。
  • クライアント SDK 言語サポートの拡張: Amazon GameLift Client SDK は 多数の言語で提供されている AWS SDK にバンドルされました。これにより、ゲーム開発者は選択した言語で Amazon GameLift サービスが統合されたゲームクライアントを構築できます。
  • マッチメーキング: Amazon GameLift は世界中の利用可能なゲームサーバーを継続的にスキャンし、プレイヤーのリクエストにマッチングしてゲームに参加させます。低レイテンシーのゲームサーバーが利用できない場合は、プレイヤーの周囲にキャパシティーを自動的に追加するようサービスを設定できます。Amazon GameLift は新しいゲームが開始されるか新しいインスタンスが起動するまで待機中のプレイヤーのキューを維持してから、待機中のプレイヤーを最もレイテンシーが低いゲームに配置します。
  • プレイヤーデータの処理: ゲーム開発者はカスタムプレイヤー情報を保存し、ゲームサーバーに直接渡せるようになりました。これにより、ゲームサーバーまたは API を持つその他のゲームエンティティは、Amazon GameLift からプレイヤーデータを取得できます。
  • コンソールのサポート: Amazon GameLift は、XBox One および PS4 用に開発、作成されたゲームをサポートします。

Amazon GameLift はセッションベースのマルチプレイヤーゲームの作成に必要であった手間のかかるタスクを、ゼロからのインフラストラクチャの構築に関連する時間、コスト、リスクを減らしつつ、ゲームサーバーのデプロイ、スケーリング、維持のプロセスを簡略化することで実行します。Amazon GameLift を利用するゲームソリューションのリファレンスアーキテクチャを次に示します。

 

ゲームへの Amazon GameLift の統合
ゲームビルドへの Amazon GameLift の統合はいくつかの簡単なステップに分割できます。

  1. Amazon GameLift Server SDK を使用してゲームサーバープロジェクトを設定し、プロジェクトに通信コードを追加して、ゲームサーバーで Amazon GameLift のホスティングを準備します。
  2. ゲームデプロイの対象とした AWS リージョンに対してゲームサーバービルドをパッケージ化し、アップロードします。
  3. ゲームをホストするための複数のコンピューティングリソースを作成、構築します。
  4. AWS SDK と Amazon GameLift API を使用して Amazon GameLift によって維持されるゲームセッションに接続するようゲームクライアントを準備し、Amazon GameLift サービスへの呼び出しのゲームクライアント用のコードを追加して、プレイヤーのリージョンを識別します。
  5. Amazon GameLift でホストされたゲームセッションに接続し、ゲームセッションを作成中であることを確認して、Amazon GameLift の統合をテストします。

Unreal ゲームエンジンを使用して簡単なゲームサーバープロジェクトで Amazon GameLift Server SDK をセットアップして、これらのステップの実行を開始しましょう。Unreal Engine (UE) Epic の Unreal ゲームエンジンから開始します。分かりやすいように、オンラインマルチプレイヤー機能が組み込まれたサンプルの Shooter Game プロジェクトを作成し、コンピュータにローカルに保存します。

マルチプレイヤー Shooter Game のサンプルをダウンロードし、マシンでローカルに開いたので、C++ コードを操作して、Amazon GameLift サービスを UE オンラインサブシステムに追加し、オンラインゲームセッションを管理する必要があります。Shooter Game サンプルは Unreal Engine の Blueprints Visual Scripting システムを利用します。Blueprints システムは UE エディタのノードベースのインターフェイスに基づくゲームプレイスクリプティングシステムです。これにより、ゲーム設計者とコンテンツ作成者は UE エディタ内でゲームプレイ要素と機能を作成できます。私の目標は Amazon GameLift C++ SDK を使用して Amazon GameLift サービスをゲームに含め、ゲームコードを変更することなので、ゲームと結び付ける Visual Studio プロジェクトソリューションを作成し、Shooter Game のソースコードとバイナリをプロジェクトに関連付ける必要があります。これを達成するため、コンテキストメニューに移動して、[File] メニューオプションを選択します。メニューのドロップダウンで、[Generate Visual Studio Project Files] オプションを見つけて選択します。

プロジェクトが生成されたら、コンテキストメニューに戻って [File] を選択し、プロジェクトを開いてソースコードを表示するために [Open with Visual Studio] を選択します。

Amazon Game Lift サービスをゲームサービスとして Shooter Game に追加する準備として、またゲームセッションの管理のため、プロジェクトで OnlineSubSystem モジュールを有効にする必要があります。これを行うには、Visual Studio プロジェクトでゲームビルド設定ファイルを開きます。このゲームプロジェクトの名前は ShooterGame であるため、ビルドファイルの名前は ShooterGame.Build.cs になり、次に示すように Source/ShooterGame フォルダにあります。

ビルドファイルを開き、OnlineSubsystemNull モジュールの行のコメントを解除します。既にマルチプレイヤーオンラインシステムを利用しているサンプルを使用しているため、ビルドオプションは適切に設定され、コードは次のようになります。

public class ShooterGame : ModuleRules
{
	public ShooterGame(TargetInfo Target)
	{
		PrivateIncludePaths.AddRange(
			new string[] { 
				"ShooterGame/Classes/Player",
				"ShooterGame/Private",
				"ShooterGame/Private/UI",
				"ShooterGame/Private/UI/Menu",
				"ShooterGame/Private/UI/Style",
				"ShooterGame/Private/UI/Widgets",
            		}
		);
       PublicDependencyModuleNames.AddRange(
			new string[] {
				"Core",
				"CoreUObject",
				"Engine",
				"OnlineSubsystem",
				"OnlineSubsystemUtils",
				"AssetRegistry",
             			"AIModule",
				"GameplayTasks",
			}
		);
       PrivateDependencyModuleNames.AddRange(
			new string[] {
				"InputCore",
				"Slate",
				"SlateCore",
				"ShooterGameLoadingScreen",
				"Json"
			}
		);
		DynamicallyLoadedModuleNames.AddRange(
			new string[] {
				"OnlineSubsystemNull",
				"NetworkReplayStreaming",
				"NullNetworkReplayStreaming",
				"HttpNetworkReplayStreaming"
			}
		);
		PrivateIncludePathModuleNames.AddRange(
			new string[] {
				"NetworkReplayStreaming"
			}
		);
	}
}

これで Shooter Game プロジェクトを設定したので、Amazon GameLift SDK に再び注目しましょう。C++ SDK を Unreal Engine のプラグインとして利用したいので、このゲームエンジン用のバイナリを構築するコンパイルディレクティブを使用して SDK をコンパイルする必要があります。SDK ソースをダウンロードした状態で、オペレーティングシステムに基づいてソースから SDK をコンパイルできます。このプロジェクトには Windows マシンを使用しているため、次のステップを完了します。

  • コードのコンパイルから生成されたバイナリを保持する out ディレクトリを作成します。

mkdir out

  • 前に作成したディレクトリに移動します。

cd out

  • CMake を使用して、VS 2015 Win x64 のビルドシステムジェネレーターを指定し、UE コンパイルフラグを設定します。

cmake -DBUILD_FOR_UNREAL=1 -G “Visual Studio 14 2015 Win64” <ソースディレクトリ>

  • 選択したビルドシステム (このプロジェクトの場合は MS Build) を使用してバイナリを作成する C++ プロジェクトを構築します。

msbuild ALL_BUILD.vcxproj /p:Configuration=Release

ライブラリをコンパイルしたので、Amazon GameLift Unreal Engine プラグインを使用するために次のバイナリファイルが必要です。

Linux:

* out/prefix/lib/aws-cpp-sdk-gamelift-server.so

Windows:

* out\prefix\bin\aws-cpp-sdk-gamelift-server.dll

* out\prefix\lib\aws-cpp-sdk-gamelift-server.lib

次に示すように、私は Windows を使用しているため、コンパイルされた Amazon GameLift ライブラリ aws-cpp-sdk-gamelift-server.dll および aws-cpp-sdk-gamelift-server.lib はそれぞれ prefix\bin および prefix\lib フォルダにあります。

GameLiftSDK Unreal Engine プラグインフォルダにバイナリをコピーすると、Amazon GameLift プラグインフォルダが設定され、Unreal Engine ゲームプロジェクトに追加する準備が整います。これを踏まえて、Unreal Engine の ShooterGame プロジェクトに Amazon GameLift プラグインを追加します。Unreal Engine Editor を使用してプラグインを追加できますが、その代わりに、Visual Studio プロジェクトに留まり、ゲームディレクトリとプロジェクトファイルを更新してプラグインを追加します。

Windows エクスプローラーで、Plugins というフォルダを ShooterGame ディレクトリに追加し、準備した GameLiftServerSDK フォルダを、Unreal Engine のプラグインに関するドキュメントに示されているように、このディレクトリにコピーします。

ここで、ShooterGame.Build.cs ファイルを開きます。これはゲームの依存関係に関する情報を保持する C# ファイルです。

ファイル内で次のコードを追加します。

PublicDependencyModuleNames.AddRange(
            new string[] {
                "Core",
                "CoreUObject",
                "Engine",
                "InputCore",
                "GameLiftServerSDK"
            }
       );

これまでに行った変更とすべてが同期されていることを確認するため、Visual Studio を閉じ、UE Editor に戻って [Refresh Visual Studio Project] を選択します。

完了したら、[Open Visual Studio] を選択します。ShooterGame ディレクトリに追加した Plugins フォルダがプロジェクトに含まれていて、Solution Explorer で表示できます。

次に、ソリューション全体を再構築して、Amazon GameLift SDK バイナリをプロジェクトに統合します。

UE Editor に戻り、ツールバーの [Build] を選択して、Amazon GameLift プラグインの側面が ShooterGame に含まれていることを確認します。コンパイルが完了したら、[Settings] ツールバーを簡単に確認します。[Plugins] オプションには Amazon GameLift プラグインが追加されていて、プロジェクトで認識されていることがわかります。[Enabled] チェックボックスを選択します。これにより、UE Editor の再起動が求められます。[Restart Now] を選択し、Unreal Engine がゲームコードファイルを再構築できるようにします。

ビルドが完了すると、エディタが再起動し、ShooterGame がもう一度開かれます。

これで ShooterGame プロジェクトで Amazon GameLift SDK の使用に関する設定が完了しました。Unreal エディタを開いた状態で、[Open Visual Studio] メニューオプションに移動し、ShooterGame コードに戻ります。これにより、Visual Studio およびゲームコードが開きます。Visual Studio を開いた状態で、ShooterGameMode.cpp ファイルに移動し、コードを追加して Amazon GameLift SDK を初期化します。Shooter Game プロジェクト内で Amazon GameLift に正しくコードを追加するために実行する必要がある主要なことは、次のとおりです。

  1. フラグ WITH_GAMELIFT=1 を使用してプリプロセッサ条件内で Amazon GameLift コードを囲みます
  2. 対象のサーバー OS (Linux など) 用に、Unreal Engine で専用サーバーを構築します
  3. ビルドの対象がゲームサーバータイプであることを確認します (Type == TargetRules.TargetType.Server)

Unreal Engine プロジェクトで Amazon GameLift を追加するために必要なコードの例は、こちらのドキュメントに記載されています。さらに、Unreal Engine wiki で提供されている Windows および Linux 向けの専用サーバーガイドに従って、Unreal Engine の専用サーバーを構築する方法を参照できます。これらの資料を利用すると、Amazon GameLift をゲームプロジェクトに首尾よく統合できます。Unreal Engine ゲームエンジンへの Amazon GameLift SDK の組み込みについて簡単に説明しましたが、Amazon GameLift SDK を Unity など C# エンジンに追加するオプションもあることを忘れないでください。Amazon GameLift Server SDK をダウンロードし、.Net framework 3.5 ソリューションをコンパイルすることで、GameLiftServerSDKNet35.sln になります。GameLiftServerSDKNet35.sln ソリューションを使用すると、Amazon GameLift ライブラリを Unity3D プロジェクトに追加することができます。Amazon GameLift C# Server SDK プラグインのセットアップと使用の詳細については、Amazon GameLift SDK ドキュメント「Unity での C# サーバー SDK の使用」を参照してください。

要約
Amazon GameLift マネージド型サービスに追加された新しい側面の 1 つのみを説明しましたが、このサービスは開発者やゲームスタジオに対してさらに多くの機能を提供しています。Amazon GameLift は、DDoS 攻撃からゲームを防御しながら、インフラストラクチャの管理、キャパシティーのスケーリング、利用可能なゲームセッションへのプレイヤーのマッチングを簡単にして、分散型ゲームを構築できます。

Amazon GameLift サービスの詳細については、Amazon GameLift のドキュメントと Amazon GameLift 開発者ガイドを参照してください。また、Amazon GameDev チュートリアルページの Amazon GameLift チュートリアルを確認して、Amazon GameLift サービスを使用したゲーム開発を本格的に開始することができます。どうぞゲームをお楽しみください。

Tara

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

Screenshot_ProletariatQuote_V2

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 (CLI) with Amazon GameLiftによって、彼らのビルドシステムにロジックを実装するときに新しいインスタンス群を起動してコマンドを再利用することが容易になりました。ゲームクライアントの更新をデプロイする際に、シンプルなコマンドを使用してAmazon GameLiftのエイリアスを利用し、プレイヤーを1つのインスタンス群から別のインスタンス群にダウンタイムなしで移動させました。また、CLIを使用して世界中のリージョンにゲームサーバをたった数分で起動しました。「Amazon GameLiftチームは私達を全面的にサポートしてくれました。私達が運用上の問題に取り組むのを助けるために24時間365日彼らがいてくれたのは嬉しいことです。」とWaneckは言いました。

わずか5日間で、ProletariatはAmazon GameLiftを使用し自信を持ってTwitchCon 2016にStreamlineをリリースしました。Amazon GameLiftによって数千時間の開発時間が節約され、代わりにStreamlineのコアである革新的なゲームプレイに磨きをかけることに専念しました。

詳細情報

Amazon GameLiftを用いた専用のゲームサーバのホスティングやスケーリングの方法の詳細をご覧ください。Streamlineについての詳細はplaystreamline.comをご覧ください。

(翻訳はSA 畑が担当しました。原文はこちら)

Now Available – Lumberyard Beta 1.8, Cloud Gems Frameworkの紹介

beaver-air-2-1-300x188 Lumberyard Beta 1.8のリリースを発表します。ここからダウンロードすることができます。このリリースには234以上の新機能、修正、機能が含まれており、1人のエンジニアでわずか30分で一般的なクラウド接続機能を構築するための新しいフレームワークのCloud Gems Frameworkが導入されています。

AWSのように、SupercellZyngaのようなモバイルとソーシャルの初期のパイオニアから、Cloud ImperiumやLeslie BenziesのEverywhereのような銀河系の野望を持つPCやコンソール開発者まで、業界で最も優れたゲームスタジオの多くと協力できて幸運です。開発者は、イノベーションと成長のためにクラウドを活用し、以前は不可能だった規模でプレーヤー同士を結びつけ、新しい形の競争とゲームプレイを可能にし、ゲームについてのプレーヤーが好き、好きではない等よりディープにリアルタイムに情報を得ることができるようになりました。

お客様から、クラウドの膨大なコンピュートとストレージが今日の成功したゲームにとって重要であると同時に、クラウドは次世代ゲームの創造性とスケールにとってさらに重要なものになると教わりました。グローバルオーディエンスを結びつけるための開発者の需要、マスコンピューティングによる創造性の推進、より多くの社会的マルチプレイヤー機能の構築は”AWSと深く統合され”Lumberyardの基盤となりました。

我々は2つの方法で”深く統合”されたものを定義します。 1つは、マルチプレイヤー、ソーシャル機能、ダイナミックでライブで行えるコンテンツアップデートなど、共通の接続要素をゲームにできるだけ簡単に作成することです。熟練したバックエンドエンジニアを雇わず、未分化のインフラストラクチャを構築するために何ヶ月も何年も費やさずに、偉大なゲームプレヤーにフォーカスすることを望みます。次に、大規模なオンデマンドやグローバルなコンピュートとストレージによって可能になる、素晴らしい新しいタイプのゲームプレイとリアルタイムインタラクションを作成することをお手伝いします。ここでは、手続き型のゲームプレイ、複雑な人工知能、巨大かつ信憑性の高いゲームを考えているゲームチームからインスピレーションを得ています。

Lumberyard Beta 1.8の新しいCloud Gems Frameworkを使用すると、動的コンテンツ、リーダーボード、ライブメッセージなどのコネクティッドなゲーム要素を簡単に作成して起動できます。 Cloud Gems Frameworkを使用すると、1人のエンジニアが30分以内にゲームにコネクティッドな機能を追加することができ、残りのチームエンジニアがイノベーションとプレイヤー体験について考えるようになります。

Cloud Gems Frameworkは、チームの誰もがクラウドの機能を視覚的に管理できるWebアプリケーション(メッセージのスケジュール設定、動的コンテンツのリリース、または不正なリーダーボードスコアの削除など)であるCloud Gem Portalと開発者がバックエンドやクライアントの機能を含め、その機能をプロジェクトに組み込むために必要なすべてを含む個別機能と資産のモジュールパッケージであるCloud Gemsで構成されています。Cloud Gemは、本番環境ですぐに使用でき、様々な方法で動作をカスタマイズしたい場合に備えて完全なソースコードが付属しています。

cloud-gem-portal-1024x504

Lumberyard Beta 1.8には、3つのサンプルのCloud Gemsが含まれており、すぐに始めることができます。

Dynamic Content Cloud Gem
今日の成功したゲームの多くはサービス中で常に”常時オン”になっています。チームはできるだけ開発チームに苦労することなく、頻繁にコンテンツを追加したり変更したりすることで、プレイヤーの関与を深めたいと考えています。ダイナミックコンテンツバックエンドを使用すると、プレイヤーが更新された実行ファイルをダウンロードしてインストールする必要なく、チームはプレーヤーのフィードバックに迅速に応答したり、特殊文字やA / Bテストゲームプレイ機能を提供したり、新しいキャラクタやレベルをゲームに追加してゲームの寿命をのばすことができます。

ダイナミックコンテンツシステムを自分で構築するには、コンテンツをホストするサーバーを立ち上げ、利用可能な動的コンテンツを指定するスキームを作成し、コンテンツのバージョン管理を行い、サーバーにコンテンツをアップロードするツールを作成し、サーバーに照会してコンテンツがいつ変更されたかを確認するエンジンを書き、堅牢なダウンロードおよび検証システムを構築し、最終的にはゲームを動かすインスタンスにホットロードするコードを記述すします。この作業には2〜3人のエンジニアが数ヶ月かかることがあります。このシステムが失敗すると、プレーヤーはあなたのチームが作成した内容を決して見ることができません。

Dynamic Content Cloud Gemを使用すると、わずか7ステップでコンテンツをパッケージ化、アップロード、および配信することができます。

  1. Lumberyard Project ConfiguratorでDynamic Content Gem を有効にする
  2. Cloud Canvas Resource Managerから[Upload Resources]をクリックします。
  3. エディタのAWSメニューからDynamic Content Managerを開きます
  4. 動的コンテンツをリストするマニフェストを作成する
  5. 動的コンテンツマネージャから「New Package」をクリックします。
  6. アップロードするアセットをドラッグ&ドロップする
  7. 動的コンテンツマネージャから[Upload Packages]をクリックします。これにより、コンテンツがクラウドに置かれ、プライベートとしてマークされます。

コンテンツをクラウドにアップロードしたら、 Cloud Gem Portalを使用してコンテンツを即座にリリースするか、後でリリースするようにコンテンツをスケジュールすることができます。新しいコンテンツがプレーヤーによってダウンロードされると、ダイナミックコンテンツジェムは自動的に新しいコンテンツをロードし、ゲーム内で利用可能にできます。

Leaderboards Cloud Gem
競争はプレーヤーコミュニティを育成する素晴らしい方法です –  1月に、Twitchで見られたトップ10のゲームのうち8つが競い合うマルチプレイヤーゲームでした。ゲームにリーダーボードを追加することは、コミュニティの競争を促進するための一般的な方法です。従来、リーダーボードを設定するには、高得点データを格納し、スコアを収集するためにRESTエンドポイントを作成し、配備し、Webベースのコンソールまたは他のアプリケーションを管理して管理するために、スケーラブルな方法でデータベースサーバーを準備する必要があり、クライアント側の開発者に、RESTエンドポイントにプレーヤーのスコアを送信するための適切なネットワークコールを行う方法を教得る必要がありました。Leaderboard Cloud Gemを使用すると、これは約30分でエンジニアが達成できる4つのステップに単純化されています

  1. Project ConfiguratorでLeaderboard Cloud Gemを有効にする。
  2. Cloud Canvas Resource Managerから[Upload Resources]をクリックします。
  3. Cloud Gem Portalでは、選手の順位を決定する統計に基づいて、必要な数のリーダーボードを作成します。
  4. スクリプトやC ++からLeaderboardコンポーネントへの簡単な呼び出しを使用して、適切な間隔でプレーヤーのスコアやその他のデータをクラウドに送信します。

Cloud Gem Portalは、リーダーボード上のプレーヤーを管理するためのコンソールも提供し、管理者は不正なスコアを削除し、システムを悪用するプレーヤーを禁止することができます。

Message of the Day Cloud Gem
エンゲージメントを促進するもう一つの方法は、特別なオファーや新しいコンテンツの更新を通知するか、必要に応じて他のタイムリーなコミュニケーションを送るかどうかにかかわらず、あなたのプレーヤーにメッセージを送信することです。従来は、スケーラブルなデータベース・サーバーのセットを準備および構成し、メッセージ・コンテンツの入力、変更、削除およびスケジューリングを管理するWebベースのアプリケーションを作成し、メッセージ・コンテンツを提供するRESTエンドポイントを作成し、メッセージを要求して表示するためのクライアントサイドのゲーム・コードを作成する必要がありました。Day Cloud Gem のメッセージを使って、4ステップで約30分でこれらを実行することができます:

  1. Project ConfiguratorでDay Cloud Gemのメッセージを有効にします。
  2. Cloud Canvas Resource Managerから[Upload Resources]をクリックします。
  3. Cloud Gem Portalで、必要な数のメッセージを作成してスケジュールします。
  4. スクリプトまたはC ++からの単純な呼び出しを使用して、メッセージの Day componentからのアクティブなメッセージのリストを照会します。

より多くのCloud Gemが開発されているので、次に見たい特定のクラウド機能があれば、フォーラムでお知らせください。また、来週GDCに来る場合は、LumberyardブースでCloud Canvasチームに会い、Cloud Gemsのデモを体験したり、GDCのdevdayにサインして、ゼロからクラウドにリアルタイムで接続されルノを見ることができます。また、AWSクラウドが新しいタイプのゲームプレイやリアルタイムの通信を可能にする方法について、将来のビジョンにもいくつかの垣間見ることができます。

Lumberyard Beta 1.8にはさらに多くのものが含まれています。 Lumberyard Editorのメニューの合理化された情報アーキテクチャ、FBXインポーターのルートモーションアニメーションのサポート、マルチプレイヤーサンプルのモバイルとコンソールのサポート、メッシュのマルチUVサポート、UIエディタの言語サポートなどがあります。このリリースの新機能の詳細については、リリースノートを参照してください。

Amazon Lumberyardを使い始めるには、Lumberyardのウェブサイトでエンジンをダウンロードしてください。 Lumberyardの新機能について詳しくは、チュートリアルフォーラムドキュメントを参照してください。

(翻訳はSA 森が担当しました。原文はこちら)

今すぐ利用可能に – Lumberyard Beta 1.7

Lumberyardをローンチしてから1年も経っていないとは信じられません。お客様の反応とLumberyardとのエンゲージメントは私たちの期待を超えており、2017年にはお客様の進展を加速させることができて非常に興奮しています。Cloud Imperiumのような業界で最も野心的な開発者を含むあらゆるタイプのゲーム開発者から、信じられないほどつながっている世界を築いています。今日では、発売以来の最大のリリースで新年を始めることができて嬉しく思っています。 Lumberyard Beta 1.7には、403以上の新機能、改善点、修正点が含まれており、ここからダウンロードできます。

今回のリリースでは好きなことがたくさんあります。Lumberyardを使いやすくし、プロフェッショナルなゲーム開発者がもっと使いやすいようにするために、いくつかのアップデートをお伝えしたいと思います。私たちのチームはアクセシビリティについて考えており、チームの洗練さや品質、チームの規模や構成にかかわらず、私たちの選択肢があなたのビジョンを達成することを決し妨げないようにしたいと考えています。 アクセシビリティを測定する最も重要な方法の1つは、「顧客がどれくらい迅速に資産を取得して再利用できるのか」という問題です。ゲーム開発者にとって最も反復的なタスクの1つは、プロジェクト資産の作成と管理です。アーティスト、デザイナー、ゲームプレイエンジニアにとっては、1日に数百回から数千回の時間がかかるため、アセットを数秒で処理することができれば、チームのスピードに大きな違いが生まれます。加速を達成するための当社の戦略は、LumberyardのAsset Processorと、Lumberyard Beta 1.7を初めて導入したAsset Browserです。資産プロセッサーを使用すると、資産をほぼすぐにエンジンに取り込むことができます。ファイル(MayaやPhotoshopなど)をフォルダに保存するだけで、Asset Processorはそのファイルをソースアートからゲーム用アセットに自動的に処理します。元に戻ってアセットを編集すると、Lumberyardは変更を認識し、バックグラウンドで数秒で自動的に更新します。

1.7での新しいLumberyard Asset Browser Previewを使用すると、エディタ内の使い慣れたビューで使用可能なすべてのアセット(エディタ、Gem、プロジェクトフォルダ内のソースフォルダとファイルを含む)を表示し、シーン内のアセットをドラッグ&ドロップできます。エディタからワンステップでソース資産にアクセスすることができれば、特にプロジェクトで複数の出力を生成できる複雑なソースアセット(たとえば、メッシュとマテリアルの両方を含む単一の.fbxファイル)を使用する場合は、処理速度が大幅に向上します。また、Lumberyard Asset Processorを使用して、資産が変更、削除、または追加されると、新しい資産ブラウザが自動的に更新されます。 Asset Browserの基礎となるAPIはLumberyardバスシステムに公開されているので、独自のプラグインやコントロールを作成している場合は、ファイルサイズ、名前、場所、資産を作成したソース、資産などの豊富な情報にアクセスできます。他のどの資産が同時に生産されたか アクセシビリティについて考えるもう一つの方法は、Lumberyardエディタ自体のレイアウトと情報アーキテクチャです。 Lumberyard Editorには、基本的な編集者や照明ツールなどのさまざまな機能があり、ジャンル固有のツール(道路や川のツールなど)があります。時間の経過とともに自然に成長するフィーチャの量は、効率的に整理されていなければ、学習することが難しくなります。さらに、両方のゲームチームが新しい専門的な役割を創り出し、DCCツールが進化するにつれ、ベストプラクティスは長年にわたって進化しています。このため、Lumberyard Beta 1.7では、最高品質の、最も野心的なゲームを構築するための機能を失うことなく、Lumberyardのアクセシビリティを向上させるために、Editor Editorのコアに加えたいくつかの変更点をご紹介します。デフォルトのエディタレイアウト自体は少し違って見えます:

lumberyard-editor-1.7-1024x610

(以前のバージョンのLumberyardをインストールしている場合は、現在のレイアウトを上書きしませんが、[View – Layouts – Component Entity Layout]を選択して新しいレイアウトに切り替えることができます)

上記の内容は、Editor UXの改良の第1段階です。私たちは、社内外の多くのゲーム開発者にインタビューし、新しいコンポーネントエンティティシステムと顧客からのフィードバックを基にしたメインエディタインタフェースの再構成と合理化を開始しました。以前はゲームオブジェクトを作成するために、12種類のオブジェクトタイプの中から選択し、ロールアップバーの複数のレイヤーをナビゲートしてカスタマイズしなければなりませんでした。今では、単純な右クリックで作成できるゲームエンティティの1つのタイプとなりました。エンティティのコンポーネントを編集し、そのエンティティで使用するファイルを選択し、すべてのレベルのエンティティを切り替えるのは、すべてメインウィンドウで行われます。エンティティのネストされたプレハブ(「スライス」)を簡単に作成することもできます。メインウィンドウを右クリックするだけです。

次にUXチームのリストでは、ツールバーとトップメニューを合理化しながら、自分の役割や好みに基づいてレイアウトを深くカスタマイズすることができます。私たちは、顧客からより多くのデータとフィードバックを収集しています。あなたがアイデアを持っているなら、それについて聞きたいのです。フォーラムで、私達がどこに向かうのかのプレビューをご覧ください。
モバイルデベロッパーにとって、「使いやすい」とは、可能な限り短時間でエディターからデバイスにゲームを展開できることを意味します。そのため、ゲームを編集してから再生することができます。 Lumberyard Beta 1.7には、エディタに新しいデプロイメントツールが含まれているため、ワンクリックでエディタからAndroidデバイスにリリース、プロファイル、またはデバッグビルドをわずか数秒で展開できます。以前は、エンジニアはコマンドラインツールのみを使用してモバイルビルドを導入する必要がありました。これで、チームの誰もがAndroidビルドをエディタからデバイスに展開できます。
私たちのチームは、エディタをより使いやすくすることでより速く反復できるようにすることに加えて、マルチプレイヤーゲームをより簡単に作成できるようにするために多くの時間を費やしています。PCとコンソールゲームの上位80%がマルチプレイヤーをフィーチャーし、Twitchでストリーミングされるトップゲームの90%がマルチプレイヤーゲームです。だから、他のエンジンよりもマルチプレイヤーを簡単にするためのシステムとサービスをリリースしても、ゲーム開発者からの肯定的なフィードバックを引き続き得ることは驚くことではありません。この目的のために、私たちのネットワークチームは、コンポーネントエンティティのワークフローと高性能なネットワークレイヤ、GridMateを使用して完全に構築された新しいマルチプレイヤーサンプルをリリースしました。GridMateは効率的な帯域幅使用と低遅延通信を目的として設計されています。 30分以内に、新しいサンプルを起動して実行して、自分のマルチプレイヤーゲームやプロトタイプの出発点として使用できます。サンプルは現在PCをサポートしており、すぐにモバイルプラットフォームとコンソールプラットフォームをサポートするようにサンプルを拡張します。

AresScreenshotHighRes-1024x587

これらの例は、Lumberyardを世界最高クラスの使いやすいエンジンにするための、我々が継続的に行った変更のサンプルです。それは、我々はちょうど始まっていると言いました。業界の進化に伴い、より多くの人々がプレイし、ファンはさらに高品質のコンテンツを要求しています。私たちはあなたの能力が向上し、最も野心的なビジョンを達成し、ファンの愛するゲームを構築します。エンジニア、アーティスト、ゲームデザイナー、またはまだ発明されていない新しい役割を持つことができます。 Visual Studio 2015のサポート、VRの球面ビデオ再生のサポート、Perforce Helixとの統合、Geppetto文字ツールのUXの改良、オーディオ、照明、複合図形、アニメーションをサポートする新しいコンポーネントエンティティなど、このアップデートにはさらに多くのものがあります。 Twitch ChatPlayとMetastreamのアップデート、最新のAWS 1.0.24 SDKとの統合などが含まれます。 Lumberyard Beta 1.7の新機能の詳細については、こちらのリリースノートを参照してください。

Amazon Lumberyardを使い始めるには、LumberyardのウェブサイトでLumberyardをダウンロードしてください。 Lumberyardの新機能について詳しくは、チュートリアルフォーラムドキュメントを参照してください。

(翻訳はSA 森が担当しました。原文はこちら)

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のブログの記事をご覧ください。

こちらから始められます。

 

翻訳はSA 森が担当しました。翻訳元:GameLift Expands Game Server Availability to Europe and Asia and Adds Auto-Scaling