Saturday, February 18, 2012

Match making in Starcraft 2

I have noticed a few things while laddering in Starcraft 2 that I'd like to talk about.  First, for the uninitiated, Starcraft 2 match making tries its best to give you opponents who are on your level based on a hidden stat called "Match Made Ranking" or MMR (I'm not actually sure what the second "M" stands for, but I've always said it "made" so whatever).  Your MMR is similar to the Elo system designed to rank chess players.  Here's the wikipedia article on Elo if you are staring blankly at that last sentence. Basically, it's a system that should be able to figure out the odds of a player winning a match.  The ideal scenario is to have a 50/50 chance of winning every game, but that's where things get funny.





When you win against someone who's got the exact same MMR as you do, your MMR moves slightly higher.  When you win against someone who's MMR is higher than yours, you get a bigger increase in MMR.  And, as I'm sure you've figured out by now, if you win against someone who's MMR is lower than yours you get a small gain in MMR (or no gain at all) because the system sees it as "yeah, he was supposed to win, so what?"

In Starcraft 2 you are told who's favored in the pregame loading screen.  You'll see a bar on top that says either even match, slightly favored, or favored.  Now, when there are a few hundred thousand players on the server at once you'd expect your matches to be even or slightly one way or the other and for the most part they are.  The problem that I've run into is that if you win vs slightly favored opponents a few times in a row you get thrown into matches that are simply over your head.  Those matches are vs favored or slightly favored opponents who the match maker figured you'd lose to anyways, so it doesn't really change how you're rated.  Your MMR doesn't move, and you end up going through these HUGE swings where you'll win 10 in a row and then lose 15 before you start winning again.  My magic number seems to be once I'm in the 4 to 6 win area I end up losing 7 in a row.  It's like clockwork and it's frustrating as hell.

I believe the match maker in Starcraft 2 does not put nearly enough weight on losses and is too quick to put you into matches with people who are far better than you are without warning or benefit.

For example, yesterday I won my placement match for season 6, lost my first game in gold vs another gold player, then won 4 in a row, lost one, then won 2 more.  So at that point I was 6 and 2 in matches with points associated and 7 and 2 overall.  My next 3 matches were vs Platinum level players and I got smashed.  The next 4 were a mix of high rated gold players and a #1 ranked silver player who all beat me up pretty good (that silver one hurt too... mass immortals... really?)  I ended the night 12 and 13.  Sure, that's about as close to 50/50 as you can get, but it sure didn't feel like it.

The part that drives me crazy is that I'm now 9 games into a new season where the match maker said "you are a gold level player" yet I'm playing platinum players.  Why?  Didn't you just tell me you knew where I belong?  I play enough where the match maker should have a good idea where I belong, but on day one, hour 3 or so I'm already playing above my league.

This would be fine if wasn't for the league system.  I'd love to be in Platinum, but I'm not.  I can play vs Platinum players all day every day, but it doesn't matter because I've got a gold seal next to my name.  What's the difference what league you're in if you're going to play people from the leagues around you?  I actually made a friend on the ladder who was silver while I was #1 ranked gold.  He asked me right off the bat what league I was in, I told him, and we played our game.  When it was over he freaked out in frustration that he's been playing gold players for weeks and hasn't been promoted to gold.  He was sitting on 700 ladder points in silver league but hadn't played a single silver player in days.  He even got matched against some Platinum league players who destroyed him.  He was so mad he lashed out at me and when we started talking it became clear that he was just another victim of the way Blizzard treats players who are on the verge of being promoted.

He was promoted later that same night with something like 750 ladder points and thanked me for encouraging him to just keep laddering.  I now practice my TvT with him whenever we're both free.

Let's back up a little bit here.  Blizzard feels like your matches should be based on MMR more than league so that you get good competitive games regardless of what league you're in.  They promote you based on a moving average of your MMR, ladder points, etc which takes into consideration days where you're playing above or below your normal level to avoid too many league changes.  This avoids the situation where you have someone who's raised his skill level and is no longer a fair match for people in his own league but is still getting matched with them.  That would create an "un-fun" match up for the guy who belongs in silver but his opponent belongs in gold (but still has the silver seal).

The current system rewards people for being consistent.  What I mean by that is if you play at the same level all the time you get matched with people on your level all the time.  It doesn't punish you for being in a "transitional league" in the middle of the pack.  The match maker just keeps giving you people on your level to play and you should win 50% of the time... in theory.  What this system punishes is people stepping up their game and becoming a better player.  It holds you back by not allowing you to freely gain ladder points by playing against lesser players in your league.  It forces these players to play against people on their new found skill level without the prestige of being promoted until they prove they can play at that level long term.  In the mean time they should hit an equilibrium in ladder points where they are 50/50 and not gaining points very quickly... which means no promotion... by playing vs players in a higher league (like I did last night going 12/13 with about half my losses coming from Platinum league players.)

I know this theory has holes all over it because if everyone who wins more than they lose gets matched against higher league players than ladder points among the top 8 players in your division should all be earned in matches above their league, but even that seems odd.  How is the race for #1 in bronze a real race if the top 25 or so players are playing vs silver league players on a daily basis?  Wouldn't that be a silver league race for ladder points?

I've been "in transition" for the past few seasons where I've been studying hard and practicing as much as I can, so I may be a bit biased on this, but I feel like Blizzard should cap who you can play to your own league MOST of the time.  You shouldn't be able to win 3 in a row and then play people a league ahead of you.  You should be forced to play other players in your league.  With how common it is to have players on the top of their league and working towards a promotion there should be plenty of similar players to play for an even match.

I believe it all comes down to how MMR/Elo works when it comes to predicting the win.  If it thinks you'll lose and you win you end up in an odd place where it's easier to go up in MMR than go down... so you have to lose a LOT before you find people who are on your level again.  Again, for me that's at 6 or so wins I end up losing 7 before I go back to 50/50.  The math works out, but it sure doesn't feel good to be so streaky.

What do you think?

2 comments:

Klaw said...

I see what you mean and I do agree with you but if you beats some one that is favoured then you get much more points so it kinda evens the system out.
I just did my placement match against a bronze and I lost but I moved up from bronze to silver,but he didn't even having beaten me and I am sure he was favoured or slightly so I truly don't understand it but I hope you get to plat
And remember a big point of starcraft is losing.
-Klaw

NJX70 said...

First off, thanks for checking out my blog, Klaw. I know what you're saying and you're right. If everyone is treated the same then it's fair. I agree. The only thing I've been experiencing as a player who moves around from league to league pretty frequently is that I end up playing most of my matches out of my league which feels wrong. When I was struggling in silver I played all bronze players. When I was dominating in gold I was playing platinum players. I just feel like it would be more satisfying to play vs players in your own league until you're promoted, but I'm not a professional match maker and have no idea what goes into it. I just know it's hard to see "even match," lose, and see he's top 8 in platinum.