Dawid Majdanik avatar image
Dawid Majdanik asked

What is the best way to provide co-op sessions?


I was wondering what is the best flow to provide co-op sessions in my game?

At this moment I am using RequestMultiplayerServer and players can play on server but I was thinking about using Matchmaking or Party to scale my game.

As I dived in I started to think that is a bit too much for my need but I also saw that RequestMultiplayerServer should not be allowed to use by clients and should be called using Azure Functions, so I think I have to choose one anyways.

My requirements are:

- matches of 2-4 players

- cross-platform support

- creating party and inviting friends

- game logic is calculated on player that created game(so I need server to send and recieve data between players)

There is no rank or any competetive type of the game.

My game flow is pretty simple:

1. Player creates new game with settings(eg. difficulty of AI)

2. Player invites friends/players to play with.

3. They are playing the game for how long they want.

At this point I don't see case where I need to use Matchmaking or Party API, but maybe I should?

Matchmaking provides me queueing players but in co-op case you usually end up with playing with friends or joining random games, which can be provided by Matchmaking, so as for now that is one case where I can use Matchmaking.

On the other side Party provides me cross-platform, local games and lot of functionalities I might use in future.

At this point I have no idea what to use and I would be very thankful for any suggestions or help.

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

tobias-nerg avatar image
tobias-nerg answered

I'm currently using PlayFab Party together with Mirror and Unity for our studio's upcoming Server Authoritative game. Party doesn't have any sense of "Client" or "Server", so you'd need a thin wrapper around party to make the clients talk only to the server (You can send messages to specific recipients).

From my own perspective Party is great at the cost of a bit more latency for server authoritative architectures because the data first needs to travel to the PlayFab node servers, and then to clients rather than straight to a dedicated server. I haven't done any calculations, but I imagine Party to be much cheaper than the dedicated server solution as well, and if you're targeting XBox Live party is completely free on Xbox consoles!

Is MatchMaking synonymous with the "Lobbies and Matchmaking API" that went to public preview a couple of days ago? All lobbies created can be found with the same API, and once you join a lobby you can provide the connection key to the Party Network as a lobby property as well. That's the most efficient development solution I have at the moment at least. The Lobby ID/Connection string can then be shared in e.g real presence implementations like Steam, Discord etc.

10 |1200

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

Gosen Gao avatar image Gosen Gao commented ·

As @Tobias Nerg says, PlayFab Lobby is now in public preview, and it suits your needs. Here is the official document, you can have a look.

1 Like 1 ·
Dawid Majdanik avatar image Dawid Majdanik Gosen Gao commented ·

@Tobias Nerg @Gosen Gao Thank you for your answers! Last time(it was exactly 03.22) I have found Lobby but it was in a private preview, I didn't know it is public now. I will check this out :)

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.