LTVを高めるマッチメイキングとは?
いつまで経ってもマッチングしない課題と対策
ゲームにおいてマッチングを行う際、いつまで経ってもマッチングしないという体験はないでしょうか。
対戦相手が強すぎる、マッチングの際に長く待たされる。こういった対戦時のマッチメイキングに関連する問題は
ゲームユーザーの離脱率と深い関係があります。
ゲームタイトルを運営する事業者は、LTV(Life Time Value/ライフタイムバリュー)を向上させるマッチメイキングを提供する必要があります。
目次
- 「マッチメイキング」とは?
- マッチングのときに重視されるポイントについて
- ユーザー体験におけるマッチメイキングの重要性
- マッチメイキングの仕組み
- Diarkisが提唱する「スケーラブルで障害に強いマッチメイキング」を活用してみよう
- Diarkisのマッチメイキングを活用しユーザー定着率の向上を
「マッチメイキング」とは?
マッチメイキングとは、格闘ゲームやバトルロワイヤル形式の FPS において、プレイヤー(競技者)の技量を測定し、両者が満足できる組み合わせを作るためのシステムです。
ゲームに参加するユーザーは、自分と同じようなレベルのユーザーと対戦できるマッチングの正確さと速さに強い関心を持っています。マッチングの結果、ユーザーは自分のレベル、技量に近いユーザーとプレイすることができ、ゲームに対する満足度を高めることができます。
マッチングの時に重視されるポイントについて
マッチングは、さまざまな種類のゲームで必要になります。
ゲームの種類によらず、マッチングの時に重視されるポイントとして、以下のポイントがあります。
- マッチングにかかるスピード
- マッチングの精度
一般的に、マッチングにかかるスピードとマッチングの精度はトレードオフの関係にあり、どちらかを優先すれば、他方の品質が低下することがほとんどです。
ユーザー体験におけるマッチメイキングの重要性
マッチメイキングは、単にユーザー満足度を向上させるだけに寄与するだけではありません。運営者とユーザーが長期的に良好な関係を築くための第一歩となる重要なステップなのです。
それでは、マッチメイキングの重要性について、詳しく見ていきましょう。
タイトルの良い評判につながる
マッチメイキングを的確に実行できれば、ユーザーはゲームのプレイにより多くの時間を割けます。つまり、マッチメイキングの精度をあげることでユーザーのプレイ時間向上に繋がります。
ストレスなく楽しむべきコンテンツへ時間を多く割くことは、本来ゲーム開発企業側が多くのリソースをかけて作ったタイトルへの理解を深め、ユーザーコミュニティにおける良好なクチコミや評判を形成することに繋がります。
ユーザーとより良い関係を構築することに注力できる
マッチメイキングを継続的に利用するユーザーは、タイトルに対して高いエンゲージメントを有するユーザーであると言えます。本来そういったユーザーとの関係値を良好に保つことは、新規のユーザーを獲得し続けることと同様に非常に重要であり、LTVの向上に大きく影響します。
そのため、マッチメイキングの満足度を低下させることは、高いエンゲージメントを持つユーザーの離脱の要因にもつながるため、マッチメイキングに対するユーザーからの批判、要望が上がった場合には、直ちに対応することが必要です。
これらの対応には多くの時間が割かれる事となるため、ユーザー数が増加した時にも満足度を維持することができる「仕組み」を構築することが重要です。
この「仕組み」を早期に構築することで、マッチメイキングに対する批判、要望の数が減り、今まで以上にユーザーとの関係性を深めることに時間を使うことができます。
マッチメイキングの仕組み
オンラインマルチプレイヤーゲームのマッチメイキングシステムには、2つの最も一般的な実装方法があります。この2つの実装方法は、マッチングに使用するデータの保存方法が異なります。
リレーショナルデータベースを利用する
RDB(リレーショナルデータベース)を使用する場合、プレイヤーの検索は SQL によって行われます。
ゲームは、カテゴリー属性を持つプレイヤーをデータベースに追加し、プレイヤーを検索してマッチを作成します。SQL を使った実装は単純明快ですが、スケーラビリティやアベイラビリティを考えると、それほど単純ではありません。
RDB によるマッチメイキングシステムの拡張性は、RDB のスケーラビリティに大きく依存します。つまり、スケーラビリティの限界は、RDB のマスター・スレーブのスケーラビリティであるということです。
このようなマッチメーキングシステムを維持することは困難であり、コストもかかります。マッチングに使用するデータはもともと一時的なものですが、RDB の保存データは永続的なものなため用途が適していません。
スケーリングの難しさに加えて、この実装方法には単一障害点(SPOF)を含む問題があります。RDBが故障した際には、
マッチメーキングシステム全体が故障してしまうため、このアプローチを冗長化するにはコストと手間がかかります。
最後に、パフォーマンスの最適化は SQL のパフォーマンスに完全に依存しており、一般的にこの種の SQL の実行は遅く、実行コストが高い可能性があります。
このようなパフォーマンスの問題を解決するために、RDB アプローチでは通常、オンザフライで検索するのではなく、バックグラウンドプロセスを使用してデータベースをスキャンしてマッチを作成します。バックグラウンドプロセスを使用することで、データベース上のワークロードを容易に制御することができます。
しかし、この方法では、マッチメイキングの検索がリアルタイムではないため、プレイヤーが検索を実行する時点で、関連性のないマッチや古くなったマッチが存在する可能性が高く、その結果、リトライが多発し、待ち時間が長くなるなどの問題があります。
メモリをストレージとして使う
RDB を使用する代わりに、サーバープロセスのメモリをマッチメイキングデータのストレージとして使用する方法があります。RDB を使った場合とは異なり、メモリ上での検索は非常に高速でコストが低いです。
また、大規模なデータベースサーバを運用・管理する必要もありません。
一見、素晴らしい戦略ですが、これにも問題があります。一番の問題はスケーラビリティです。サーバープロセスのメモリに制限されているため、サーバーの性能に制限されてしまい、1台のサーバーのキャパシティを超える多数のプレイヤーを扱うことができません。
では、Redis のような KVSを使用し、それをクラスター化することで、1つのサーバープロセス以上のスケールを実現するのはどうでしょうか?しかし、データベースサーバーを維持するのと同じように、外部のデータストレージサーバーを維持しなければなりません。また、KVSにはクエリシステムがないため、データの問い合わせや検索には弱いです(もちろん、例外もあります)。
オンライン・マルチプレイヤー・ゲームに拡張性がない場合は、この方法が有効かもしれませんが、通常のオンライン・マルチプレイヤー・ゲームは多数のプレイヤーを想定しているので、このスケーラビリティに関する問題は致命的な問題となるでしょう。
マッチメイキングシステムを正しく構築するのは難しい
結論として、性能と規模の両方を兼ね備えたマッチメイキングシステムを構築することは、かなり困難です。また、高い可用性を維持することも困難です。現実的には、達成すべきことと、それに伴うトレードオフを考慮して、選択肢を検討し、決定する必要があります。
世界中のゲーマーがプレイしているゲームにおけるマッチメイキングシステムは、プレイヤーに知られないようにスムーズに機能させるために、かなりの努力が必要です。今度オンラインゲームをプレイするときには、その裏で何が行われているかを考え、自分がプレイしているゲームに必要な作業や努力に感謝してみると、より楽しめるかもしれません。
オンラインマルチプレイヤーゲームのマッチメイキングには、従来とは異なるアプローチがあります。
ゲーム内のマッチメイキングシステムには、これまでの常識を覆すような新しいアプローチがあります。この新しいマッチメイキングシステムは、マッチメイキングシステムを全く別の角度から見て、マッチメイキングシステムを構築する際のほとんど全ての問題対する解決策を提供します。
Diarkis が提唱する「スケーラブルで障害に強いマッチメイキング」を活用してみよう
Diarkis MatchMaker は、既存のオンラインマルチプレイヤーゲームに追加することができるソリューションです。その名の通り、スケーラブルで障害に強いマッチメイキングシステムです。
分散型メモリストレージを使用して、マッチメイキングデータを管理し、オートスケーラブルな複数のサーバーにマッチメイキングデータを分散・同期させます。これにより、単一障害点やスケーラビリティの問題を完全に排除しています。
またすべてのマッチに関するデータがメモリ上に保存・管理されているため、非常に高速な検索が可能です。データベース方式とは異なり、データをメモリ上に保存・管理するため、データの検索や更新が高速かつ安価に行えます。
またマッチを作成するためのバックグラウンドプロセスは一切必要なく、真のリアルタイムマッチメイキングを実現しています。プレイヤーは、事前にマッチングされた、古い可能性のあるマッチを問い合わせるのではなく、その場でマッチを検索することができます。
Diarkis MatchMaker を活用し、ユーザー定着率向上を
複数人で協力プレーを行うゲームに対するユーザーの満足度を高めるためには、マッチングに関する理解が必須です。
マッチングの質・速度が上がれば、ユーザーはより多くの時間ゲームをプレーすることができるため、満足度が向上します。さらに、ゲーム事業者側はマッチメイキングに対する批判、要望の数が減り、プレイヤーとの関係性を深めることに時間を使うことができます。
上記のような成果を出すためには、ユーザー数が増えた際にも高い満足度を維持するマッチメイキングの「仕組みづくり」が大切です。今回お伝えした Diarkis の「スケーラブルで障害に強いマッチメイキング」を活用し、LTVを向上させるマッチングを行っていきましょう。