Matchmaker Matchmaker Make Me a Match

4.12.2022

Details on a completely revamped matchmaking system that will change your Splitgate experience for the better.

Hey folks, BeefNoodles here! Let’s talk about Unranked matchmaking and bots (I hope to talk about Ranked matchmaking in a future update – but there are some improvements happening there, too!).

But first, let’s clear up some misconceptions. We don’t like bots. Outside of the new player experience, we don’t intentionally match you with bots and we know the game is a heck of a lot more fun when you play with real players. We want bots gone.

So why are there so many bots? 

The TLDR is that the problem is mostly a technical one. 

Our current matchmaker is forgetful and slow. When you first start matchmaking, the matchmaker will try to put you into a really good match. If it finds enough people similar to you (similar skill, similar ping, etc) then it packages you all together and starts the match. But what if it found seven out of eight people? Since you just started queuing, it doesn’t make the match because it’s not “good enough,” and instead relaxes how good of a match you are allowed to get. So it tries again, and for this next iteration, you will be allowed to match with people with less similar skill, less similar ping, and you only need, say, six-of-eight players instead of the initial requirement of eight. 

You might expect this matching process to be iterative, taking what the system learned the first attempt and just adding or adapting to the next attempt. Nope, matchmaker completely forgot about prior potential matches, and will make you wait before trying to find you a whole new match. Even worse, in the next attempt to find you a match, some of the people you previously matched with have now matched with other people instead of you! This leaves you with fewer than six potential players by the time you are considered again, and you fail to find a match again.

“How long does each iteration take?” you might ask. Way too long. Remember, this matchmaker is slow – single threaded in fact, and there are a lot of people queuing at the same time. So if you fail to find a match even a couple of times, you could be waiting well over a minute. Because matchmaker is slow, and we don’t want too many people sitting in the queue slowing down matchmaker even more, we have to start matches after just a couple of failed attempts. This means you might be playing against maybe one or two humans or maybe even all bots in the worst case. And remember - we don’t want you playing against bots! So for us, this is the worst possible scenario that we have been living with for a while now.

All of this means that if you are not part of the “pack” you get left behind in the current matchmaker. The players in the “pack” will continue to match quickly with each other, since they are all very similar, and you will be left behind each iteration until we are forced to just start your match. This is why you may hear players complaining that they only play against bots, while others claim they play against humans very consistently. 

So what are we doing about it? 

REWRITING THE WHOLE DARNED THING. In fact we are overhauling our entire backend – an enormous investment – specifically because we want an amazing matchmaker that is fast and scalable enough to give our players great matches.

The new matchmaker is like an elephant: It never forgets. If it finds some people that would be a good fit for you to match with, it saves you all as a group to match with other players later. This removes the current scenario where the matchmaker is continually resetting, which makes it take longer and lowers the chances of you matching with seven other players. It also means you are less likely to match with a large number of players that are completely different MMR (matchmaking rating) and ping from you.

But the new matchmaker is also a cheetah: It is fast and scalable. We can scale out multiple matchmaking workers to help process more players at once if the current workers are getting overloaded. This means that we can process many more matchmaking iterations per player, so you have more chances to match with other players. Also, since the matchmaker is more scalable, we don’t have to start matches as fast as possible, so we can let players sit in the matchmaking queue a little longer in order to help them get more real players in their matches.

It’s also a bit like the Bionic Man: The new matchmaker is much more configurable. There are a million parameters that we can tweak to strike the right balance between getting matches quickly and getting good matches. Right out of the gate, the new matchmaker might not have that balance correct, but it is very easy for us to quickly adapt it based on data and player feedback. 

So what does the future bring?

1. We need to launch the new backend and make sure we work out any kinks. It’s not easy to completely swap out an entire backend for a game that has had many millions of players and a few years of feature development. We expect to launch this in the next few weeks.

2. We need to look at the data, listen to feedback, and tweak the matchmaker to make sure that bot problems due to technical limitations are a thing of the past. After this cutover, there will still be bots if players leave right before or during a match, but it will be much better than it currently is.

3. There is still some technical work needed to be done. The matchmaker is much more scalable than the current matchmaker, but it isn’t anywhere near where it will be. There are a few more pieces of work left to implement before this baby can scale to hundreds of thousands (and eventually millions of players) without having to sacrifice the quality of matches created.

Given the sheer amount of code that is about to be swapped out, we do expect this update to be a rocky one. We have internal testing teams and we have automated mass testing, but it pales in comparison to all the bugs our playbase is able to find. We humbly ask for your patience during this rollout, and we could really use your help and feedback to quickly fix any issues. Thank you for being such an amazing community. It really makes the long hours we work worth it.

There are many other things that the matchmaker does to try to prevent bots, and there are many other matchmaking related topics that I don’t have time to dive into here, but I hope to cover them soon.

Anyway, I hope this was interesting. I’ll see you all in game, on Reddit, and Discord.

Cheers,

BeefNoodles

(Head of Backend Engineering)