question

jules avatar image
jules asked

Matchmaking 2.0 - Ticket Evaluation Order

I was going over the new matchmaking documentation and couldn't find anything on how/in what order tickets are evaluated to see if a match is possible.

For example, let's say it's a 2v2 game and you have 8 players in queue with the following skill rating and time-in-queue:

  1. 1600 (3 minutes)
  2. 1800 (2 minutes)
  3. 1800 (2 minutes)
  4. 1800 (2 minutes)
  5. 2000 (1 minute)
  6. 1600 (1 minute)
  7. 1600 (1 minute)
  8. 1600 (1 minute)

How does the matchmaker decide which combination of 4 tickets to evaluate first? There are multiple variables that could be taken into account:

  • Time spent in queue (players who have been waiting longer should be considered earlier)
  • Rating (players who are higher rated or rated at the tails should be considered earlier because it's harder to find them games)
  • Match fairness (combinations of tickets that form matches with lower Difference and TeamDifference should be given preference)
  • Low priority for toxic players (e.g. a system like Dota 2 where toxic players are given lower queue priority)

For example, if you went strictly by time-in-queue, it would put players 1-4 in a match and players 5-8 in a match. However, it would be better from a match fairness perspective to put players 2-5 in a match and players 1, 6, 7, and 8 in a match.

It would be nice to know in what order the matchmaker evaluates tickets, and even better, it would be amazing to have some control over the order. Thank you!

Matchmaking
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Citrus Yan avatar image
Citrus Yan answered

Hi Jules,

How does the matchmaker decide which combination of 4 tickets to evaluate first?

I think it depends on the Rule configuration of your Matchmaking queue. The “Weight” element is a way to modify the importance of a rule. Rules, in general, provide both a restriction as well as a way to sort the remaining tickets that are eligible. The weight is a multiplier, modifying how important the rule is for sorting purposes(it probably relates to the evaluation order you are talking about ). If you set the weight of Difference Rule for skill rating to a higher value, then this skill rating variable will be granted with higher priority for sorting. I think this may give you some control over the order you are talking about.

Now, let talk about the examples you gave more specifically.

a)Example 1

You were talking about "Time spent in queue" , as far as I understand it, this variable usually is not considered to be of high priority in PlayFab Matchmaking service. Players waiting for a long time usually happens when Matchmaking service is trying to find a match strictly following the rules you set for the Queue but cannot find any. The reasons for this are many, lack of enough players, rules are set to be very strict, etc. In this case, I think you can somehow control the “Time spent in queue” variable by utilizing the Expansions and becoming optional feature. This feature enables the rules to be optional or less restrictive over time, allowing players that have waited for some time to search wider for a potential match. You can navigate the doc to find out more. For example, setting Seconds until optional will disable certain rules to restricts matches that have waited this time, the value is determined by you.

I think it does not matter whether high or low ratings should be considered earlier, during matchmaking, it’s rather important to match players whose ratings are within a reasonable difference range. When players with high or low ratings find it hard to match other players, you can utilize the Expansions and becoming optional feature talked above.

You can achieve Match fairness by utilizing Expansion process feature here. Set the difference to be small at first and expand it linearly or you customize the increment. For more detail, please refer to the doc.

Low priority for toxic players, this can be done by setting rules to make it hard for toxic players to get a match. For example, you can utilize Match Total Rule listed in the table. Players with high toxic level( it can be represented by a high number attribute) will find it hard to join a match.

b)Example 2

If you want to go with strictly by time-in-queue, you can set the Difference Rule with wider range or lower weight. You can achieve Match fairness just as I explained in Example 1.

Anyway, Matchmaking Service is a sophisticated system, I am afraid that there is no article talks about the underlying algorithms yet. However, I think it would be enough for us to utilize this service by understanding every feature the doc talks about. And it would be extremely helpful for you to get more insights by reading Matchmaking scenario and configuration examples here:)

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.