UWP ゲームにクラウド サービスを使用する
Windows 10 の ユニバーサル Windows プラットフォーム (UWP) には、Microsoft デバイス間でゲームを開発するために使用できる一連の API が用意されています。 複数のプラットフォームやデバイスを対象としてゲームを開発する場合は、クラウド バックエンドを利用して、需要に応じてゲームをスケーリングします。
ゲーム用の完全なクラウド バックエンド ソリューションをお探しの場合は、「ゲーム バックエンドのサービスとしてのソフトウェア」を参照してください。
クラウド コンピューティングとは
クラウド コンピューティングでは、インターネット経由でオンデマンドの IT リソースとアプリケーションを使用して、デバイスのデータを格納および処理します。 クラウドという用語は、特定の場所以外からアクセスできる (ローカル リソースではなく) 膨大なリソースが利用可能であることを示すメタファーです。 クラウド コンピューティングの原則は、リソースとソフトウェアを使用できる新しい方法を提供します。 ユーザーは完全な製品やリソースに対して前払いする必要はなくなりましたが、代わりにプラットフォーム、ソフトウェア、リソースをサービスとして使用できます。 クラウド プロバイダーは、多くの場合、使用量またはサービス プランのオファリングに従って顧客に請求します。
クラウド サービスを使用する理由
ゲームにクラウド サービスを使用する利点の 1 つは、物理的なハードウェア サーバーに事前に投資する必要がなく、後の段階で使用量やサービス プランに従って支払う必要があるだけであるという点です。 これは、新しいゲーム タイトルの開発に関連するリスクを管理するのに役立つ 1 つの方法です。
もう 1 つの利点は、ゲームが膨大なクラウド リソースを利用してスケーラビリティを実現できることです (同時実行のプレイヤー数の急激な急増、激しいリアルタイム ゲームの計算、またはデータ要件を効果的に管理します)。 これにより、ゲームのパフォーマンスが 24 時間安定して維持されます。 さらに、クラウド リソースは、世界中の任意のプラットフォームで実行されている任意のデバイスからアクセスできます。つまり、ゲームを世界中のすべてのユーザーに提供できます。
プレイヤーに素晴らしいゲームプレイ 体験を提供することが重要です。 クラウドで実行されているゲーム サーバーはクライアント側の更新に依存しないため、ゲーム全体に対してより制御された安全な環境を提供できます。 また、クライアントを信頼しないでサーバー側のゲーム ロジックを持つことで、クラウドを通じてゲームプレイの一貫性を実現することもできます。 サービス間接続を構成して、より統合されたゲーム体験を実現することもできます。たとえば、ゲーム内の購入をさまざまな支払い方法にリンクしたり、さまざまなゲームネットワークをブリッジしたり、FacebookやXなどの人気ソーシャルメディアポータルにゲーム内の更新情報を共有したりすることができます。
また、専用のクラウド サーバーを使用して、大規模な永続的なゲーム ワールドの作成、ゲーマー コミュニティの構築、時間の経過を伴うゲーマー データの収集と分析を行ってゲームプレイを改善し、ゲームの収益化設計モデルを最適化することもできます。
さらに、非同期マルチプレイヤー メカニズムを備えたソーシャル ゲームなどの集中的なゲーム データ管理機能を必要とするゲームは、クラウド サービスを使用して実装できます。
ゲーム会社がクラウド テクノロジーを使用する方法
その他の開発者がゲームにクラウド ソリューションを実装した方法について説明します。
開発者 | 説明 | 主なゲーム シナリオ | 詳細情報 |
---|---|---|---|
Tencent Games | Tencent Games は、Azure Service Fabric を使用して革新的なソリューションを開発し、従来の PC ゲームをサービスとして配信できるようにします。 同社のクラウド ゲーム ソリューションは、'シン クライアント+リッチ クラウド' モデルを使用して、バックエンドでワークロードをマイクロサービスとして実行しています。 |
|
|
343 業界 | Halo 5: Guardians は、Azure Cosmos DB を使用したソーシャル ゲームプレイ プラットフォームとして Halo: Spartan Companies を実装しました (DocumentDB API を使用)。 |
|
|
Illyriad Games | Illyriad Games は、最新のブラウザーを持つデバイスで再生できる大規模なマルチプレイヤー オンライン (MMO) エピック 3D 空間ゲームである Age of Ascent を作成しました。 ですから、このゲームは、プラグインなしでPC、ノート PC、携帯電話やその他のモバイル デバイスで再生することができます。このゲームでは、ASP.NET Core、HTML5、WebGL、Azure を使用します。 |
|
|
Next Games | 次のゲームは、AMCのオリジナル シリーズに基づいている The Walking Dead: No Man's Land ビデオ ゲームのクリエイターです。 Walking Dead ゲームでは、バックエンドとして Azure が使用されました。 オープンの週末には 1,000,000 ダウンロードがあり、最初の週には、ゲームは米国の App Store で 1 位の iPhone および iPad 無料アプリ、12カ国で 1 位の無料アプリ、13カ国で 1 位の無料ゲームになりました。 |
|
|
Pixel Squad | Pixel Squad は、Unity ゲーム エンジンと Azure を使用して Crime Coast を開発しました。 Crime Coast は、Android、iOS、Windows プラットフォームで利用できるソーシャル戦略ゲームです。 このゲームでは、Azure Blob Storage、Managed Azure Redis Cache、負荷分散された IIS VM アレイ、Microsoft 通知ハブが使用されています。 5,000 人の同時プレイヤーでスケーリングを管理し、プレイヤーの急増を処理する方法について説明します。 |
|
|
その他のリンク
- Hitman と Azure: クラウドでのみ可能な、Elusive Target などのゲーム機能を作成する
- Hitcents、Game Troopers、InnoSpark のシークレット ソースとしての Azure
クラウド バックエンドを設計する方法
プロデューサーとゲーム デザイナーは、ゲームで必要なゲームの機能について議論していますが、ゲーム インフラストラクチャの設計方法を検討することをお勧めします。 さまざまなデバイスやさまざまな主要プラットフォームでゲームを開発する場合は、Azure をゲーム バックエンドとして使用できます。
IaaS、PaaS、SaaS の理解
まず、ゲームに最適なサービスレベルについて考える必要があります。 次の 3 つのサービスの違いを知ることは、バックエンドの構築に必要なアプローチを決定するのに役立ちます。
-
サービスとしてのインフラストラクチャ (IaaS) とは、インターネット経由でプロビジョニングと管理を行うインスタント コンピューティング インフラストラクチャです。 多くのマシンが、需要に応じて迅速にスケールアップおよびスケールダウンできる可能性があるとします。 IaaS を使用すると、独自の物理サーバーやその他のデータセンター インフラストラクチャの購入と管理にかかる費用を避け、その複雑さを解消できます。
-
サービスとしてのプラットフォーム (PaaS) は IaaS に似ていますが、サーバー、ストレージ、ネットワークなどのインフラストラクチャの管理も含まれます。 そのため、物理サーバーとデータセンター インフラストラクチャを購入しない上に、ソフトウェア ライセンス、基になるアプリケーション インフラストラクチャ、ミドルウェア、開発ツール、またはその他のリソースを購入して管理する必要はありません。
-
"サービスとしてのソフトウェア (SaaS)" を使用すると、ユーザーはインターネット経由でクラウドベースのアプリに接続して使用することができます。 クラウド サービス プロバイダーから従量課金制で購入する完全なソフトウェア ソリューションを提供します。 一般的な例としては、メール、予定表作成、オフィス ツール (Microsoft 365 Office アプリなど) が挙げられます。 組織向けのアプリケーションを使う分だけレンタルして、その組織のユーザーがインターネット経由で、通常は Web ブラウザーを使用してアプリケーションに接続します。 基になるインフラストラクチャ、ミドルウェア、アプリ ソフトウェア、およびアプリのデータはすべて、サービス プロバイダーのデータ センターに配置されます。 サービス プロバイダーがハードウェアとソフトウェアを管理し、適切なサービス契約を結ぶことで、ゲームとデータの可用性とセキュリティも保証されます。 SaaS を使用すると、組織は最小限の初期費用ですばやくアプリを立ち上げて実行することができます。
Azure を使用してゲーム インフラストラクチャを設計する
Azure クラウド オファリングをゲームに使用する方法を次に示します。 Azure は、Windows、Linux、Ruby、Python、Java、PHP などの使い慣れたオープンソース テクノロジーに対応しています。 詳細については、「Azure for gaming」を参照してください。
要件 | アクティビティのシナリオ | 製品のオファリング | 製品の機能 |
---|---|---|---|
クラウドでドメインをホストする | DNS クエリに効率的に応答する | Azure DNS | 高パフォーマンスと可用性でドメインをホストする |
サインイン、本人確認 | ゲーマーがサインインし、ゲーマー ID が認証される | Azure Active Directory | Multi-Factor Authentication を使用して任意のクラウドとオンプレミスの Web アプリにシングル サインオンする |
サービスとしてのインフラストラクチャ モデル (IaaS) を使用するゲーム | ゲームはクラウド内の仮想マシンでホストされる | Azure VM | ビルトイン 仮想ネットワークと負荷分散を伴うゲーム サーバーとして仮想マシン インスタンスを 1 つから数千までスケーリングし、オンプレミスのシステムともハイブリッドで利用します |
サービスとしてのプラットフォーム モデル (PaaS) を使用する Web ゲームまたはモバイル ゲーム | ゲームがマネージド プラットフォームでホストされている | Azure App Service | Web サイトまたはモバイル ゲーム用の PaaS (ミドルウェア/開発ツール/BI/DB 管理を備えた Azure VM を意味します) |
OS をさらに制御でき、可用性が高くスケーラブルな n 層クラウド ゲーム (PaaS) | ゲームがマネージド プラットフォームでホストされている | Azure クラウド サービス | PaaS は、スケーラブル、高信頼、低運用コストのアプリケーションをサポートするように設計されています |
パフォーマンスと可用性を向上させるためにリージョン間で負荷分散を行う | 受信したゲーム要求をルーティングします。 負荷分散の第 1 レベルとして機能できます。 | Azure の Traffic Manager | 複数の自動フェールオーバー オプションと、トラフィックを均等または加重値で分散する機能を提供します。 オンプレミス システムとクラウド システムのシームレスな組み合わせができます。 |
ゲーム データ用のクラウド ストレージ | 最新のゲーム データはクラウドに格納され、クライアント デバイスに送信される | Azure Blob Storage | 保存できるファイルの種類に制限はありません。画像、オーディオ、ビデオなどの大量の非構造化データ用のオブジェクト ストレージ。 |
一時データ ストレージ テーブル | ゲーム トランザクション (ゲームの状態の変更) は一時的にテーブルに格納される | Azure Table Storage | ゲーム データは、ゲームのニーズに応じて柔軟なスキーマに格納できる |
ゲーム トランザクション/要求をキューする | ゲーム トランザクションはキューの形式で処理される | Azure Queue Storage | キューを使用すると、予期しない急激なトラフィックの増加を和らげて、ゲーム中の要求の急激な増加によってサーバーが処理能力を超えてしまうという事態を避けられます |
スケーラブルなリレーショナル ゲーム データベース | ゲーム内トランザクションなど、リレーショナル データの構造化ストレージ | Azure SQL Database | サービスとしての SQL データベース (VM 上の SQL と比較) |
スケーラブルな分散型低遅延ゲーム データベース | スキーマの柔軟性を備えたゲーム データとプレイヤー データの高速読み取り、書き込み、クエリ | Azure Cosmos DB | 低遅延サービスとしての NoSQL ドキュメント データベース |
Azure サービスで独自のデータセンターを使用する | ゲームは独自のデータセンターから取得され、クライアント デバイスに送信される | Azure Stack | 組織が独自のデータセンターから Azure サービスを提供して、より多くのサービスを実現できるようにします |
大きなデータ チャンク転送 | ゲーム イメージ、オーディオ、ビデオなどの大きなファイルは、Azure CDN を使用して、最も近い Content Delivery Network (CDN) のポップ ロケーションからユーザーに送信できる | Azure Content Delivery Network | Azure CDN は、大規模な集中型ノードの最新のネットワーク トポロジ上に構築され、突然のトラフィックの急増と負荷を処理して速度と可用性を大幅に向上させ、ユーザー エクスペリエンスを大幅に向上させます |
待ち時間の短縮 | キャッシュを実行して、データをより詳細に制御し、確実に分離できる、高速でスケーラブルなゲームを構築します。ゲームのマッチメイキング機能を向上させるためにも使用できます。 | Azure Redis Cache | スループット向上と、一貫して短いデータ アクセスの待機時間により、高速でスケーラブルな Azure アプリケーションを強化 |
高いスケーラビリティ、低遅延 | 低遅延の読み取りと書き込みでゲーム ユーザー数の変動を処理する | Azure Service Fabric | 最も複雑で低遅延のデータ集中型のシナリオを強化し、一度に多くのユーザーを処理できるように確実にスケーリングできます。 Service Fabric では、ステートレスなアプリに必要な専用ストアやキャッシュを作成することなく、ゲームを構築できます |
デバイスから 1 秒あたり何百万ものイベントを収集する機能 | デバイスから 1 秒あたり何百万ものイベントをログに記録する | Azure Event Hubs | ゲーム、Web サイト、アプリケーション、およびデバイスからのテレメトリをクラウド規模で収集 |
ゲーム データのリアルタイム処理 | ゲーマー データのリアルタイム分析を実行してゲームプレイを改善する | Azure Stream Analytics | クラウドにおけるリアルタイムのストリーム処理 |
予測ゲームプレイを開発する | ゲーマー データに基づいてカスタマイズされた動的ゲームプレイを作成する | Azure Machine Learning | 予測分析ソリューションを簡単に構築、デプロイ、共有できるフル マネージドのクラウド サービス |
ゲーム データを収集して分析する | リレーショナル データベースと非リレーショナル データベースの両方からのデータの大規模な並列処理 | Azure データ ウェアハウス | Enterprise クラスの機能を伴うエラスティックなサービスとしてのデータ ウェアハウス |
ユーザーの関心を引き付けて使用量と保持期間を増やす | 任意のバックエンドから任意のプラットフォームにターゲットプッシュ通知を送信して関心を生み出し、特定のゲーム アクションを奨励する | Azure Notification Hubs | 高速ブロードキャスト プッシュで、あらゆる主要プラットフォーム (iOS、Android、Windows、Kindle、Baidu) の無数のモバイル デバイスに到達。 ゲームはあらゆるバックエンド (クラウドまたはオンプレミス) でホスティング可能。 |
コンテンツを保護しながら、メディア コンテンツをローカルおよび世界中の対象ユーザーにストリーミングする | ブロードキャスト品質のゲーム トレーラーと映画クリップは、すべてのデバイスから見ることができる | Azure Media Services | 統合された Content Delivery Network 機能によるオンデマンドとライブのビデオ ストリーミング。 コンテンツの保護と暗号化を含め、すべての再生ニーズに 1 人のプレーヤーを使用します。 |
モバイル アプリの開発、配布、ベータ テスト | モバイル アプリのテストと配布。 アプリのパフォーマンスとユーザー エクスペリエンスの管理。 | HockeyApp | クラッシュ レポートとユーザー メトリックスを、アプリ配布とユーザー フィードバックのプラットフォームに統合します。 Android、Cordova、iOS、OS X、Unity、Windows、Xamarin のアプリをサポート。 また、Visual Studio Mobile Center によるアプリのミッション管理もご検討ください。豊富な分析、クラッシュ レポート、プッシュ通知、アプリの配布などの機能が用意されています。 |
マーケティング キャンペーンを作成して使用量と保持期間を増やす | 対象プレイヤーにプッシュ通知を送信して関心を生み出し、データ分析に従って特定のゲーム アクションを奨励する | モバイル エンゲージメント - 2018 年 3 月に廃止予定であり、現在は既存のお客様のみご利用いただけます | すべての主要プラットフォーム (iOS、Android、Windows、Windows スマートフォン) でのゲームプレイ時間とユーザー保持期間を増やす |
スタートアップ リソースと開発者向けリソース
-
Microsoft for Startups は、スタートアップ企業の成長を加速させるために役立つ製品、技術、および市場投入の利点を提供します。 1 つの利点には、Azure 無料アカウントの取得が含まれます。 30 日間の 200 ドルのクレジット、12 か月間無料の人気のあるサービスの使用と、常に無料の 25 を超えるサービスをご利用いただけます。 詳細については、「スタートアップのアイデアを Azure の無料アカウントで実現する」を参照してください。
-
Microsoft では、ID@Xbox や Xbox Live クリエーターズ プログラムなど、Windows ゲームの開発と公開に役立つ開発者向けプログラムを提供しています。
学習リソース
- //build 2016: CodeLabs - Microsoft Azure App Service と Microsoft SQL Azure バックエンドを使ってゲームのスコアを Unity に保存する
- //build 2017: Microsoft Azure を使用して世界クラスのゲーム エクスペリエンスを提供する: Halo、Hitman、Walking Dead などのタイトルから得られた経験 (ビデオ)
- GitHub で Azure を使用して一般的なゲーム ワークロードをサポートするように設計された、レポート パーツ、プロジェクト、サービス、ベスト プラクティスの再利用可能なセット: Azure でのゲームのレポート パーツ
- Azure のゲーム サービス (ビデオ)
ツールとその他の便利なリンク
ゲーム バックエンドのサービスとしてのソフトウェア
Azure PlayFab は現在 1,200 タイトルを超えるライブ ゲームの基盤として、月間で 8,000 万人のアクティブ プレーヤーを支えています。 これは、リアルタイム制御を備えた完全なスタック LiveOps を含む完全なバックエンド プラットフォームです。
このソリューションは、SDK を使用してモバイル、PC、またはコンソール ゲームに統合できます。 Android、iOS、Unreal、Unity、Windows など、すべての一般的なゲーム エンジンとプラットフォーム用に SDK が用意されています。
認証、プレイヤー データ管理、マルチプレイヤー、リアルタイム分析などのゲーム サービスを提供し、ゲームのユーザー ベースの拡大に役立ちます。 リアルタイム データ パイプラインと LiveOps の機能を活用して、カスタマイズされたゲーム内アイテム、イベント、プロモーションをユーザーに結びつけます。 また、A/B テストの実施、レポートの生成、プッシュ通知の送信などを行うこともできます。
私たちは常に新しい機能を革新し、追加しています。 詳細については、「Azure PlayFab」を参照してください。価格については、「価格」を参照してください。