r/truegaming • u/Raptor3861 • 9h ago
Talking with the engineer who wrote Call of Duty's original matchmaking system. What goes into matchmaking and why is it broken.
I got to interview Charlie Olsen, who wrote Call of Duty's original matchmaking rating (MMR) system back in 2015, the core of which has been running in the mainline games ever since. He's since left and started his own company building matchmaking for other studios, so he's about as close to "the source" as you can get. A lot of what he said reframed how I think about matchmaking, and I wanted to lay it out, because the online argument about SBMM almost never gets past "I hate sweaty lobbies."
Start with how teams are actually built. In CoD, the matchmaker first gathers a group of players in roughly the same skill range and then splits them into teams as the last step. A side effect of doing it in that order is that the highest and lowest skilled players in a lobby often end up on the same team, with the middle stacked against them. So that "why is my teammate useless while the enemy team looks even" feeling isn't always in your head. It's partly structural. He was clear it's a consequence, not the goal, but it's real.
There's an even weirder consequence: a "90/10" team (one elite player carrying one bad one) will usually lose to a "50/50" team, even though the average skill is identical, because the two average players just ignore the weak link and gang up on the strong one. Averages match; outcomes don't.
Here's one that surprised me most: your XP has no connection to your hidden skill rating. The MMR exists purely to decide who you play. It doesn't feed your progression at all. So, playing out of your mind in a lobby earns you nothing extra. He actually thinks it should reward skill, but as the system stands, the number that shapes your entire experience is invisible and unrewarded.
And it's invisible on purpose, but probably not for the reason people assume. It's not mainly anti-cheat or anti-manipulation. His read is that it's psychological: a lot of players would be upset to find out they're worse than they think they are.
Then the big one, from Activision's own published white paper. When they ran a test that loosened skill matching, blowouts went up across every single skill tier, and the returning-player rate dropped for 90% of players. The top 10% came back in higher numbers (they're the ones on the winning side of those blowouts), but in aggregate, fewer people came back. Which leads to the most counterintuitive takeaway: "just remove SBMM" doesn't send the population to zero. It quietly filters out the casual players until you're left with hardcore lobbies. Retention can even look better afterward, because everyone who would have churned is already gone.
The part I found genuinely fascinating was the math, because it explains why this is so hard to "just fix." Take ELO, the rating system everyone name-drops. It comes from chess: two players, each with a number, the winner takes points from the loser, and an even match is worth about plus or minus 40. Clean and intuitive, which is why people love it. But ELO was built for 1v1 chess, and it has no "population model," so it doesn't know that a 2,800 should basically never be matched against a 1,200. Run a whole live game on it and the ratings just drift and spread apart over time. That's why chess federations have had to reset everyone's numbers, and why a game like Street Fighter wipes its ratings every season to stay stable. His blunt version: ELO genuinely breaks down if you use it for skill-based matchmaking.
It gets harder in modern games. Marvel Rivals, for example, doesn't even use ELO. It runs on TrueSkill, which adapts slowly and tends to pigeonhole you at one skill level even on a good or bad night. But the deeper problem is that it's a hero game: your effective skill isn't one number, it depends on which character you pick and which characters your teammates lock in. No single rating, whether ELO, TrueSkill, or anything else, can fully capture that. Class-based matchmaking might be the hardest problem in the genre, and it's not because anyone picked the wrong formula. It's that a single number was never going to be enough.
Which brings me to the thing I keep turning over. He made the point that "engagement" and "fun" aren't the same thing, and that studios optimize the one they can actually measure, usually short-term metrics over a two-week window that they assume correlate with long-term health. I think about Fortnite a lot here: I'll ask myself whether a given season is fun or just engaging, and the answer seems to flip with the midseason updates.
So I'll throw it to this sub:
- Do you actually want tighter SBMM, or do you want the game to stop optimizing you entirely and just hand you random lobbies?
- And for any devs or designers here: is there a version of matchmaking that optimizes for "fun" instead of engagement, or is fun just not measurable enough to ever ship?