After raging few times at the matchmaking system in the last days I started asking myself how hard can it be to make a proper matchmaking?! And since I didn’t want to PvP anymore and not having anything better to do I started thinking if I was to develop a MM system how would I go about it.
So I had an idea that I though it may start an interesting discussion about matchmaking.
Here’s my the idea:
Every 5min a round of games will start.
The matchmaking will be done only after you accept the “match ready” pop up.
For solo queue:
The first 5min it will take all queued people and arrange them starting with the lowest matchmaking rank and go up.
The 2nd time, after another 5min it will do the same, only this time it will start with the highest rank and go down.
The 3th time it will start again with the lowest and so on….
Now, after they are arranged it will take the first 10 people in the queue and according to their MMR it will divide them placing the 1st, 3th, 7th, (6th or 8th depending on the arrangement) and the 10th in party A, and the rest of them in party B. Do the same for the next 10 people and so on…
This way the average queue time for most players will be 2min 30sec, with max of 5min unless you are in the top 9 or bottom 9 from all people currently in the queue, in which case you may have to wait 5min more for the next round of games.
Worst case possible, 9 people will have to wait 5-10min for a game, but NEVER more than 10min.
For team queue:
Basically the same, only instead of looking at the personal MMR, it will take the average MMR of the full party, and again arranged them based of that MMR and match the 1st with the 2nd, 3th with 4th and so on…
Before doing all that however, first we have the group up all the solo/duo/trio… queues.
Lets say we have party of 4 queuing. We’ll calculate their average MMR, then we look at all the people in the team queue that are sign up solo, find the one with closest MMR with the average of the group, put them together, and again calculate the average MMR now of the full party. Same thing for 3+2 or 2+2+1 and so on…
There are obviously more details for the team queue that that need to be considered, but its kind of pointless to go into them right now. For example if the average MMR of the blue team is higher, but their composition is 3+1+1, and red team has lower MMR, but are 5 premade, which team has the higher chance of winning? Should composition of 2+1+1+1 be even allowed?
Also if we allow only parties of 2, 3 or 5 players to queue (no solo or party of 4) again it becomes really easy to match them correctly.
A downside to the system may be that we’ll get a lot of the same people in the games, but they’ll be divided different way each time, and a player can easily avoid it from happening if he/she waits 5min before queuing again. There could even be a countdown clock showing exactly when the next round of games will start.
So what do you guys think?
If you were developing a MM system what would it look like?
Also… any idea how the current system actually works? It all looks really strange to me. There are games with both experienced players and players that clearly never done a proper PvP game before. Games with 0-20% win chance… why are they even allowed?!