The people at Blizzard are the kings of april fools jokes and didn’t disappoint this year either. Their joke about the E.P.E.E.N. meter for World of Warcraft was well placed and equally well executed. One thing caught my eye though and that was their description of how the system allowed you to only play with players at your level. The way they said it was funny and stupid of course, but there’s some truth to the idea nevertheless. Competitive games have been doing matchmaking for ages – more or less well. Cooperative games, not so much.
The general idea of matchmaking is to have players of similar skill levels playing against (or with) each other. That way, good players get to have a challenge while bad players might still win from time to time. Starcraft II does this really well in my opinion, by splitting players into a variety of leagues according to their skill level. A set of placement matches determines the league you start in and then you can be relegated into other leagues depending on how well you play. This way, most players I see get a roughly 50% match win quota, give or take a couple of percent.
Apparently the new battleground finder for World of Warcraft works similarly well, always balancing teams in such a way that battles become interesting and fair. I always disliked landing in battleground matches that were very lopsided in either direction (unless I was only their to farm points, in which case I didn’t mind being on the dominating side). Oddly enough, other games don’t necessarily do this as well. League of Legends for example balances teams according to the level of the players. That might seem fair in theory, but has quite a few practical issues. For one, players don’t earn levels simply by playing well, but essentially by playing a lot. Two players at the maximum level of thirty, for example, don’t have to be equally strong at all. They will have access to the same amount of skills and items, but one might still be horrible at the game while the other is good. That isn’t really matchmaking because the system only ensures fair starting conditions for both sides but does not actually try to create fair and interesting games. The latter should, in my opinion, be the main goal of matchmaking systems.
That said, if you do have vertical advancement in your game, it is also relevant to even out the starting conditions somewhat or players will feel cheated. If you have a lot of players, this isn’t much of a problem. Simply match up players that are both equal in skill and in vertical advancement. The issues arise when you don’t have enough players to do that but have to either match players of different skills or of different advancement levels in order to get enough games going in the first place. One solution would be to roll both numbers into a single one, so that better players with worse starting conditions will be matched against worse players with better starting conditions – but that can feel quite unfair to your players as well. It is quite frustrating to lose to someone that clearly isn’t as good a player as you are. On the other hand though, winning against someone with better tools at their hand can also be quite encouraging.
An alternate option doesn’t really exist if you don’t want lopsided matches, or at least I can’t think of one. What I’ve seen from the world of off-line games is to make match-making dependent on tournament results. Meaning that at the start of a tournament everyone is at equal footing, but players who win get matched against others who won while losers fight losers. That way, the game itself is used to determine the combined figure of skill and starting conditions. There are many issues with this system as well, of course. First and foremost, the games of the early rounds will not be evenly matched and can be quite lopsided. Secondly, you need a tournament structure or something similar for this to work at all. Thirdly, bad luck with match making (or in the games themselves) can land you in places where you don’t belong – either playing against very strong players because you won too much on accident or very bad players because you lost to a fluke.
Cooperative matchmaking is both easier and more difficult than competitive matchmaking. On the one hand, imbalances in the groups aren’t as problematic as imbalances in competitive match-ups, on the other hand it is difficult to decide what the goal of cooperative matchmaking should be. One idea would be to match bad players with good ones to allow even the bad players to get into groups that successfully defeat the computer controlled opponents. This can cause issues though for both sides – the worse players might feel like they are getting carried and not able to prove their worth to others, while the good players might get annoyed at having to carry worse ones.
The opposite philosophy also has its problems, however, as matching up only groups of equally skilled players might mean that the worse players won’t be able to complete their tasks at all while the better players aren’t remotely challenged. The WoW dungeon finder suffers from this problem and I’m not really sure what the best solution is. I suppose having dynamically scaling content and groups matched by equal skill could be a good solution. But scaling content will is a completely different can of worms that I’d rather like to keep closed for today.