question

Mathieu Deletrain avatar image
Mathieu Deletrain asked

How to maximise player count with MatchMaking 2.0

Hi !

I'm in the process of integrating matchmaking 2.0 to our game. Right now I have :

  • Deployed, stand-by and active servers
  • Matchmaking queues configured
  • Client searching for matches using flow described here

All is well except I was expecting the match maker to try to get as much players in the party as possible, relaxing toward the min player count while time passes (something like Team size balance rule customisation ability), while it seems to start the match as soon as the number of players reaches queue's minimum player count, simply ignoring the maximum player count.

This behaviour will probably cause issues while in production while the potential live player count is still low, and it definitely is a big (blocker) issue while in development since tests involve a player count going anywhere between 2 and 18.

I tried to tune the min player count to match each test's expected player count but that's not practical and fails when approaching high numbers (because there is always at least one player who does not follow connection rules by the letter and misses the match window). It also fails when we try to have several games at the same time.

I thought about using backfill tickets on the server by asking for more players for some time before actually starting a game. But looking at the API, where there is no way to specify how much more player we are asking for, I fear the issue will be the same, with match maker deciding that the player count is enough to start.

Then the question is : how would you implement player count maximization ?


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.

Sarah Zhang avatar image
Sarah Zhang answered

Have you tried the MatchTotalRule, which under this section “Expansion of number of players over time? If you would like a match has a big “minimum players” at the beginning and would have a smaller and smaller count of “minimum players” over time, like the MatchMaking in PUBG. You can refer to this rule sample.

"MatchmakingQueue": {
    "Name": "PlayerExpansionOverTime",
    "MinMatchSize": 8,
    "MaxMatchSize": 50,
    "ServerAllocationEnabled": false,
    "Rules": [
        {
            "Type": "MatchTotalRule",
            "Attribute": {
                "Path": "PlayerCount",
                "Source": "User"
            },
            "Min": 8,
            "Max": 50,
            "Weight": 1,
            "Expansion": {
                "MinOverrides": [
                    50,
                    45,
                    40,
                    35,
                    25,
                    16,
                    8
                ],
                "Type": "Custom",
                "SecondsBetweenExpansions": 10
            },
            "Name": "PlayersRequiredRule",
            "SecondsUntilOptional": 60
        }
    ],
}
3 comments
10 |1200

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

Mathieu Deletrain avatar image Mathieu Deletrain commented ·

Hi !

Thanks for the advice. Indeed I overlooked that part of the documentation and did not find that solution.

I tried it with a small number of players and it seems to be working fine. I'll test with more players in the next few days.

As a side note, I did the configuration from the Web interface and it refuses to only fill the MinOverrides field. I had to fill the MaxOverrides field with the same value count, all set to the same number, otherwise I would get that error :

Rule "player_expansion_over_time" has error in field: MaxOverrides. The 
reason for the error is: The min and max overrides must have the same 
length.

Also, I first wrongly used commas instead of semi-colons and that is accepted, except that commas are removed. I entered 12,10,8,6,4,2 and the configuration was saved without error with a single value: 12108642. Pretty sure I will never have that much player in a single match :p !

Again, thank you for your very appreciated help !

0 Likes 0 ·
Steve Lobdell avatar image Steve Lobdell commented ·

Hi, so say you start with a minimum players of 20, and there are 5 people in the queue, do those players get matched and can enter a server while the Matchmaking ticket is still trying to be fulfilled? Or do they have to wait until the expansion size gets down to 5 to be matched and enter?

I like this concept, but I need my players to be able to match and enter the server but still have the ticket searching for more players. This way they aren't waiting at some loading screen forever until the expansion hits the size in the queue. Thanks

0 Likes 0 ·
Mathieu Deletrain avatar image Mathieu Deletrain Steve Lobdell commented ·

Players are only matched when the minimum count is reached.

If you want your players to be matched sooner and wait for new players while connected to the server, you'll have to lower the minimum (through default value or expansion rules) and implement backfill tickets on the server :

https://docs.microsoft.com/en-us/rest/api/playfab/multiplayer/matchmaking/createserverbackfillticket?view=playfab-rest

0 Likes 0 ·
Mathieu Deletrain avatar image
Mathieu Deletrain answered

Edit: moved as an anwser

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.