Home › Forum Archive › Miscellaneous › Archives › Liam Team Balancer › Reply To: Liam Team Balancer
Hmm… interesting ways to use TB but here’s what I think should happen. I am no programmer or anything btw so don’t expect much x_X.
The plugin should first calculate everyone’s K:D ratio.
For instance: 5vs5
P1-CT-k/d: 2.5-5/2
P2-T-k/d:1.1-10/9
P3-CT-k/d:2-20/10
P4-T-k/d:1.5-15/10
P5-T-k/d:0.5-5/10
P6-CT-k/d:1.5-40/30
P7-T-k/d:1.0-5/5
P8-CT-k/d: 0-0/5
P9-CT-k/d: (undefined – x-1 for example)-5/0
P10-T- k/d:1.4-7/5
Second we add the amount of wins to each player depending on their team.
Add their rank to the amount of time they’ve played (in hours) and now we divide them in their separate teams. The team that has the most values that are highest automatically loses x amount of players (depending on how many players on each time) and the team with the least values that are highest receives x amount of players (also depending on how many players on each time).
If I continue my example:
P1 has a k:d ratio of 2.5, played for 10 minutes and is on the winning team (10 times) his “rank score” is 2.5 + 0.16666666666666666 + 10 = 12.16666666666666666666666666
P6 has a k:D ratio 1.5, played for 1 hour and is on the winning team (10 times) his “rank score” is 1.5+1+10 = 12.5
P4 has a k:d ratio 1.5, played for 30 minutes and is on the losing team (2 times) his “rank score” is 1.5 +0.5=2=4
P5 has a k:D ratio 0.5, played for 20 minutes is on the losing team (2 times) his “rank score” is 0.5+0.3+2 = 2.8
(this is just an example, usually it’s way different from this) Note: If the value of the k:d ratio is undefined (as in 5/0 or such), add the amount of kills to the rank score.
Now the TB will now switch people with a score with less than 5 with someone with who has a score more than 10 on opposing teams.
IF the teams are NEARLY tied, (Following the same k:d ratios)
P1 has a k:d ratio of 2.5, played for 10 minutes and is on the winning team (5 times) his “rank score” is 2.5 + 0.16666666666666666 + 5 = 7.56666666666666666666666666
P6 has a k:D ratio 1.5, played for 1 hour and is on the winning team (5 times) his “rank score” is 1.5+1+5 = 7.5
P4 has a k:d ratio 1.5, played for 30 minutes and is on the losing team (4 times) his “rank score” is 1.5 +0.5+5=7
P5 has a k:D ratio 0.5, played for 20 minutes is on the losing team (4 times) his “rank score” is 0.5+0.3+4= 4.8
As you can tell the rank scores are closer to each other but as a revision: I will add all their kills subtracted by their deaths
P1 has a k:d ratio of 2.5, played for 10 minutes and is on the winning team (5 times) his “rank score” is 2.5 + 0.16666666666666666 + 5 + 3= 10.56666666666666666666666666
P6 has a k:D ratio 1.5, played for 1 hour and is on the winning team (5 times) his “rank score” is 1.5+1+5 +10 = 17.5
P4 has a k:d ratio 1.5, played for 30 minutes and is on the losing team (4 times) his “rank score” is 1.5 +0.5+4 +5=11
P5 has a k:D ratio 0.5, played for 20 minutes is on the losing team (4 times) his “rank score” is 0.5+0.3+4 -5= -0.2
This revision can be used by the machine if the rank scores are very close, now we can adjust the teams based on the current scores.
17.5 will now switch with -0.2 and 11 will switch with 10.5666666666666666666666666666666666666666666. However, as a word of caution, we will not need this revision unless the scores are close.
I think the machine can calculate the closeness based on the scores:
A-P1-CT
B-P2-CT
C-P3-T
D-P4 -T
If A+B/2 <= to A or B
If A+C/2 <= to A or C etc…
Then we can call the revision to program.
This algorithm I guess is decent for most circumstances.
Jonny