On Wednesday Greg Tito had a bit on the matchmaking in StarCraft II and how designer Rob Pardo is considering making the system “more inaccurate” when finding you an opponent. Currently, you ask Battle.net to find you a match, and it will seek out someone at your skill level and put you in a match with them. Pardo is suggesting the system should have some randomness so that occasionally you’ll face people a little above or below you.
The problem they’re up against is a big one. The average single player game divides players into the three tiers of “easy, normal, hard”. But in a complex competitive game against human beings, the delta between the levels of players can be massive. Newbie Allan won’t be able to win more than one in ten matches against casual player Betty. Betty will have a similar result against Carl. Carl won’t do better than one in ten against Expert Donna. Donna will have the same level of challenge against pro-level Evan. There are many orders of magnitude between the top and the bottom, and the game needs to let everyone find a game that they’ll enjoy. It isn’t fun to lose all the time. But the same goes for winning.
Back in 2002 or so I played competitive Unreal Tournament on an almost daily basis. That game had a global ranking system that kept track of not only your kills-to-death ratio, but also tracked the skill levels of your victims/killers. Killing a highly-ranked player would give you a nice boost to your ranking, while slaughtering players far below you would give you almost no benefit. Conversely, being killed by a top player wouldn’t hurt your standing nearly as much as being killed by someone below you. A system like this makes it very, very hard for people to reach and hold the topmost positions. If you want to hold one of those “top 100 players” slots, you don’t just need to play well, you need to routinely play well against other high-level players. It also gives you an incentive to avoid beating up on players below you, since you have a lot to lose and almost nothing to gain from the encounter. The system rewarded players that sought challenge and discouraged people from just pummeling newbies.
But the real beauty of the system was that you had control over where you played and who your opponents were. I found a server with some very highly ranked players on it, and made that place my home. It was brutal at first, with me sometimes scoring in the single digits while the top players would be in the triple digits. But I stuck with it, and after a couple of weeks I could see my scores and my ranking slowly improve. I was becoming a better player by pitting myself against far superior enemies. When I reached the point where I was occasionally topping the charts on that server, I knew I’d come a long way and earned my place. It was a tough climb, but it was something I was free to choose to do. I could have chosen a more gradual but less punishing path by seeking out players of my own level. Once in a while when I got frustrated, I’d do that.
I think it’s a mistake to create a system like the one proposed on Battle.net where you can only play against people of your own skill level. Over time, you’ll always win 50% of your matches. If you start to improve, the game will just find you harder opponents. No matter how good you get, you’ll still have basically the same experience. There won’t be easy or hard games. Pardo is thinking of making the system more “fuzzy”, so that you’ll occasionally face someone a few notches above or below you. That will make the game less monotonous, but I don’t think it will lead to more satisfying matches. It means a lot more to finally overcome a superior player who has beaten me the last ten games in a row than it does to beat some random name that’s ranked a few points above me, even if the two outcomes are statistically the same.
I think what Pardo is proposing will just make the game feel sort of arbitrary. What if I’m not in the mood for a tougher challenge tonight? What if I am, and the game hands me someone of lesser skill? That guy who just wiped the floor with you? Was that player way above you, or did you make a blunder? Did you just win because you’re improving as a player, or the matchmaker threw you a newbie? You can’t face that opponent again and find out, because they have vanished into the crowd and the game is going to give you another random name to play against.
The other thing that gets lost in the random matchmaking games is the sense of community. If you play with the same group on a regular basis, you get to know other players. You develop respect and trust, and the ability to gauge your performance against a familiar opponent. In a game with random strangers, there’s little room for community or culture. Social networking is all the rage these days, and I think a bit of that thinking would do wonders for competitive online gaming. Let people associate and form groups based around common interests. I’m not talking about forming clans (which I imagine they’ll have) but more about letting people choose “hangouts” where they can look for players. Let players associate themselves with each other based on their love of playing Zerg-only, or Dr. Who fans, or people from Chicago, or players over forty years old. Offer them community tools so that they can make whatever sorts of distinctions they like and seek out others with similar interests. Maybe some players like strutting, smack-taking brawls, and other people like casual, friendly games. Some people want a rugby culture and others want a checkers culture. Everyone will have more fun if they can find other people that want the same thing.
A game that gives people convenient ways to form ongoing relationships will naturally have more personality and be more pleasant. People are more likely to be good sports towards you if they think they’ll see you on a regular basis. If everyone you meet is a random encounter, you end up with the gaming equivalent of “road rage”.
Note that I’m not really criticizing Pardo, or even StarCraft 2. I realize the game is still a work in progress. I am saying that community tools would improve these online games in general. As PC games moved away from the dedicated server model (not that RTS games ever used dedicated servers) we lost a lot of useful features. Those features could be brought back and even improved with something like Battle.net. I think the best system would be one where people can direct their own matchmaking instead of having an algorithm try to guess at what they will find fun.
Then again, maybe I’m just mad because Battle.net will never be able to find a suitable StarCraft opponent at my level unless Blizzard lifts their strict “no chimpanzees” policy.