コンテンツに移動
Gaming

シンプルなデベロッパー向けマッチメーカー Open Match が 1.0 に到達

2020年6月30日
Google Cloud Japan Team

※この投稿は米国時間 2020 年 6 月 23 日に、Google Cloud blog に投稿されたものの抄訳です。

マルチプレーヤー型ゲームの人気がますます高まっている今、ゲーム デベロッパーにとってどれほどすばやく正確にマッチングできるかということが非常に重要になっています。しかし、マッチメイキング(ゲームを最大限に楽しめるようにプレーヤーをマッチングする手法)はそれほど簡単なことではありません。ゲームはそれぞれ異なります。そのため、ゲーム デベロッパーはゼロから新しいマッチメイキング ソリューションを作成するか、ゲームのニーズを完全に満たすとは限らない既製のマッチメーカーに頼らざるをえません。いずれにしても、プレーヤーの要求は変動大きく変動するため、ゲーム デベロッパーが時間と労力をかけて基盤となるインフラストラクチャをスケールしなければならないことに変わりありません。

Google Cloud と Unity が共同開発したオープンソース プロジェクト、Open Match は、こうした問題を解決してゲーム デベロッパーの負担を少しでも減らせるように作成されました。Open Match は、マッチロジックの管理をゲーム デベロッパーに任せながら、時間のかかるインフラストラクチャ管理を一手に引き受けるマッチメイキング フレームワークです。

今回 Open Match が 1.0 に達し、いよいよ本番環境にデプロイする準備が整いました。ここで、Open Match の仕組みについてもう少し詳しく見ていきましょう。

ゲームのマッチング プロセス

プレーヤーがゲームへの参戦を希望すると、チケットが作成され Open Match データベースに保存されます。「Director」と呼ばれるコンセプトによって、バックエンド サービスを呼び出し、Open Match にマッチをリクエストします。Open Match は提供されたマッチ関数を呼び出し、チケットをマッチに変換します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/open_match.max-900x900.jpg
クリックして拡大

 マッチロジックを自分で管理

ゲームデザインは移り変わりが速いため、インフラストラクチャが足かせとなっては創造性を十分に発揮できません。バトル ロワイアル ゲームから非対称型対戦シューティング ゲームやオープン ワールド体感ゲームまで、新しいアイデアはいくらでもあります。ただ、ゲーム サイズ、マッチ、渡されるデータ型などがマッチメーカーで決定されるため、今までにない新しいものを自由に作り出すことは困難です。

マッチ関数を実装してデプロイするのはお客様であり、Open Match は関与しません。マッチ関数は関連するチケットのクエリを実行し、マッチを返します。Open Match では、プレーヤーがマッチを検索するためのアルゴリズムが規定されておらず、マッチメイキングの方法は自分で選ぶことになっています。事前定義されたプレーヤー属性に基づいてマッチングしたり、誰かの構成言語を使用したりする必要はありません。本当に使いたいツール、すなわちコードを使用できます。

スケーリングの問題を解決する

マッチ関数を使うことで優れた柔軟性が得られることは結構なことですが、新しいタイトルごとにスケーリングの問題に悩まされるのも困りものです。Open Match はこのような問題の解決を容易にしてくれます。

Open Match のデータベース レイヤは、ビデオゲームのマッチメイキングに必要な、厳しいクエリ要件や回転率要件に対応するよう設計されています。また、Open Match は同時に行われる複数のマッチ関数の呼び出しを一度に処理し、マッチ関数が同一プレーヤーとのマッチを複数作成しないようにします。Open Match は、1,000 を超える マッチ関数、1 秒あたり数千枚の新規チケット、1 つのマッチを同時に検索する数百万のチケットを使って Google がテストした結果、大規模なゲームにも十分対応できることがわかっています。

既存のインフラストラクチャを利用する

今回のゲームは大ヒットしました。さて、次のリリースはどうしますか。マッチメイキングのインフラストラクチャと同様、新しいゲームをリリースするたびにバックエンド全体を再構築するのは面倒です。Open Match はさまざまな使用パターンに対応できるように設計されているので、既存のインフラストラクチャをそのままお使いいただけます。Open Match を使えば、新しいゲームをリリースするたびに最初から構築する必要があるものと、次回も再利用できるものとを容易に仕分けることができます。

Open Match を使ってみる

ゲーム デベロッパーによる Open Match の詳細な使用例についてご覧ください。また、次作ゲームからシンプルなマッチメイキング機能を取り入れること関心をお持ちのお客様は、デベロッパー サイト(open-match.dev)をご覧ください。

- By Software Engineer, Google Cloud for Games, Scott Redig

投稿先