This is my number one thing that I wish the Developers had as their highest priority: creating a public ranking/matchmaking system for all players where players of similar skill levels are grouped together for matches. This would result in funner, more intense matches, which would help ensure player’s keep playing and don’t quit from frustration. To me this is more important than new maps, new mercs, or any other feature currently taking up dev time.
I am not talking about party matchmaking, that’s a different issue, to me, this basic matchmaking needs to come first and be a higher priority than party matchmaking. This would be the default “quick join” option for all public players, it’s not an opt-in thing, it’s forced on everyone.
How to do it?
(For purposes of this discussion, I will use K/D as the metric for skill. The metric is important of course, and K/D isn’t ideal, but it will work to illustrate the concept.)
Skill rankings are relative to the people you play against, if you are an average player, and play against really good players you will have a low K/D ratio, if you play against really bad players, you will have a high K/D ratio. The goal of the ranking system would be to put players together such that when they play against each other their average K/D is ~1/1. In other words, players of the same skill are grouped together for matches.
Player Ranks:
So, first all players must have a skill level, lets say 1-100, and we break this up into player ranks of 1-10 to group players into matches. rank 1 = 1-10 level players, rank 2 = 11-20…rank 10 = 91-100 level players. having some granularity in the ranking (the skill level) is important because it lets players see how close they are to the next highest or lowest rank.
Match Ranks:
Then, we might say we need to rank all the servers from 1-10 so we can put the players together based on the server. But, ranking the actual servers is not dynamic enough (you will have a lot of servers going unused to make sure there is capacity and would need to change the ranks when the player skill base shifts). So, instead of ranking the servers, we rank the matches dynamically. This allows any server to be used for any match. As an example, right now with the max level 5 servers, if no one is playing on them they are going unused. This could be a reason why there are no max level 10, max level 15, etc. servers. Ranking the matches instead of the servers would solve this issue.
So, if I am a rank 5 player, the matchmaking system puts me into a rank 5 match, ideally consisting of other players all of rank 5 (skill level 41-50). If I consistently do really well against these guys, my skill level moves up, and soon I move up in rank, if I do poorly, eventually I move down in rank.
Ranking the matches instead of the server also allows you to adjust the match rank based on the average skill level of the players in the game. This allows for cases where there might not be an available game to join which matches your rank. While the matchmaking system would still try and put you into the closest game which matches your rank, during times when few players are online you might have a wider spread. So, for instance, if I am in a game with players evenly spread between skill levels 41 (bottom of rank 5) and 70 (top of rank 7), that would still be considered a rank 6 match.
Of course, the rank 5 players are playing in a game one rank higher than their skill level, and the rank 7 players one rank lower, so how they move up and down in skill level based on their performance would be adjusted accordingly.
So, that’s the basics, everything below is just added implementation detail/
Not allowing players into matches below their skill levels:
Of course, this will be controversial. people are going to want to play with friends and their friends will be at different levels, but players shouldn’t be allowed into a match more than one or two levels below their skill level unless there are no other matches available. I don’t know that there is a good answer here for being able to play with your friends, allowing lower ranked players to play in higher ranked matches should be allowed. maybe there is a “pure” option and a “blended” option, where if you choose pure when looking for a match you will be in a match ONLY with other players of your rank (but you might have to wait to get into a match). Blended allows for the match to be ranked based on the average skill level of the players (and maybe you can even set a max spread).
Forcing/facilitating server/match switches:
If you are in a match above or below your skill level, you should be shown a message that a match closer to your rank is available after your current match ends, with a quick switch button to jump to that server. While some will say this is bad since it encourages people to leave your current server, it’s the opposite because it is encouraging people to re-balance, and hopefully you have people of your same skill level joining from other matches.
If you are in a match that is more than the max allowable spread below your skill level, and there are now enough players to create a match at your skill level (or a slot opens on one you couldn’t get into before) you would be automatically moved to the new match at the end of the current one. Again, splitting friends is of course an issue, some way to handle that would need to be worked out. One idea might be you indicate who you are wanting to play with and if there isn’t too much of a spread in skill it sticks you all in “blended” matches at your average skill and lets you stay there.
Waiting times:
With enough players, waiting times to get into a “pure” match (every player in the match at exactly your rank) wouldn’t be an issue. But the “blended” match is always an option if it is.
Game Modes:
Sort of ignoring this for now, but if the player base is too low it’s probably worth it to combine stop watch and objective into objective only in order to have enough players in one mode where there is enough spread on the skill levels to get proper groupings. I’d give up playing one or the other stopwatch if it meant the games were funner/more evenly matched.
Maybe stopwatch becomes an option only if there are enough players to not split the player base too much. I don;t know about execution, I never play it, if that’s a mode where the people who play it would leave and not play at all obviously you don;t want to eliminate it. But splitting the player-base with multiple modes is self defeating if it takes away more players from one mode than it brings in over all. I’m happy with just one mode so long as it is fun, and stop watch and objective are so close to the same mode that you could eliminate one or the other and I’d happily play the other. Obviously, you want stop watch for competition, so it still has to be available. I have no idea if the player-base size is an issue or not right now.
With high level players being placed into games with other high level players automatically, the whole “solo queue” issue of the current matchmaking could become a non-issue.
And the max level 5 servers could go away, simply drop brand new players into matches at rank 1 and let them start moving up as they get better.