Sign In Register

How can we help you today?

Start a new topic
Answered

Matchmaking over very long periods

I'm wondering if there is a built-in way to support matches with people who are currently offline.


My use case doesn't require both sides to be online for a match to be a success.  I wanted the users to be able to subscribe to a 'matching pool' of interested parties based on in-game criteria (e.g. level, skills, virtual goods possessed) and after that other users would be able to be matched with them even if the original player isn't currently online.


Is the matchmaking system a good fit for this use case or should I be investigating something else?


Possibly related:

https://support.gamesparks.net/support/discussions/topics/1000050713

https://support.gamesparks.net/support/discussions/topics/1000074183


Best Answer

Sorry Matt, my mistake.

That's not a bug. That is the limit.

The turn based challenge tutorial is your best bet with how to approach this.


Thanks.


Hi Matt,


The first thread you linked is a great way to keep track of custom data like this, though for matches we have implemented a dedicated Matchmaking system since then.

You can check here and here.


There is a good tutorial on creating turn based challenges here


Thanks,


Oisin

Hey Oisin, thanks for the quick reply.


A couple clarifications if you would:


  1. When you say Matchmaking in the context of the GameSparks system are you implying a synchronous-only event flow? i.e. Player 1 through Player n must send a MatchmakingRequest within the Period specified in the Match Threshold in order for a match to be found.
  2. When you say Challenge is it implied that the challengers know one another? i.e. As I currently understand, a player can't issue a 'challenge to all comers,' s/he needs to challenge a friend who is also playing the game.

Hi Matt,


1.Yes, though you can set whatever threshold you wish.

2.You can set a challenge to Public if you want to challenge strangers.


Thanks,


Oisin

1. It seems I'm limited to <=60s for thresholds.  Is that a bug?

Answer

Sorry Matt, my mistake.

That's not a bug. That is the limit.

The turn based challenge tutorial is your best bet with how to approach this.


Thanks.

Ok, thanks for the help!

I am trying to create an ansynchronous turn-based game that basically works like chess or words with friends where a player can start a game against a random opponent but can take their turn at any time as long as the turn is made in a time limit of 1 week for example. When a player attempts to find a random match they will either make the 1st move and then wait for another player to get matched to that game or get matched into a game where the 1st move is already made and then make the 2nd move. The actual matchmaking should be based on skill level or other criteria.


I want to matchmaking to work similar to the Heartstone example but the actual mechanics of the matching to work like the turn based challenge tutorial. In the heartstone example it feels as though the expectation is that both players are online during the matchmaking and for the turn based challenge tutorial, I am not sure how to make that work with random skill based matching.


Is this possible and any advice on how to do this?


1 person likes this

I wanted to follow up and confirm if matchmaking will work for my use case. Does matchmaking require both players to be online? Also, does matchmaking require a threshold to be set with a maximum value of 3600 seconds?


Finally, if matchmaking wont for random asynchronous matches because of these limitations, is the only alternative to use FindChallengeRequest and implement my own matchmaking based on the list of challenges returned?


Even, if FindChallengeRequest would work, I want to find a way to implement the different matchmaking thresholds that I would have when using MatchmakingRequest without falling back on somehow scheduling another script to run if a challenge isnt found.


1 person likes this
Login to post a comment