UWP ゲームにクラウド サービスを使用する

Windows 10 の ユニバーサル Windows プラットフォーム (UWP) には、Microsoft デバイス間でゲームを開発するために使用できる一連の API が用意されています。 複数のプラットフォームやデバイスを対象としてゲームを開発する場合は、クラウド バックエンドを利用して、需要に応じてゲームをスケーリングします。

ゲーム用の完全なクラウド バックエンド ソリューションをお探しの場合は、「ゲーム バックエンドのサービスとしてのソフトウェア」を参照してください。

クラウド コンピューティングとは

クラウド コンピューティングでは、インターネット経由でオンデマンドの IT リソースとアプリケーションを使用して、デバイスのデータを格納および処理します。 クラウドという用語は、特定の場所以外からアクセスできる (ローカル リソースではなく) 膨大なリソースが利用可能であることを示すメタファーです。 クラウド コンピューティングの原則は、リソースとソフトウェアを使用できる新しい方法を提供します。 ユーザーは完全な製品やリソースに対して前払いする必要はなくなりましたが、代わりにプラットフォーム、ソフトウェア、リソースをサービスとして使用できます。 クラウド プロバイダーは、多くの場合、使用量またはサービス プランのオファリングに従って顧客に請求します。

クラウド サービスを使用する理由

ゲームにクラウド サービスを使用する利点の 1 つは、物理的なハードウェア サーバーに事前に投資する必要がなく、後の段階で使用量やサービス プランに従って支払う必要があるだけであるという点です。 これは、新しいゲーム タイトルの開発に関連するリスクを管理するのに役立つ 1 つの方法です。

もう 1 つの利点は、ゲームが膨大なクラウド リソースを利用してスケーラビリティを実現できることです (同時実行のプレイヤー数の急激な急増、激しいリアルタイム ゲームの計算、またはデータ要件を効果的に管理します)。 これにより、ゲームのパフォーマンスが 24 時間安定して維持されます。 さらに、クラウド リソースは、世界中の任意のプラットフォームで実行されている任意のデバイスからアクセスできます。つまり、ゲームを世界中のすべてのユーザーに提供できます。

プレイヤーに素晴らしいゲームプレイ 体験を提供することが重要です。 クラウドで実行されているゲーム サーバーはクライアント側の更新に依存しないため、ゲーム全体に対してより制御された安全な環境を提供できます。 また、クライアントを信頼しないでサーバー側のゲーム ロジックを持つことで、クラウドを通じてゲームプレイの一貫性を実現することもできます。 サービス間接続を構成して、より統合されたゲーム体験を実現することもできます。たとえば、ゲーム内の購入をさまざまな支払い方法にリンクしたり、さまざまなゲームネットワークをブリッジしたり、FacebookやXなどの人気ソーシャルメディアポータルにゲーム内の更新情報を共有したりすることができます。

また、専用のクラウド サーバーを使用して、大規模な永続的なゲーム ワールドの作成、ゲーマー コミュニティの構築、時間の経過を伴うゲーマー データの収集と分析を行ってゲームプレイを改善し、ゲームの収益化設計モデルを最適化することもできます。

さらに、非同期マルチプレイヤー メカニズムを備えたソーシャル ゲームなどの集中的なゲーム データ管理機能を必要とするゲームは、クラウド サービスを使用して実装できます。

ゲーム会社がクラウド テクノロジーを使用する方法

その他の開発者がゲームにクラウド ソリューションを実装した方法について説明します。

開発者 説明 主なゲーム シナリオ 詳細情報
Tencent Games Tencent Games は、Azure Service Fabric を使用して革新的なソリューションを開発し、従来の PC ゲームをサービスとして配信できるようにします。 同社のクラウド ゲーム ソリューションは、'シン クライアント+リッチ クラウド' モデルを使用して、バックエンドでワークロードをマイクロサービスとして実行しています。
  • 従来の PC ゲームは、クラウド ゲームとして世界中のユーザーに配信される
  • 最適化されたゲーム配信プロセス
  • 複雑さを軽減し、依存関係によるワークロードの繰り返しを減らし、新機能を個別にアップグレードする機能をマイクロサービスとして分離したゲーム機能
  • 最新のゲーム コンテンツを再生するための小さなインストール パッケージのダウンロード (パッケージ サイズを GB からMB (メガバイト)に縮小)
  • メンテナンス コストの削減
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 人の同時プレイヤーでスケーリングを管理し、プレイヤーの急増を処理する方法について説明します。
  • クロスプラットフォーム
  • マルチプレイヤー オンライン ゲーム
  • プレイヤーの数に応じてスケーリングする
  • Crime Coast MMO ゲームが Azure Cloud Services をどのように使用したか

クラウド バックエンドを設計する方法

プロデューサーとゲーム デザイナーは、ゲームで必要なゲームの機能について議論していますが、ゲーム インフラストラクチャの設計方法を検討することをお勧めします。 さまざまなデバイスやさまざまな主要プラットフォームでゲームを開発する場合は、Azure をゲーム バックエンドとして使用できます。

IaaS、PaaS、SaaS の理解

まず、ゲームに最適なサービスレベルについて考える必要があります。 次の 3 つのサービスの違いを知ることは、バックエンドの構築に必要なアプローチを決定するのに役立ちます。

  • サービスとしてのインフラストラクチャ (IaaS)

    サービスとしてのインフラストラクチャ (IaaS) とは、インターネット経由でプロビジョニングと管理を行うインスタント コンピューティング インフラストラクチャです。 多くのマシンが、需要に応じて迅速にスケールアップおよびスケールダウンできる可能性があるとします。 IaaS を使用すると、独自の物理サーバーやその他のデータセンター インフラストラクチャの購入と管理にかかる費用を避け、その複雑さを解消できます。

  • サービスとしてのプラットフォーム (PaaS)

    サービスとしてのプラットフォーム (PaaS) は IaaS に似ていますが、サーバー、ストレージ、ネットワークなどのインフラストラクチャの管理も含まれます。 そのため、物理サーバーとデータセンター インフラストラクチャを購入しない上に、ソフトウェア ライセンス、基になるアプリケーション インフラストラクチャ、ミドルウェア、開発ツール、またはその他のリソースを購入して管理する必要はありません。

  • サービスとしてのソフトウェア (SaaS)

    "サービスとしてのソフトウェア (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 スマートフォン) でのゲームプレイ時間とユーザー保持期間を増やす

スタートアップ リソースと開発者向けリソース

学習リソース

ゲーム バックエンドのサービスとしてのソフトウェア

Azure PlayFab は現在 1,200 タイトルを超えるライブ ゲームの基盤として、月間で 8,000 万人のアクティブ プレーヤーを支えています。 これは、リアルタイム制御を備えた完全なスタック LiveOps を含む完全なバックエンド プラットフォームです。

このソリューションは、SDK を使用してモバイル、PC、またはコンソール ゲームに統合できます。 Android、iOS、Unreal、Unity、Windows など、すべての一般的なゲーム エンジンとプラットフォーム用に SDK が用意されています。

認証、プレイヤー データ管理、マルチプレイヤー、リアルタイム分析などのゲーム サービスを提供し、ゲームのユーザー ベースの拡大に役立ちます。 リアルタイム データ パイプラインと LiveOps の機能を活用して、カスタマイズされたゲーム内アイテム、イベント、プロモーションをユーザーに結びつけます。 また、A/B テストの実施、レポートの生成、プッシュ通知の送信などを行うこともできます。

私たちは常に新しい機能を革新し、追加しています。 詳細については、「Azure PlayFab」を参照してください。価格については、「価格」を参照してください。