Jump to content

Sensible Matchmaking Through Adjustedted Elo.


5 replies to this topic

#1 no one

    Member

  • PipPipPipPipPipPipPip
  • Bad Company
  • 533 posts

Posted 07 March 2014 - 07:18 PM

I have been debating with myself whether or not to make this into it's own thread, as it shares many similarities with Roland's (very cool) use-based BV system.
See:
http://mwomercs.com/...levalue-system/

The primary differences being, as I understand them, that Roland's system works around assigning 'Mechs value based on their usage, and giving groups a total maximum point value to bid for use of popular variants.

This system works around applying an adjusted Elo to each player, meaning their normal Elo factored by the strength of the 'Mech they are driving, before balancing teams. Additionally, this is a balance system based solely around match making in open ended matches. That is to say, any match or game where you do not select your opponent would use this system.

Elo Today -

Your Elo is adjusted up or down based on whether you've won or lost against a team with a similar Elo. However, currently that system does not take into account what players on each side are piloting. When a team comprised entirely of assault 'Mechs is matched against a group of centurions and cicadas, the system will tend to reduce the ranking of players using weaker 'Mechs and raise the ranking of players that favor powerhouse 'Mechs. This leads to higher Elo brackets saturated with those powerful 'Mechs and lower brackets end up with players running around in pinatas and actual skill doesn't kick in to effectively balance your Elo unless you're playing a good variety of chassis.

Okay, so here's how it works:

Now, anyone who's played multiple variants knows that they get a better record out of some 'Mechs than others, either because it's a good 'Mech or because it just fits your style. Same goes for everyone. So what PGI needs to do, is dig into their statistics and average the player performance in each variant. To start with, you can just use the average W/L rate for each given chassis. After that, the game , but once the system's had a chance to kick in it can keep track of the average match scores for each 'Mech chassis across the player base.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

So here is how matching breaks down:

1 - Basic, Unadjusted Elo Tiers

This represents your overall skill, and is used to pair you with similarly skilled players. Tiers are separated into ranges, such as

0 - 800, 801 - 1600, 1601 - 2400, 2401 - 3200, 3201 - 4000

Whenever you do well or win a match your Elo is adjusted as before, and you end up going up or down ranks. The unadjusted Elo tiers will, as intended, keep players of similar skill in similar ranks. The only change here is that amount your ranking goes up or down for a respective win or loss will be modified by your relative match score, and the Elo modifier for the 'Mech you are driving. Eg. -

Ea = adjusted Elo change for Win or Loss.
Eu = unadjusted Elo change for Win or Loss.
aMs = Average match score of all players on your side. (Go Blue!)
yMs = Your match score.
Vf = Value factor for your 'Mech.
Va = Average Value factor for your team's 'Mechs.

Win:
Ea = (Eu * (Vf / Va)) * (1 + yMs / 1 + AMs)

Loss:
Ea = (Eu * (Vf / Va)) / (1 + yMs / 1 + AMs)

Now, what the hell does that all mean?

Basically, your Elo is adjusted based on your expected vs actual performance, as well as your relative performance to your team. Ultimately the major factor is whether you win or lose. You will never gain Elo in a loss and vice versa, and at the bottom line it only effects which skill bracket you are set in.

2 - Adjusted Elo Tiers

This is where a 'Mech's value factor comes into play in match making. You will always be paired off against players in your over-arching Elo bracket, but that doesn't mean that similarly skilled players can play equally in dis-similarly capable 'Mechs, so the game tracks the Vf, or Value Factor of each 'Mech chassis. The Vf is average of that 'Mechs performance over the averaged sum performance of all other 'Mech chassis. Performance is measured as average match contribution times average win / loss ratio for a chassis.

Say you're in the 1601 - 2400 Elo bracket with a 1798 base Elo, and you decide to take a DRG-5N. Let's call the Vf for that 'Mech .85; so your adjusted Elo is about 1528. That doesn't change your overall Elo bracket, but it means you contribute only 1528 effective Elo to your team's overall value in the matching process. The opposing team might get a 2374 Elo player in a 'Mech with a Vf of .64, (say they're in a RVN-2X) and that would roughly equal your score contribution.

In general the system should be self adjusting, as a 'Mech that is overvalued will be put in situations where it can not do well and it's match score and w/l averages will suffer. Whatever happens, a locust should never be weigh against an atlas.

Locust 3s with Elo bracket top pilot (.34) * 2400 = 816
Atlas D-DC with Elo bracket bottom pilot (1.7) * 1601 = 2722

Now does that mean an mediocre Atlas D-DC is counted as worth 3 and a third decent locust pilots? Not really, because no matter what you get 12 players. There is no battle force size modifier. If your side has nothing but Death's Knell commandos then chances are the other side isn't going to have any Highlanders (unless every other red pilot is in a locust).

Feel free to comment, discuss, ask questions or point out the terrible, terrible errors so we can figure out if there is a good idea buried in here or not.

Edited by no one, 13 March 2014 - 05:41 PM.


#2 Roland

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • 8,260 posts

Posted 07 March 2014 - 09:22 PM

Some interesting stuff. I like the notion of adjusting your elo based upon your contribution to your team.

In the section where you are accounting for that performance, why are you adding one to both yMs and aMs? I don't understand what you are trying to represent with that, as it seems like adding one is just going to mute the effect by a trivial amount. I feel like I'm missing something there.

Is it just there to try and prevent a division by zero in certain cases?

if nothing else, that part of this system should be pt into the elo calculations immediately, since it should result in a significantly faster resolution of a player's correct ranking by weighting results based on what they actually did.

However, one possible problem that just occurred to me is this. For a team playing together, this would slow the movement through the ranking of the team as a whole. That is, some members of the team in any game would contribute more than others just by virtue of what happens in a game. This would mean that the overall change to the elo of the whole group would change less than it used to.

I'm not certain that is actually a problem or not though, as in many cases, that is actually what you want to prevent a team caring a poor player into a ranking higher that he deserves.

I might need to think on it more. The more I consider it, the less of a problem I think it is.

Good post.

Edited by Roland, 07 March 2014 - 09:29 PM.


#3 no one

    Member

  • PipPipPipPipPipPipPip
  • Bad Company
  • 533 posts

Posted 07 March 2014 - 09:31 PM

View PostRoland, on 07 March 2014 - 09:22 PM, said:

Is it just there to try and prevent a division by zero in certain cases?


Good catch! Yep, it's basically just there so that disconnects don't crash the the server with a divide by zero error. :P

Edited by no one, 07 March 2014 - 09:32 PM.


#4 Spleenslitta

    Member

  • PipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • 2,617 posts
  • LocationNorway

Posted 11 March 2014 - 11:23 AM

I wanted to post a comment here since this is the thread of someone who does a lot of thinking before posting.
But all that math stuff flew right over my head so i'll just say this.-

No one really put a lot of thought into this. (that name of his just kinda blends into whatever you writte back at him doesn't it?)
He is a put a lot of work into this so do your best to put up constructive comments to help him out.

#5 Koniving

    Welcoming Committee

  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • The Guide
  • The Guide
  • 23,384 posts

Posted 07 April 2014 - 05:26 PM

Fairly good ideas. I need to go back and read over the math soon.

I suspect that ELO isn't truly based on win/loss (it's quite moronic to say the least and very illogical) as PGI claims. I believe it is based on match score, which culminates everything you do with values on assists, spots, captures, kills, damage, limbs lost, damage taken, right down to how long you survived in the match and this number beyond the match is never displayed anywhere ever again nor shown in your personal stats.

And if it isn't, then it sure as heck should be. The individual's performance cannot be judged solely on whether or not the team wins. This is a factor that has nothing to do with the individual and his or her skill.

#6 Macksheen

    Member

  • PipPipPipPipPipPipPipPip
  • Urban Commando
  • Urban Commando
  • 1,166 posts
  • LocationNorth Cackalacky

Posted 07 April 2014 - 06:54 PM

View PostKoniving, on 07 April 2014 - 05:26 PM, said:

Fairly good ideas. I need to go back and read over the math soon.

I suspect that ELO isn't truly based on win/loss (it's quite moronic to say the least and very illogical) as PGI claims. I believe it is based on match score, which culminates everything you do with values on assists, spots, captures, kills, damage, limbs lost, damage taken, right down to how long you survived in the match and this number beyond the match is never displayed anywhere ever again nor shown in your personal stats.

Elo formulas need a defined win/loss; they don't work without it.

Quote

And if it isn't, then it sure as heck should be. The individual's performance cannot be judged solely on whether or not the team wins. This is a factor that has nothing to do with the individual and his or her skill.

That said, a "win" could be assigned to everyone who's match score you beat as opposed to team victory.

But yeah - it needs that binary thingy.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users