4

Google Playゲームサービスを使用しているプレイヤーとゲームの個々のプレイヤーのスキルレベルに基づいて一致させる方法はありますか? 私は各プレイヤーのプレイヤーレベルをローカルに保存しており、プレイヤーが自分の最も近いプレイヤーにマッチさせたいと思っています。プレーヤーのランキング/スキルに基づいてGoogle Playサービスで一致するプレーヤー

たとえば、エキスパートレベル100のプレーヤーではなく、10位(初心者)のプレイヤーが最も近いプレイヤー(たとえば5〜15人)とペアを組む必要があります。

+0

こんにちは、正確にあなたの質問は何ですか?ランクマッチを作成するために必要なすべてのデータがあります。リーダーボードやプレーヤーリストに保存されたレベルを使用してください。さらなる助けが必要な場合は、詳細を記入してください。 – Cabrra

答えて

2

仲人に影響を与えるように設定することができる2つの変数があります。

まず、あなたはRoomConfig.Builder.setVariant()を使用して、ゲームのバリエーションを設定することができます。このメソッドは、一致のタイプを示す負ではない値を取ります。指定された変種は、自動マッチングを行うために他の参加者と正確に一致する必要があります。私はあなたの試合で厳密になることができ、プレーヤーのレベルとしてバリアントを使用することができると思います。このようにして、プレイヤーは同じレベルのプレイヤーとしかマッチしません。別の方法としては、あるレベルのレベルを1つのグループにまとめる方法があります。たとえば、レベル1-5はお互いに再生でき、同様にグループ6-8などです。

2番目の変数はexclusiveBitMaskです。これはRoomConfig.CreateAutoMatchCritera()を呼び出すときに渡されます。このメソッドは、一致させるプレーヤーの最小数と最大数、およびexclusiveBitMaskをとります。このマスクは、他のプレイヤーと論理的にANDしたときに0になります。これは、ロールベースのゲーム(1つの攻撃と1つの防御が必要)のようなものに使用されます。これを使用する可能性があるのは、高レベルと低レベルの機能をマスクすることであり、不正なミスマッチはありません。

2

私はクレイトンウィルキンソンの答えはすべて正しいと私はそれを投票したと思います。

しかし、OPは、がプレーヤーベースをセグメントに分割することなく、スキルベースのマッチングを行う方法を望んでいると思います。

悲しいことに、答えはできません。選択肢は、他のマッチメイキングシステムを使用するか、プレーヤーベースを分割することです。あなたのプレーヤーベースを分割することを選択した場合、プレイヤーが長い時間待つことを避けるために、多くの同時ユーザーが必要です。

最近のタイトルでは、よりニュアンスの高いマッチメイキングが必要だったため、Raknetを元にした独自のマッチメイキングサービスを開始しました。しかし、面倒なことがたくさんあります.GPGSを放棄することを検討するには、スキルベースのマッチングが非常に重要です。

+1

フィードバックをいただきありがとうございます。私はこの機能を強化するためにこの情報を渡します。 –

関連する問題