question

Phil Woods avatar image
Phil Woods asked

Matchmaking with teams of different types

Hi,

For the game we are working on we require matchmaking with the following requirements:

  • 2 teams

  • Each team uses a different type of character

  • Each team has a different range of players

  • Users can search individually or within parties

  • Users can select which team to play on or search as wild

  • A party must be on the same team

Currently we have everything working using ‘Match Total’ rules except we have not figured out a way for a party to search as wild.

For example, say that the teams are called ‘Team A’ and ‘Team B’, ‘Team A’ is of a size of 1-2 players using character of type A, and ‘Team B’ is of size 1-3 players using characters of type B. Players/parties can select to matchmake onto Team A, Team B, or choose to matchmake as wild. Our current matchmaking queue configuration uses 3 ‘Match Total’ rules:

  1. Match total for Team A starting at 2 and reducing to zero

  2. Match total for Team B starting at 3 and reducing to zero

  3. Match total for Players at 5 reducing to 2

These ‘Match total’ rules allow an individual player to search for ‘Team A’, ‘Team B’ or as wild. Parties of 3 must search as ‘Team B’. Parties of 2 can search as ‘Team A’ or ‘Team B’, but not wild. The reason parties of 2 cannot search as wild is because they might be matched with a single player on ‘Team A’ and 2 players on team ‘Team B’ resulting in them being placed in a match where the party would have to be split across the teams.

Using the standard/team matchmaking rules is there anyway we can improve our matchmaking to allow parties to search as wild and to be matched onto the same team?

Thanks,

Phil.

Matchmaking
1 comment
10 |1200

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

Phil Woods avatar image Phil Woods commented ·

Just for clarity, we have additional 'Match Total' rules to prevent a result where Team A has no players and Team B has no players, but that's been left out the example so we can focus on the main issue.

0 Likes 0 ·
Gosen Gao avatar image
Gosen Gao answered

Ok, I get it. I think the following combination "A+[W+W]+[W+W]" might also be an issue. Since this issue only occurs when the ticket has 2 members and they want to match as wild, I think setting a random value of A or B for such tickets should be able to avoid this issue. For example, randomly change [W+W] to [A+A] or [B+B], "A+B+B+[W+W]" will become "A+B+B+[B+B]" or "A+B+B+[A+A]", they won't match together, so there won't be a problem.

1 comment
10 |1200

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

Phil Woods avatar image Phil Woods commented ·

Yeah, there are other combinations that don't work. Our game uses a larger range of players, per team, than given in the example so we have more edges cases.

We are using that workaround, randomly choosing a team on the client for a party's team, but we are trying to find a better solution.

We just thought to do a forum post, in case there was something obvious that we had missed.

0 Likes 0 ·
Gosen Gao avatar image
Gosen Gao answered

Based on your description, your requirement “Parties of 2 can search as ‘Team A’ or ‘Team B’, but not wild” should be supported by default. Matchmakinging is based on ticket as the smallest unit, if players create a ticket with 2 members, they won’t be split to 2 different teams. You can use Matchmaking - Join Matchmaking Ticket - REST API (PlayFab Multiplayer) | Microsoft Learn to join a ticket.

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.

Phil Woods avatar image Phil Woods commented ·

Sorry, I didn't explain clearly enough, it is a requirement for parties to search as wild.

I was trying to explain why searching as wild, for a party doesn't work with the configuration we have.

For the example configuration, if the following players search: individual searching for Team A, 2 individuals searching for Team B, party of 2 searching as wild. Then they will be matched together, the total rule for Team A gives 1 which is within the range of 0-2, the total rule for Team B is 2 which is within the range of 0-3, the total rule for the players is 5 which is within the range of 2-5. The matched players will have 1 space on Team A and one space on Team B, the party which searched as wild would then be split across the teams.

0 Likes 0 ·
Gosen Gao avatar image Gosen Gao Phil Woods commented ·

Sorry for the misunderstanding. If you want parties to search wild, don't configure any teams for this queue, as team configuration can be determined by player attributes. For the case you mentioned, the queue needs 5 players, A ranges from 0 to 2, and B ranges from 0 to 3. These 5 players are "A+B+B+W+W", they will be matched together. You can split party of 2W into separate teams using the game server.

0 Likes 0 ·
Phil Woods avatar image Phil Woods Gosen Gao commented ·

The issue is that "A+B+B+W+W" will be matched, but Team A only has space for 1 and Team B only has space for 1. So the party which searched as wild is going to split across the teams which is what we are trying to avoid.

If we use the terminology of a party using square brackets, e.g. a wild party of 2 is represented as [W+W], then

  • "A+B+B+W+W" -> valid result as there is a space on each team to put the wilds

  • "A+A+B+[W+W]" -> valid result as there is a space on team B for the wild party

  • "B+B+B+[W+W]" -> valid result as there is a space on team A for the wild party

  • "A+B+B+[W+W]" -> invalid result as there isn't space for the party on either team

0 Likes 0 ·
Phil Woods avatar image
Phil Woods answered

We are using the workaround discussed in the answers, but isn't ideal.

I believe the following feature request is what we would need, the option to select a preferred team:

https://community.playfab.com/idea/42845/matchmaking-with-preferred-team.html

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.