Mathematical model for auto-balancing teams

If you have any suggestions or complains about our servers or group or players on the server, post here.
Post Reply
Posts: 13
Joined: Thu Jul 18, 2019 10:05 am

Thu Jul 18, 2019 4:21 pm

:idea: I'd like to propose an idea I've had some time ago, to implement a system which would dynamically balance teams according to player competitiveness, thus reducing the impact of more experienced players becoming stacked on any one side

The problem currently is, that team skill balance is a matter of mostly pure chance. This is often quite frustrating, and frequently ends up with one team being stacked, as players tend to migrate to the winning side.

I have thus devised a mathematical method for adjusting ticket counts for each team at the start of a match in a way that compensates for the average player experience in each team, thereby allowing an even chance of victory for each side.

the concept is this:

upon starting a match;

define a player competitiveness scalar (cP) for each player, given as:

Code: Select all

cP = (playerXP * xpFactor) / (playerPing * pingFactor);
pingFactor and xpFactor are constants which can be set to fine tune the relevance of such inputs (start with 1, adjust as needed by testing)

do this for every player in both teams, assigning each player his own cP value

then establish the each team's total competitiveness by summing up the cP of all team players

Code: Select all

 red_tP = ∑ p.cP foreach player p in red team;
blue_tP = ∑ p.cP foreach player p in blue team;
these values by themselves are non-dimensional, as we´re only interested in how they compare to the same value on the opposite side.

having team competitiveness defined for both sides, we can now calculate the ratio of imbalance between the two sides with the following logic:

Code: Select all

 red_bias = blue_tP / red_tP;
blue_bias = red_tP / blue_tP; 
and finally, multiply the starting ticket count for each side by its respective bias. A final multiplication can be performed on both biases beforehand in order to scale the final amount of ticket balancing for any given competitiveness mismatch.

In theory, there should be a setting to this final adjustment that would ensure that any combination of players would still mean a 50% chance of victory for each side. This can only be determined by testing however, we all know how these things are...

Anyways, just a thought... :geek:


User avatar
Posts: 208
Joined: Wed Sep 13, 2017 1:59 pm
=D= Endyas’s avatar

Thu Jul 18, 2019 11:41 pm

The thought of adjusting tickets individually for every round is actually one that we did not have in regards of balancing games. So that's a new one! I do not know if this is even possible though.

Anyhow as I mentioned on your other post. EXP/Honor Level do not reflect a players ability and understanding in the game and not their impact on the game. Some players have less experience, but are great at rallying the team and communicating. Some are great at racking up a lot of kills and bleeding the enemy's tickets. Some are just great Squad Leaders and provide game changing spawns. And others just do a consistent job. And there's of course the other side which is players that are not all that amazing at the game despite having played it for years and maybe 5000 hours.

Thing is, I have my doubts that EXP and ping are in any way sufficient factors to calculate a players impact on a game or how many tickets they are worth. We actually tested something similar but far more complex, but couldn't make it work well enough. No matter how complex, there's just too many factors you can't see :cry:

EDIT: It's really cool that you're posting your ideas though! Thank you very very much! If you have any more thoughts or ideas, please let us know! :)

Posts: 13
Joined: Thu Jul 18, 2019 10:05 am

Sun Jul 21, 2019 3:56 am

Well, the idea of this isn't to try to compensate for every single factor affecting balance. If we somehow ever managed to do that, there'd be no real game left.

The concept here was indeed more of providing a coarse adjustment. To counter out only the more blatantly obvious elements, which affect the game's primary balance in ways that are inherently unfair, such as: Humans-v-Bots, Pros-vs-Noobs, or Third-World-Internet issues.

However many finer factors still exist, they are simply the things that the game is all about: Team-play, Tactics, Communication, Leadership, Marksmanship, Etc.

If those are indeed the virtues that remain to drive the outcome of a match one way or another, then we could very well stop here and say: "Mission Accomplished", for our system would have done its job in full.

Post Reply