effELO would look something like this...
Each player has their base ELO ranking
Launch is pressed
The player's base ELO is modified by a % based upon the BV of the mech taken. This is the individual effective ELO (ieffELO)
If the player is solo, ieffELO= effELO
If the player is in a group
If the group is >5 players, drop the highest and lowest ieffELO players
Take an average of the ELO of all players (after being modified by [a] above)
Add a second modifier % based upon the group size to account for the ‘working as a group’ factor
This is the effELO of each player in the group
The MM system then takes the effELO and matches players based upon this number
Priority is grouping players against a group of the same size and effELO (within a range which is determined by the current player population)
If a group of the same size and effELo cannot be found, try with more disparate groups.
Add additional groups or solo players until each team is filled out.
After the match
Generate the ELO +/-
Modify the base ELO for the players.
The idea here is that premade groups and certain weapons, equipment, and mechs all should be taken into account for the ELO. And when matchmaking occurs, groups should be put up against groups where possible. And if they cant, the group should play players who are more skilled individually. It also accounts for people who play in both groups AND solo. Their base ELO will be based upon what their skill is like without both a group and mech chassis.
This system also allows the devs to take other factors that may arise later into account (map, map heat, drop type, ping, etc) if they see fit.
The formula would look like this
BV= the BV modified
numGrp = number of players in group
GrpMOD= modifier based upon numGrp (note: This modifier would require a lot of tuning)
GrpeffELO = Average ieffELO of all players in the group, excluding the highest and lowers if >5 players)
ieffELO = (baseELO * BV modifier)
If numGrp is between 1 and 5
grpeffELO = ((ieffELOPlayer1 + ieffELOPlayer2…) / numGrp
if numGrp >5
grpeffELO = ((ieffELOPlayer1 + ieffELOPlayer2…)- ieffELOhighest –ieffELOlowest)/(numGrp-2)
effELO = GrpMod * (GrpeffELO)
Edited by Sprouticus, 07 February 2013 - 08:55 AM.