Hello
I have a question about how “maxDistance” in expansions of a matchmaking rule works.
My matchmaking rule needs 5 players. The players have their ratings for a balanced matchmaking.
The maximum number of a rating is 200. In my matchmaking rule, if my rating is much higher than other people’s and I’m not matched by Matchmaker, after 60 seconds, I have to be matched due to expansions in the matchmaking rule.
This is the matchmaking rule.
{
"ruleLanguageVersion" : "1.0",
"playerAttributes" :
[
{
"name": "GameMap",
"type": "string",
"default": ""
},
{
"name" : "WantsToBe",
"type" : "number",
"default" : 0
},
{
"name": "Rating",
"type": "number",
"default" : 50
}
],
"teams" :
[
{
"name" : "Players",
"maxPlayers" : 5,
"minPlayers" : 5
},
{
"name" : "Spectators",
"maxPlayers" : 5,
"minPlayers" : 0
}
],
"rules":
[
{
"name": "SameGameMap",
"description": "Only match players when they're in the same map",
"type": "comparison",
"operation": "=",
"measurements": ["flatten(teams[*].players.attributes[GameMap])"]
},
{
"name" : "PlayerSelection",
"description" : "Only users that request playing as Player are assigned to the Player team",
"type": "comparison",
"measurements" : ["teams[Players].players.attributes[WantsToBe]"],
"referenceValue" : 0,
"operation" : "="
},
{
"name" : "SpectatorSelection",
"description" : "Only users that request playing as Spectator are assigned to the Spectator team",
"type": "comparison",
"measurements" : ["teams[Spectators].players.attributes[WantsToBe]"],
"referenceValue" : 3,
"operation" : "="
},
{
"name": "TeamBalance",
"description": "",
"type": "distance",
"measurements": [ "min(teams[Players].players.attributes[Rating])" ],
"referenceValue": "max(teams[Players].players.attributes[Rating])",
"maxDistance": 20
},
{
"name": "SpectatorBalance",
"description": "",
"type": "distance",
"measurements": [ "min(teams[Spectators].players.attributes[Rating])" ],
"referenceValue": "max(teams[Spectators].players.attributes[Rating])",
"maxDistance": 200
}
],
"expansions":
[
{
"target": "rules[TeamBalance].maxDistance",
"steps":
[
{
"waitTimeSeconds": 10,
"value": 20
},
{
"waitTimeSeconds": 20,
"value": 40
},
{
"waitTimeSeconds": 30,
"value": 60
},
{
"waitTimeSeconds": 40,
"value": 80
},
{
"waitTimeSeconds": 50,
"value": 100
},
{
"waitTimeSeconds": 60,
"value": 200
}
]
}
]
}
This is my issue. 6 players submitted their matchmakings. 5 players were matched by Matchmaker and they were in a lobby because the other person had a higher rating than the 5 players. After the game was done. The other person’s matchmaking ticket was still in a matchmaking queue but the same 5 players were matched by the Matchmaker again. I expected that the other person waited for a couple of minutes. It means that he was in the expansion rule. After 60 seconds, the range of his matchmaking rating would be 200 through the expansions. His ticket was not expired. So he should have been matched. That is what I expected. Now I’m confused by how the expansions in my matchmaking rule works.
In addition, the other person waited for a long time. no one requested a matchmaking. So I expected that his matchmaking ticket was priority. What is criteria of the matchmaking?
Any help is appreciated!!!