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;
```

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;
```

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...

Cheers