Async match without opponent
-
Hi,
I am looking to replicate the functionality of match making in services like Apples Game Center, where by a user can create a new game, a check is done to see if there is anyone that has already started a match and submitted a move, and if that match has no opponent, it puts the new user in. At present in the brainCloud documents, it seems a match can only be created if you know the details of the opponent you want to start a match against.
What would be the best patter to mimic this behaviour within BC (using unity)
-
Hi,
brainCloud currently offers two forms of matchmaking:
Offline matchmaking - for async match (i.e. words with friends) or one-way multiplayer (i.e. class of clans) style games. Both of those multiplayer types require you to have an opponent to play against when the match starts.
There is also online matchmaking - which uses our lobby system - which is suitable of any online / real-time sort of multiplayer.
(That one doesn't require you to have an opponent in mind when the lobby starts... and the lobby can start a match via a relay or room server session right away...)
That said - I get the feeling that you are talking about more of an async match scenario (i.e. not-necessarily-online multiplayer) - where the match can start before an opponent has been identified.
Am I correct that that is the scenario you are wanting to target?
It's an interesting approach - as there's a much lower chance of matching against another player who isn't going to respond in a timely manner.
Let me know if I've got the scenario right and we'll give it some more thought...
Paul.
-
Hi Paul,
I faced similar situation where I implemented an async game where a user could create a lobby (custom entitiy) with X number of user slots and start the game right away, submit its side of moves (all in a single go or one by one/turn based) and then wait for other users to fill those slots by submitting their turns.
An official support'd b really great.
-
I see - clever Ali.
So basically the matchmaking was a custom implementation using custom entities.
I assume once all players had been decided the last player in ended up creating the async match and then it went from there?
And agreed - sounds like a good use case to add to our list.
Paul.
-
@Paul-Winterhalder said in Async match without opponent:
Hi,
brainCloud currently offers two forms of matchmaking:
Offline matchmaking - for async match (i.e. words with friends) or one-way multiplayer (i.e. class of clans) style games. Both of those multiplayer types require you to have an opponent to play against when the match starts.
There is also online matchmaking - which uses our lobby system - which is suitable of any online / real-time sort of multiplayer.
(That one doesn't require you to have an opponent in mind when the lobby starts... and the lobby can start a match via a relay or room server session right away...)
That said - I get the feeling that you are talking about more of an async match scenario (i.e. not-necessarily-online multiplayer) - where the match can start before an opponent has been identified.
Am I correct that that is the scenario you are wanting to target?
It's an interesting approach - as there's a much lower chance of matching against another player who isn't going to respond in a timely manner.
Let me know if I've got the scenario right and we'll give it some more thought...
Paul.
Hi Paul,
Yes, you are correct. When a user starts a new game, it'd essentially see if someone has already started a game but has no opponent, If a match is found the second player will be added to the game and can then make their move. If no match is found that is awaiting a player, it'll create a new game, let player 1 make their move and then go "dormant" until a player two is ready.
If you have ever used the turn based aspect of Apples Game Center turn based service, this is essentially how that works.
-
Also looking for this type of functionality, so id +1 this feature request