Matchmaking for singleplayer match with bots


I am new to GameLift and still learning the system but I managed to get my game up and running and very happy with the results so far. What I was wondering how to do now is how to set up matchmaking in a way that, if certain time elapses and no players are found, a match is started with bots instead.

My game already has bots implemented, and the game server simulates the bots and I’ve been using this for a long time for testing, however, my attempts so far at the matchmaking ruleset have not yielded what I expected.

My latest ruleset attempt I tried this:
“expansions”: [{
“target”: “rules[FairTeamSkill].maxDistance”,
“steps”: [{
“waitTimeSeconds”: 4,
“value”: 50
}, {
“waitTimeSeconds”: 7,
“value”: 100
}, {
“target”: “teams[team_2].minPlayers”,
“steps”: [{
“waitTimeSeconds”: 10,
“value”: 0

In the hopes that after 10 seconds, since team_2 would accept 0 players as minPlayers, a match would be started. Maybe I am being naive here lol but not sure what else to try. For clarity, for now my game is just 1v1, so my intention is if no player is found, just start a “multiplayer match” with a bot. I could implement this on the client side obviously, and that might be the best solution in the end, by waiting X seconds, then cancelling the ticket and starting a single player match as if it was a multiplayer match, but I would rather do it on the server so I can do all reward calculation, requests to rest server and what not, from a safer environment.

Is there a way to achieve this?

Thanks for the attention,

How have you defined FairTeamSkill? Using the example here:

I am assuming you may be using avg in which case this may not work, see average attribute of empty team

Theres a suggested work around here: FlexMatch ruleset for starting a game session with a single player

1 Like

Hi Pip, yes, I was using the example you mentioned. Checked out your link and that is exactly what I was looking for, thank you very much! It worked!