This is meant to create teams balanced by tonnage and not number of players. In theory, this should nearly always result in a match of a full team against a partial team (but with relatively equal tonnage) Pardon my pseudo-code but this is easier to describe this way.
Conditions for Valid Match:
Max players per team: 12
Tonnage Difference between Teams: Between 0 and 15 (Absolute value of difference)
Proceed as follows:
Assign queue into two 12-man teams
Calculate total tonnage of each team
Calculate tonnage difference (Team A Tonnage - Team B Tonnage)
if(Match Conditions = True) begin match
else Flag heavier team
While(flagged team is still heavier){
Remove later-queue player / group from flagged team
if(Match Conditions = True) begin match
}
Search later in queue for the first player / group which brings the difference to within limits
Begin Match
Place removed players / groups in front of player queue
Assemble next match
-----
As expected, this is a bit punishing to large group-drops that are on the heavier side. Only accounting for actual tonnage of groups instead of their composition will help them get into matches however.
It may be worthwhile to assemble multiple teams of 12 and pair them each with their closest tonnage and adjust (as described above) from there. Teams that have been in queue the longest time should have priority when getting paired. While this may help, a very heavy 12-man will still have trouble. It may be worthwhile to have a greater acceptable tonnage difference when dealing with large group drops.
Placing the removed groups / players in front of the queue for the next match should help prevent starvation
Selecting the first player / group that meets match criteria prevents extra calculations and the formation of a third team that can never meet criteria.
Potential Problems:
Starvation of heavy 12-man drops
Disconnects / AFKs will be more devastating on the smaller and heavier team
Small teams of very heavy mechs against large teams of small fast mechs (These may be interesting though)
Preference for solo-queues to get into a match first
1
Suggestion For Matchmaking Algorythm
Started by Hanith, Sep 20 2016 04:49 PM
1 reply to this topic
#1
Posted 20 September 2016 - 04:49 PM
#2
Posted 26 September 2016 - 08:12 AM
Had a match yesterday that highlights the tonnage imbalance with the current matchmaking system. Here is a screenshot post game:
The enemy team was 165 tons heavier than my team. Both sides had multiple small group drops and yet the MM involved decided to, in effect, give my opponents extra guns, armor, and ammo to equal the weight of an Atlas and a Jaegermech.
The reason behind balancing via tonnage instead of number of players is to avoid things like this. Yes, we had an even number of pilots. We did not have an even damage potential or armor value. We had speed; but, you see how much that helped.
The enemy team was 165 tons heavier than my team. Both sides had multiple small group drops and yet the MM involved decided to, in effect, give my opponents extra guns, armor, and ammo to equal the weight of an Atlas and a Jaegermech.
The reason behind balancing via tonnage instead of number of players is to avoid things like this. Yes, we had an even number of pilots. We did not have an even damage potential or armor value. We had speed; but, you see how much that helped.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users