PDA

View Full Version : Matchmaking, my opinions on how to do it



Giraffe
07-29-2009, 12:57 AM
When it comes to matchmaking I believe there should be an incoporation of the existing level/rank system but only for one short use, levels 1 and level 2 should be considered noob levels and be in its own matchmaking. As for the other levels/ranks it should instead lie within the kill/death ratio to match up players. A kill death ratio matchmaking will in theory keep everyones kill death ration closer to 1:1 and put noobs against other noobs and so on. The reason this system needs to put in place instead of ranks/levels is because extreme pro DOTA players pop in and own, and some players get good at the game a lot more quickly and some players just suck and should play with other crappy players frankly.

FiNGERS
07-29-2009, 01:05 AM
K : D alone is not a good variable to be using for matchmaking purposes.

_Archangel_
07-29-2009, 01:18 AM
K : D alone is not a good variable to be using for matchmaking purposes.

This. Even winrate is more reliable than K : D

Heliotic
07-29-2009, 01:50 AM
It should be done as ratings... and that should be a blend of K:Ds, assists and buildings downed but mainly driven by Win:Loss ratings.

So you'd do something like this: Players ratings are averaged to create a team rating. That team rating is matched up against another team of similar rating. Then you use the ELO model of chess ratings to determine what the change in team ratings should be caculated.

So this might be

Team A: 5 guys with a rating of 1400 each = Team Rating 1400

Team B: 4 guys with rating 1000 + 1 guy with rating 2000 = Team Rating 1200

Now, lets say team A beats Team B, which means 60 points should be knocked off Team B's team rating. You could implement this as 'everyone loses 60 points' but that would probably be unfair to the 2000 rating guy who might have got 18-6 but couldn't carry the rest of the team. So what you do is rank the 5 players based on 2 points for a kill, 1 for an assist and -2 for a death. Then the highest rank of the 5 players loses nothing, and the rest lose an overage of 100%, broken down like

Top ranked: 0% - loses 0 points, rating stays unchanged at 2000

Second ranked: 50% - loses 30 points, rating drops to 1170

Third ranked: 100% - loses 60 points, rating drops to 1140

Fourth ranked: 150% - loses 90 points, rating drops to 1110

Firth ranked: 200% - loses 120 points, rating drops to 1080

The winning team GAIN 60 points on average, as follows

Top ranked: 200% - gains 120 points, rating goes to 1520

Second ranked: 150% - gains 90 points, rating goes to 1490

Third ranked: 100% - gains 60 points, rating goes to 1460

Fourth ranked: 50% - gains 30 points, rating goes to 1430

Firth ranked: 0% - gains nothing, rating stays at 1400.

This allows you to easily drive matchmaking with arbitrary teams for great justice, while also avoiding people getting heavily penalised for being the strongest link in a weak team if they lose.

I'd add a few other features

A) To avoid inactivity to protect ratings: introduce 'rating decay' through inactivity. However, your rating floor is 200 less than whatever your rating was before the inactivity penalty set in

B) Rating should be published to make it attractive to get it.

C) Use variable k-factors (the amount that your rating changes when you win or lose) to ensure that new players have ratings that change really quickly, but old players or players with high ratings with many more games change more slowly. (I'd specifically do your K factor is doubled until you've played 30 games, and your k factor halves at rating 1400 and then halves again at rating 2400)

This prevents smurfing from hurting top players and disrupting bad players. A smurf will rapidly climb if he wins a few games, but not significantly damage the rating of high ranked players if a smurfing guy beats someone using his main account.

D) Link ratings to CD keys or similar, but make new accounts have the largest possible K factor so if it really is the guys kid sister, his rating will tank quickly, but if it's just a smurf, there is little point.

Nightblade1
07-29-2009, 02:26 AM
Isn't that exactly what they're implementing in the next patch?

Giraffe
07-29-2009, 03:38 AM
It should be done as ratings... and that should be a blend of K:Ds, assists and buildings downed but mainly driven by Win:Loss ratings.

So you'd do something like this: Players ratings are averaged to create a team rating. That team rating is matched up against another team of similar rating. Then you use the ELO model of chess ratings to determine what the change in team ratings should be caculated.

So this might be

Team A: 5 guys with a rating of 1400 each = Team Rating 1400

Team B: 4 guys with rating 1000 + 1 guy with rating 2000 = Team Rating 1200

Now, lets say team A beats Team B, which means 60 points should be knocked off Team B's team rating. You could implement this as 'everyone loses 60 points' but that would probably be unfair to the 2000 rating guy who might have got 18-6 but couldn't carry the rest of the team. So what you do is rank the 5 players based on 2 points for a kill, 1 for an assist and -2 for a death. Then the highest rank of the 5 players loses nothing, and the rest lose an overage of 100%, broken down like

Top ranked: 0% - loses 0 points, rating stays unchanged at 2000

Second ranked: 50% - loses 30 points, rating drops to 1170

Third ranked: 100% - loses 60 points, rating drops to 1140

Fourth ranked: 150% - loses 90 points, rating drops to 1110

Firth ranked: 200% - loses 120 points, rating drops to 1080

The winning team GAIN 60 points on average, as follows

Top ranked: 200% - gains 120 points, rating goes to 1520

Second ranked: 150% - gains 90 points, rating goes to 1490

Third ranked: 100% - gains 60 points, rating goes to 1460

Fourth ranked: 50% - gains 30 points, rating goes to 1430

Firth ranked: 0% - gains nothing, rating stays at 1400.

This allows you to easily drive matchmaking with arbitrary teams for great justice, while also avoiding people getting heavily penalised for being the strongest link in a weak team if they lose.

I'd add a few other features

A) To avoid inactivity to protect ratings: introduce 'rating decay' through inactivity. However, your rating floor is 200 less than whatever your rating was before the inactivity penalty set in

B) Rating should be published to make it attractive to get it.

C) Use variable k-factors (the amount that your rating changes when you win or lose) to ensure that new players have ratings that change really quickly, but old players or players with high ratings with many more games change more slowly. (I'd specifically do your K factor is doubled until you've played 30 games, and your k factor halves at rating 1400 and then halves again at rating 2400)

This prevents smurfing from hurting top players and disrupting bad players. A smurf will rapidly climb if he wins a few games, but not significantly damage the rating of high ranked players if a smurfing guy beats someone using his main account.

D) Link ratings to CD keys or similar, but make new accounts have the largest possible K factor so if it really is the guys kid sister, his rating will tank quickly, but if it's just a smurf, there is little point.
This system makes more sense then mine, but with D) I don't think should be implemented, I even think it should go farther and allow an optional reset of stats after the first month of playing.

Heliotic
07-29-2009, 09:00 AM
While letting them reset their stats is a good idea, changing their rating isn't - they didn't get magically better because they reset their stats. You want to crack down on smurfing and leaving and ****, and you do that by linking ratings to you permanently.