Yahoo!ニュース

IDでもっと便利に新規取得

ログイン

簡易マルチプレイを約5日で実装できる「Microsoft Azure」の「PlayFab」がすごい。『Minecraft Earth』でも使われたサービス【CEDEC2020レポート】

配信

  • この記事についてツイート
  • この記事についてシェア
電ファミニコゲーマー

 コロナウイルスの影響で初のオンラインとなった「CEDEC」が9月2日(水)から4日(金)までの日程で開催されている。2日目となる3日には、『Minecraft』シリーズで活用されているマルチプレイサーバの実装テクニックを、日本マイクロソフト株式会社、ゲーム&エンターテイメント営業本部の梅津 寛子氏と株式会ナウプロダクションの伊藤 明男氏が語ってくれた。 【この記事に関連するほかの画像を見る】 ■マイクロソフトがゲームのためにできること  冒頭、梅津氏からは最近リリースされているゲームの傾向として、“よりリアルで実写に近いグラフィックや壮大なシナリオで作品世界に深く入り込み、没入感を味わうことができる濃い内容で遊べるハイボリュームなタイトル”と“ルールが単純で隙間時間に手軽に遊べ、ガチャやアイテム課金ではなく広告収入で運営を行うハイパーカジュアルと呼ばれるジャンル”のふたつに分かれていることが語られた。  それぞれの傾向に合わせて開発や運用も変化してきており、「開発スピード」「拡張性」「マネタイズ」の3つのポイントが求められるようになっているとのこと。  これらの問題を解決するためにMicrosoftは“Microsoft Game Stack”として開発からリリースまで360度全方位でゲーム会社をサポートできるよう、さまざまなソリューションをひとつにまとめ、提供しているとのこと。  その中でも代表的なツールが、「Visual Studio IDE」だ。「Unity」や「Unreal Engine」といった現代のゲーム開発には欠かせない主要なゲームエンジンとの連携も可能で、より効率的なコーディングやデバッグが可能になっていると梅津氏は語ってくれた。  また2018年に買収した世界最大級のソース管理サービスである「GitHub」も利用者数を伸ばしており、コア機能の無料化などさらなる進化を遂げているとのこと。  そして現在のゲーム運営において、プログラムを運用・展開する環境やユーザーの安定した接続を保証する強力なサーバーなど、クラウドサービスの充実は決して欠かせない。 その点について、Microsoftは「Microsoft Azure」という世界最大のクラウドサービスを提供しており、現在では140の国で利用可能となっている。Microsoftの技術とオープンソースの技術双方に対応しており、「Visual Studio IDE」や「GitHub」などのMicrosoft製品群とも高いレベルで統合されており、既に膨大な実績を積み重ね信用できるサービスとなっている。  「Microsoft Azure」の実績のひとつが、『Minecraft Earth』だ。昨年リリースされMinecraftの世界を現実で体験できるタイトルとなっている。このタイトルでは「Azure Cosmos DB」と呼ばれるグローバルに分散されたマルチモデルデータベースが活用されている。プレイヤーによる膨大な数の書き込みのラグを回避するために必要な最短での処理を行うため、「Azure Cosmos DB」をベースにした追加専用データストアを使用し、データに対してプレイヤーが行った一連のアクションをすべて記録している。Microsoftの技術力の高さがうかがえる。 ■「Microsoft Azure」その実用例  梅津氏に続いて講義を行ったのは、「Microsoft Azure」のサービスの1つであり、ゲーム開発において重要な役割を持つ「PlayFab」を実際に使用している株式会社ナウプロダクションの伊藤氏だ。特に近年のオンラインゲームでは一般的となっている「マッチング」や「マルチプレイ」についての解説は聞きどころが多かったように感じられた。  世界各国で同じゲームを遊んでいるプレイヤー同士を結び付けるのが、いわゆるマッチメイキングだ。伊藤氏によるとマッチメイキングとは「セッションプレイ型のゲームにおいて同一のセッションで遊ぶプレイヤーをグルーピングする」ことを指しており、「PlayFab」の標準機能を使用して実装されているとのこと。  クライアント側は「PlayFab」のマッチメイキングAPIを使用し、マッチングが成立したクライアント同士はマルチプレイヤーサーバーがホスティングしているゲームサーバービルドにそれぞれ接続する形式が取られており、繋がれた先のゲームサーバービルド上でリアルタイムマルチプレイが実現するようになっているのだそうだ。  今回、開発事例として挙げられているプロジェクトにおいては、マルチプレイヤーサーバとして専用のサーバモデルを用意しているとのこと。例えばキャラクターが移動する際には、クライアント側での処理は「キャラクターを移動させる」という入力情報を送信するのみで、実際の移動についてはサーバ側で処理し、結果のみをクライアントに返して端末の負荷を軽減させている。  この場合クライアントビルドとサーバビルド間での円滑な通信の実現も大きな課題となるが、ネットワークライブラリとしてUnityでの動作をサポートし、リアルタイム通信が可能なフレームワークである「MagicOnion」を採用している。  「MagicOnion」の実装にかかったのはわずか5日。開発環境構築に1.5日、「PlayFab」が提供するゲームサーバーサービスである「GSDK」の組み込みには2日、簡易マルチプレイ実装には1日と、おそろしいほどのスピードで検証環境を実現している。開発に速度が要求される現代においては、環境構築の早さも極めて重要な要素だ。「Microsoft Azure」の力がますます重要となるだろう。

電ファミニコゲーマー:

【関連記事】