question

Benjamin Golinvaux avatar image
Benjamin Golinvaux asked

Team selection and matchmaking in 3v3 matches

Hello,

I am trying to determine the easiest way to use matchmaking in a 3v3 match where players choose their team beforehand.

I have read this post:

https://community.playfab.com/questions/49753/matchmaking-team-selection.html

that suggests having an attribute that is "100" for team A and "1" for team B and requiring a total of 303 (in my 3v3 case). That is ok and a good solution.

However, my situation is (I think) slightly different : members of Team A meet in a pre-match Lobby (where I am using PlayFab party), they do not know yet about the team they will play against, and the matchmaking only needs to put two teams together, but each team knows about its members.

In that case, can both team leaders of A and B create a "group ticket" that can matchmake them together?

Is this what the MembersToMatchWith parameters of the CreateMatchmakingTicket is for?

If Team A leader calls CreateMatchmakingTicket supplying his buddies in MembersToMatchWith, and Team B leader does the same on his side, do I still need the "303 match total rule" ?

It's a bit unclear, sorry.

Thanks in advance!

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.

Seth Du avatar image
Seth Du answered

Since you already use Party and members in the team can share information instantly. I believe you may not need match total rule that described in the thread you have referred.

Besides of basic rules like skills ranks, I believe you may define match size as 6 to 6, and 2 team with solid team size, for example, 3 to 3. While when CreateMatchmakingTicket API is called by one of the team members, the client should fill in the MembersToMatchWith property with the rest 2 players’ information. Party can inform these 2 players that the match begins and share the ticket and queue name so that the client will automatically call JoinMatchmakingTicket API call.

10 |1200

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

Benjamin Golinvaux avatar image
Benjamin Golinvaux answered

If you don't mind, may I summarize if the steps that I outline below sound good?

My initial plan:

Many groups of three players meet in separate party networks. Every team of 3 can communicate but they don't know the other teams.

They have some attributes (skill level, for instance) and want to find another team of 3 people to play against, with a max absolute difference in skill level.

First, and once, I create manually a queue with hard sizes of match:6 to 6 and team: of 3 to 3 + a constraint on region (our game requires low latency) and skill difference. I configure this queue to allow it to spawn MultiPlayer Servers.

Team A leader (A0) calls CreateMatchMakingTicket() on this queue with her playerId , and the IDs of the other Team A members A1 and A2 in `MembersToMatchWith`

A0 receives the ticket ID and starts polling GetMatchmakingTicket for the status, every 6sec or so, while A1 and A2 call JoinMatchMakingTicketRequest with required stuff, including ticket ID

Meanwhile, many other potential Team B do the same, and B0, a party leader, also calls CreateMatchMakingTicket() containing B1 and B2 as `MembersToMatchWith`

B0 receives the ticket ID and also starts polling and B1 and B2 also join the ticket.

Then PlayFab finds that these tickets issued by A0 and B0 are a nice match and GetMatchmakingTicket returns "Matched". In that case, they ALL (the six of them) call GetMatch, retrieve the dedicated server IP:PORT and travel to the server (in UE lingo) (I believe I am wrong at that particular point)

I am bit confused by your suggestion of CreateServerBackfillTicket.

Instead of the plan above, do you suggest that Team A launches a server that would call CreateServerBackfillTicket? How can a server be allocated if the match size is 6 and only 3 players are there?

Sorry, I seem to lack the info needed to fully understand what you are suggesting.

Thanks a lot in advance!

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.

Seth Du avatar image Seth Du ♦ commented ·

Ah, sorry about the wrong API. Please use the normal CreateMatchmakingTicket instead of CreateServerBackfillTicket. I paste the name by mistake.

I think you are on the right track, you may also consider using 'Team difference rules' to ensure the match is fair.

1 Like 1 ·

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.