We are using the following matchmaking ruleset with a standalone configuration
{
"name": "MatchmakingRuleset",
"ruleLanguageVersion": "1.0",
"algorithm": {
"backfillPriority": "high",
"batchingPreference": "random",
"strategy": "exhaustiveSearch"
},
"playerAttributes": [
{
"name": "tournamentDefinitionID",
"type": "string"
},
{
"name": "skill",
"type": "number",
"default": 0
}
],
"teams": [
{
"name": "player",
"minPlayers": 0,
"maxPlayers": 1,
"quantity": 4
}
],
"rules": [
{
"name": "SameTournament",
"description": "Match players to play in the same tournament type",
"type": "comparison",
"operation": "=",
"measurements": ["flatten(teams[*].players.attributes[tournamentDefinitionID])"]
}
]
}
Since minPlayers is 0 for all teams, that means that when there are no other players matchmaking at the moment and no backfilling tickets, players can get a successful match with just their own ticket, in which event we create a new game, and the player enters this game alone. We then call startMatchBackfill with the same configuration and repeat the process until the game is full.
This mean that at any given moment, any submitted ticket “should” always result in a MatchmakingSucceeded callback, so theoretically there should be no waiting for matchmaking.
For some reason we are experiencing wait times of 5-10 seconds from when we call startMatchmaking until our matchmaking event listener lambda is called (wired through EventBridge), is there any way to speed this up? Is this a technical constraint? Is FlexMatch waiting for more tickets to enter the pool, and is there a way to configure this?