In case folks were following along...
As it turns out, using brainCloud's Lobby System (which implements our Online Matchmaking) was the correct solution for @Alessio-Falsetti .
His team had initially rejected it because they thought it only implemented old-style lobbies - where the user picks a lobby to join. And to be fair - we do support that sort of operation - via the GetLobbyInstances() call.
That said - the much more common way of using Lobbies is via the FindOrCreateLobby() call - which automatically creates a lobby for you if a suitable one isn't already available.
So - to implement their use case, Alessio's team:
- Configured a 1v1 lobby that has No Server associated with it.
- The lobby is configured to automatically Disband on Start
- The owner of the lobby catches the
STARTING
event - and initiates a AsyncMatch game with the other player in the lobby - presumably via the CreateMatchWithInitialTurn() call <- I'm just guessing there ![:) 🙂](https://forums.getbraincloud.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=97ramm8ajhq)
- And because our AsyncMatch service supports RTT events to notify players it is their turn, the two players can participate in a light real-time match without the cost of hosted servers!
I hope that helps to clarify things. @Alessio-Falsetti feel free to add any helpful tips I have missed - or correct me if I got something wrong!
Paul.
(Edit - updated to say it's the STARTING
event that is being used to trigger the start of the AsyncMatch - not the ROOM_ASSIGNED
event that I had originally mentioned)