Algorithmic Handicapping (MMR) is Wrong for Overwatch

Blizzard has said multiple times that MMR is almost always fairly close to SR. The system even corrects for this at lower ranks by giving less SR loss and more SR gain when you perform well.

The system will also pit you against people of progressively higher SRs if you keep winning, and your SR jumps like crazy when that happens.

There is also self-correction involved because despite any other variable, if you are a higher skill level than your SR, you will win more matches than you lose.

You seem to think that there’s these people with like 1000 SR but 2000 MMR that are prepetually stuck, but that’s just not backed by any sort of evidence, and there’s plenty of evidence to the contrary.

7 Likes

The match making for OW does suck, especially as the team aspect is so integral for a fair match. It is only getting worse as people leave, a lot of which has to do with the crappy match making.

The 1v1 for SC2 was amazing, the team match making was flaming hot garbage. OW is suffering the exact same issues, except worse.

Do I think this is some conspiracy?

Hell no, it is just them trying to favor speed over precision, to a degree that did not work.

3 Likes

Every matchmaker has to make compromises for speed, including a 1v1 matchmaker. The reason team matchmaking is always messier than 1v1 matchmaking is because it’s just a much harder problem. The matchmaker has to infer your skill based on your influence over the outcome of the game, but you are only 1/6th of the team. In 1v1 every loss is your fault. In 6v6 a loss is only partially your fault, or maybe not your fault at all, but the matchmaker has no way of knowing that.

5 Likes

Yeah, and blizzard skewed in favor of speed too much, and the match making suffered. If OW was more casual friendly, where teamwork was not an absolute necessity, it would have been fine.

1 Like

Even if they took all the time in the world I don’t think the MMR is a perfect enough science that they could get you a balanced game every time. There’s just too much wiggle room, both in the accuracy of the team-based MMR and also the nature of the game where people play different heroes, get countered and don’t switch, etc. A one-trick who never switches could be very successful or completely useless depending entirely on whether they run up against an enemy team who counters them. The matchmaker is helpless to control for that. Even players who do switch might be switching to a character they’re not as skilled at and be playing at a lower level than their typical MMR for a particular game.

3 Likes

Most matchmakers use linear solvers.

You List variables, You put in a bunch of constraints, you set a cost function, and tell it to solve for minimum “cost”

Lets build a version of Overwatches matchmaker on paper.

We have a bunch of players, they have MMR (one value) and SR (another) for each role.

So, you build a list. Which player ID, Time they have been queueing (the pity timer), their MMR, their SR, and a bit set for Tank, DPS, or Support.

If they queue for two roles, they are added to the list twice.

so you get something which looks like…

id, sr, mmr, tank, support, dps, pitytimer, selected
1, 2200, 0.2564324, 1, 0, 0, 25, 0
...

This is a person, who has been queued for 25 seconds, for tank, with an SR of 2200, who is not selected for a game.

So you set up a dataset for all of them, and you tell it that you are going to have “selected” as your variable.

Then you add constraints.

// when you multiply if they are selected, and if they are 
// DPS for all of the dataset, and sum them up, the number has to be 2.

sum(selected .* dps) == 2  
sum(selected .* tank) == 2
sum(selected .* support) == 2
 
// you can't have SR for any one player too far from the average of the ones selected
avgNon0(sr .* selected) - sr > 1000 
avgNon0(sr .* selected) + sr < 1000 // ditto but in the other direction.

You put in a constraint, where they ID’s can’t show up more than once. (so someone doesn’t end up as Tank AND support in the same match).

Now you have possible games. So, you want it to pick the best of them.

// lower score = MMR being closest.
MMRCost = sqrt((avg(mmr)^2) * 6 - ( sum(mmr .* selected)^2)) 

// take pity on people who have been waiting longer, so make it so it "wants" to match them more.
TotalCost = -MMRCost -sum(pitytimer.* pittytimeScale) 

Min(totalcost) //tell it to minimise total cost.

and then it should have the selected players set… so filter for them, and you have a match IF the cost isn’t too awful.

And that is how matchmakers are typically written… You play around with the formula so they are either conics or linear lines. Sometimes you rerun it with more constrains if it pops a bad result to force it down another path (like for the ID constraint, you don’t try to set them up right away, you just ban a particular player from showing up twice and rerun, because speed).

That gives you MOST of what Blizzards matchmaker actually does right there.

If you want to play around with something like that, and you can code, then May I suggest you do it in Julia, and use their EXTREMELY good JuMP library for it. (https://jump.dev/)

I believe Blizzard wrote their own solver (which is REALLY insane), but that is Blizzard for you. Typically you just use Cbc (https://projects.coin-or.org/Cbc) or GLPK (https://www.gnu.org/software/glpk/)

I’ve written so many, I can basically rattle them off now :), but my first few took literally 8 months or so. They are a pretty specialist area of maths, as solvers tend to be.

I could throw an actual matchmaker together in Julia, if you want to play with one. They are not USUALLY written in Julia, but damn in Julia doesn’t make them easy to read and maintain (even if it gets unstable for “odd” reasons).

13 Likes

Something went wrong, WC3 and broodwar had better team match making than SC2 and overwatch.

1 Like

I think it is because Broodwar is simplier compared to SC2, and you don’t have a 6 player team aspect. which is what makes OW harder.

That OW is designed like a drinking game (because ult charge) it makes it feel more unbalanced as well.

6 players, and a drinking game like structure would be hard to make a game which “feels” fair.

Being fair, and feeling fair really are different things.

4 Likes

i still feel like games should grab 12 people by mmr OR SR, then put them on teams randomly.

very quickly, the carries will fall , and the matches will feel very balanced skill wise, due to the fact that you can have teams of 4+ carries. after a month this system would feel really fair and balanced.

i honestly think the interesting thought experiment is, would there be enough players above plat for people to attain gm. obviously the top one percent are still the best players in the world, but the rank gm is just a function of having enough in masters to get the SR and so on down.

1 Like

The reason someone is hardstuck is between the keyboard and the chair.

It’s significantly easier to match teams with a single “SR” value, treating all six members as equals. This is literally how competitive OW was originally designed, with teams entering the ladder as a true “pud to pro” climb that could end with a team going to tendies or OWL directly off the ladder.

The addition of solo queue, at the request of some brainlet who wanted to allow non-team players to play competitive OW, is why the SR system is insanely complicated and matchmaking gives you extremely odd result sometimes. It’s impossible for the algorithm to understand that someone is queueing up as a drunk Genji one-trick who just blazed a bowl and isn’t even playing their main, and match them accordingly.

2 Likes

When I first read this I thought OP was on high-proof copium, but after reading it again I’m more inclined to believe it.

2 Likes

Indeed. But people want pickup games. I think Overwatch should have a team tournament mode, and I think that would be a REALLY good thing overall.

But it would never be the primary mode.

OP is right, but I think he doesn’t know what it would look like without matchmaking. It would be a REALLY good arcade mode, and I think it would teach people WHY Blizzard does what they do, pretty quickly.

OP VERY much is not wrong, in what he is describing what is happening. But doesn’t get what the game would look like without it.

6 Likes

Pickup games is what quick play is for, though. If you want something toothier to tryhard in and have no rewards on the line, that’s what scrims are for.

Competitive, with rewards associated, should be the domain of people who intend to actually play it competitively. What’s the point of having competitive be quick play with a number that displays at the end?

1 Like

Even a pickup game mode should have a better match making than we currently have, which results in most games being completely one-sided.

Really, how often do you have an actual close fun match?

I am getting 1 in like 5 matches, and that is probably being generous.

1 Like

Not sure if it really were Microsoft first, I heard a similar thing about Ubisoft? I think… Idk, some other company that introduced it in 2015-2017 I may be wrong as to who or when it was, but definitely not Microsoft.

Also, hard to argue with “forced 50% wr” when it’s literally backed by legal documents lol.

1 Like

So, just to be clear, your sole piece of evidence for this is a patent that was credited to members of the CoD team in 2015 and isn’t actually related to Overwatch? I remember it took me literally 10 minutes of research to figure this out last time the patent was posted and apparently none of you had ever bothered to look before.

So, you don’t actually know that the Overwatch matchmaker matches on anything but ingame performance, as the developers have stated multiple times. But you’ve instead gone full conspiracy-nut and said that they place you into matches based on your household income. And democracy is at stake because your selection biased forum polls are being ignored? Spare me.

Take your tinfoil hat off and just play better. If you’d spent as much time practicing as you have writing conspiracy posts, you’d be out of silver by now.

18 Likes

How many times have you posted this now?

2 Likes

It’s why reporting it is perfectly valid as a response, as it’s been repeatedly duplicated and cross-posted between Comp and General multiple times. It’s the textbook definition of duplicate threads.

2 Likes

I agree, but random teams completely defeats the purpose of MMR. MMR is there to ensure that teams have equal proportions of skilled players on both sides. I think you are saying you want SR-based competition?

1 Like

Sir, this is a Wendy’s.

10 Likes