Ok. so There doesnt seem to be a way to *cancel* a MatchMaking request..
My game is an online pvp 1v1 game. So I want people to look for a match and be matched as soon as possible and start the game. So as soon as a match is found I start the game.
Because of that I cannot set the threshold time very long. Eg If I set it for 40 seconds, then a person could make the request and then stop seeking a match before the 40 seconds is over, then another person could seek a match and they'd be matched with someone no longer seeking one.
To get around this I have my threshold set for 3 seconds. Every three seconds when I get a match not found response I make another matchmaking request. If the player wants to quit the seeking match screen, it waits until it gets another negative response to quit.
So, this has been working fine..
Except now I have introduced the concept of skill. It would be good for players of the closest possible skill level to be matched together, except, because of the above I cannot set any threshold longer than 3 seconds, so I cant really implement different thresholds as described in the docs.
I would recommend that rather than repeatedly re-initiating a very short match you configure your match to have multiple, longer thresholds using relative values for skill. For example:
A player can cancel their matchmaking at any time by sending another MatchmakingRequest with the same shortCode and matchGroup and adding an extra field - "action":"cancel".
Try this out and let us know how it works for you.
Hi Vinnie.. Being able to cancel a matchmaking request is very very useful.. Its something I've really wanted to do.. Though I pored over the docs and did not find out how to..
Is that documented? Perhaps I missed it.. If not, I'd recommend adding it..
What I ended up doing was setting the time time to 3600 and logging out and logging in to cancel matchmaking requests.
I'm gonna start building a new more comprehensive lobby system now, so I'll probably have a few more questions soon.
You can cancel their matchmaking at any time by sending another MatchmakingRequest with the same shortCode and matchGroup and adding an extra field - "action":"cancel". For example, if your initial request looked like this:
You would send another request like the following to cancel:
Yep I missed it, duh! Tx!
One thing I think would be really really useful for people in my situation would be a tutorial showing how to set up matchmaking with the classic host / join paradigm..
Someone hosts a match.
All players can see all hosted matches.
A player can join that match.
When its full and everyones happy, the host launches it and people can no longer see it or join.
I found setting up the automated matchmaking to be a breeze and your tutorial for it is fantastic.. But Ive found using your matchmaking system to achieve this very basic kind of matchmaking to be quite tricky.
Hey I've been working on this today: Making a host/join lobby for an arbitrary number of players.
Seems to be going ok so far.
this is my match
So host sends matchmaking request...
then a player searching for a match will make the same request, and then call FindPendingMatchesRequest to get a list of hosted matches..
and then JoinPendingMatchRequest to join it...
When one other player joins, Matchfound will be called for the host and the 1st player and the RT session will start.
They can then txt chat in the lobby using RT packets.
Subsequent players can still find the match as pending and join it... When they join matchfound will be called immediately for them, and they will join the RT session.
When the host launches the game he cancels the matchmaking request using the method u told me...
Seems to be working
One thing I'd like to do tho.. that I havent figured out yet... Is to have the host update the MatchInfo at any point during this process, either before or after the 1st non-host player joins... so the thumbnail of the map will update for players searching, if the host changes it.
How do I do that? Thanks!