Flexmatch with multiple game modes

So our game supports multiple game modes, with different maximum teams sizes. ex 4v4, 6v6, 12v12.

Players can queue for a specific game mode type, but they can also queue for “Any”, in which case they should just be put in the first available mode. What is the canonical way to do this?

One option is we create a match making configuration for each game mode, and then if the player queues for “Any” we send out a matchmaking request for each of the configurations. We would then accept the first one that succeeds and cancel the rest. Is that the correct way to go about things or is there a better way?

An additional question: When using automatic backfilling, what number of players does it backfill to? ie what criteria determines empty slots? Is it the sum of maxPlayers attribute on each team? Is it the the max players in the game session? Is there anyway to control this number for automatic backfilling?

Any info is appreciated, thanks!

Sorry for the late reply.

FlexMatch is really built for with a strong matchmaking -> to game mode model ie you have a game mode which is 1x1, then use Matchmaker A, you have a team mode say 10 vs 10, then use Matchmaker B etc.

So if players can queue for multiple game modes, you could submit tickets for main game mode and any mode and cancel the redundant one. This may cause game sessions to be created then required, so I would not issue then at the same time esp as you could start pulling players for the main mode into the any mode as its more likely to be filled.

I will see if a GameLift FlexMatch expert can provide any further information.

Automatic backfill fills in players based on players count in session and based on your rules ie where does your session have space ie “whenever a game session has an open player slot.” (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html)

So if you game session starts with 10 players but can hold 20, it will look for up to 10 new players that fill your matchmaking requirements, so will respect max players per teams, players with x attributes etc.

Automatic backfill is no different to standard backfill aside from the fact, that you don’t have to call StartMatchBackfill yourself.

Apologies, I mis-read your question, which I believe was how do you allow a player to queue for a specific mode or any mode, where ANY is any of the game modes we have ie:

Queue for 4 x 4, but also, hopefully, after some delay, start queuing for 3x3, or 2x2 etc.

In that case, if your game mode supports it, games typically use rule expansions to start looking reducing the max players per team. This would be the easier approach

Queue for 12x12
20s later relax to 6x6
20s later relax to 4x4

The downside here is that 12x12 games could be rare if your player population is low.

An alternative is to have a hybrid approach.

Matchmaking config A is the players preferred game mode. Try matchmaking here. If this reaches a time x in the UX, show dialog offering to matchmake in any team size mode or allow them to wait further. If they chose to wait, wait for ticket to complete or timeout.

If they choose any mode then make a new request using Matchmaking config B that has the rule relaxations.

That way you only ever one ticket in flight per player and your players are in charge.

Would that work for you?

Thank you for the reply.

Re multi queue matchmaking you actually understood it correctly the first time, sorry, I could’ve been more clear.

Assuming a very health game population, then ideally our players would experience the different game modes roughly equally often. So it sounds like the approach where we’d create multiple match requests and then accept the first successful one would work. Additionally may have some minimum queue time so that it’s not heavily biased towards small size game modes.

Sounds reasonable to me.