question

Ozan Yilmaz avatar image
Ozan Yilmaz asked

What can I do with PlayFab Matchmaking?

Hello everyone,

I'm kind of rookie about connecting client together to create a platform for players to play the game Online. I know how to handle RPC functions etc. during gameplay, but I don't know the first step, how to connect the players together.

I asked a question about Matchmaking before and I was told that a lobby system is not possible with only PlayFab Matchmaking. I was wondering what I can do with PlayFab Matchmaking. Could someone give me some real world examples, so I can understand the system better?

10 |1200

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

1 Answer

·
Seth Du avatar image
Seth Du answered

Matchmaking provides a feature to match players in predefined conditions. Please note that the Matchmaking system can work independently of Multiplayer server.

Since the Multiplayer system of PlayFab is aimed at session based games, the typical samples in real-word is MOBA games like DOTA2, League of Legends. Consider a player creates a matchmaking ticket, PlayFab Matchmaking system will help him to find a match with any other players who also create the tickets currently, and also match the rules you have set in the matchmaking queue, for example, the rank number should be within a given maximum difference. The lobby system that PlayFab doesn’t support is more like a casino, the player can walk around in the lobby and select a table to join the game. Many games have a lobby like feature which somehow can be realized via workaround. For example, in PUBG, players are in fact, have finished the matchmaking process when they are pending in the playground.

If you have set up PlayFab Multiplayer server with auto-allocation enabled in the queue, when the tickets are matched, the server instance will be initialized and IP and port will be provided in the response of GetMatch API.

Meanwhile, in the server side, the server build will in “ready for player” state and wait for the connections from the player, and if the connected number doesn’t match the minimum requirement, the server can call CreateServerBackfillTicket to match more players. When the server is ready to start the game, it should broadcast the state information to all RPC connected clients, so the clients can start the game. Basically the process will be received actions from each player, process it then broadcast to other players. It depends on your game design.

2 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.

Ozan Yilmaz avatar image Ozan Yilmaz commented ·

I can understand better now. I have some further questions about the Matchmaking.

- What if a players creates a ticket and can't find any players? Will the player be alone in the lobby/game? If so, if another player creates the same type of ticket, do they get matched?

- Is there any option to match the players depending on their regions?

- Can I make "Invite your friend" feature by using PlayFab Matchmaking after the game is created?

0 Likes 0 ·
Seth Du avatar image Seth Du ♦ Ozan Yilmaz commented ·
  1. Whether players can match depends on the Rule in Queue configuration. It is also important to have an expansion for the rules to match more players as the time goes. Please refer to the sample scenario -- Skill based free-for-all game, with expansion, Customizing expansions, Expansion of number of players over time. It is not always matched with a same ticket, and in some scenario, a team will only have a team leader. Tickets from team leaders won't be matched on purpose with specific rule configuration.
  2. Yes. It can be done by Region Selection rule. Also, multiple rules are possible in a queue.
  3. When the game is created, I assume the server is initialized. In this case, the matchmaking is done. Please note that when a match is finished, there is no way to re-open it. You may let the server to create CreateServerBackfillTicket to match additional players. To invite a player, you may directly send the IP and port of server (and password for verification if necessary) to the player. When the new player is connected to the server, the server should verify this player.
0 Likes 0 ·

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.