Author Topic: Automatic team balance  (Read 9249 times)

Offline Saurabh

  • VIP
  • Hero Member
  • **
  • Posts: 526
  • Rank: Unknown
  • Score: Unknown
Re: Automatic team balance
« Reply #15 on: July 02, 2018, 11:15:50 pm »
 Alternatively, we can assign each civilian as a mix of bad and neutral count. [Example: Like count 1 civ=0.3bad(team) + 0.7 neutral(team)] and then check the 70% rule against (Good+Bad team) instead of 'team classes' count (explained later)

Therefore,
Good Team = Presi+Security+Police+Swat
Bad Team  = Terrorist + 0.3 of each civilian
Neutrals= Vice+ 0.7 of each civilian
There's a reason why I'm suggesting vice to be counted as neutral, I will explain later with example.

Why mix?
Because there are two types of civilians:
Bad civilian: shooting only(or mostly) the president and his security.
 Neutral civilian: staying afk/paused at spawn, stunting, racing, OR shooting (almost) equal number of bad team members and good team members.

IMO, 1 civilian=0.3 bad + 0.7 neutral seems to be the best balanced split. (Considering the facts that civ weapon set is less effective in killing good team than what an actual bad team weapon set is. + More than half civilians choose civ for duels and events i.e neutral)


Rule for reclassing:
1) Good team should NOT be more than 70% of (good+bad team).

2) Bad team should NOT be more than 70% of (good+bad team).

So if a players wants to join X class, the script should stop him from reclassing if any of those two rules will get violated because of reclassing him into x class.(hence considering both his current class and the class he wants to switch to)



Example : 10 players. Similarly 25 players and 50 player count cases can be thought of. I can't think of any troublesome case.
Quote
if there are 10 players in server:
1president
1 vice
1 security
6 civilians
1terrorist

The teams balance is as follows:
Good Team %= 2 out of 10 total players
Bad Team % = 1+(6*0.3) out of 10 i.e 2.8 out of 10 total players
Neutrals %=  1+(6*0.7) out of 10 i.e 5.2 out of 10

Good+ bad team= 4.8 out of 10 total players. (Players actually contributing in the GM and team balance)

In this case :
Bad team(2.8 ) is 58.33% of (Good + Bad team) (4.8 )
Good team(2) is 41.66% of (Good + Bad team) (4.8 )
 
Since Good team is less than 70% of ( Good+Bad team), players can reclass into that team. This solves the problem in Mia's case.

The reason why vice should be neutral is because when the player count is too low , putting vice on 'good' team can heavily imbalance the teams . Moreover, vice president is too weak and usually just driving around randomly to even be considered as a part of protecting (good) class.

Ps: 0.3 bad + 0.7 neutral is just what i think is a balanced split. You can ofcourse try other combinations and maybe try different combinations for different cases (like for different player counts or different maps ..like in nsa)
« Last Edit: July 02, 2018, 11:40:02 pm by Saurabh »

Offline Miau

  • VIP
  • Hero Member
  • **
  • Posts: 565
  • Rank: Jacker
  • Score: 46079
Re: Automatic team balance
« Reply #16 on: July 03, 2018, 12:17:28 am »
Nice! Good that you took time to work something out.

But I'm afraid it wouldn't help in the situation I experienced last night:




Before I reclass:

1 president + 1 security: 2 good points (57% of total)
5 civilians: 1.5 bad points (43% of total)

If I reclass:

1 president + 2 security: 3 good points (71% of total) <- I wouldn't have been able to reclass!!
5 civilians: 1.2 bad points (29% of total)




I still think that the reason why I was able to spot the weakest team while the script wasn't is because I knew who the players on each team were. I knew that the president and his only security were so inexperienced that they wouldn't have a chance against 4 civilians with extra weapons, experience and willing to work together.

To give experience some weight, I would use your system with some modifications:
  • There are two classes of players: unregistered or registered with less than 10 hours (Class 1), and registered with more than 10 hours (Class 2).
  • Class 2 players add double score to the count (for example, a Class 2 cop adds 2 good points instead of 2, and a Class 2 civilian adds 0.6 bad points and 1.4 neutral points, instead of 0.3 and 0.7).
  • If the president is a Class 1 player, all Class 2 civilians add 0.7 bad and 0.3 neutral. Class 1 civilians remain the same (0.3 bad, 0.7 neutral).
  • If the president is a Class 2 player, all Class 2 civilians add 0.7 good and 0.3 neutral. Class 1 civilians remain the same (0.3 bad, 0.7 neutral).

It's sad to make it like this, but the reality is that a Class 2 civilian will persistently try to kill a Class 1 president, but will protect a Class 2 president. At least in most situations... people like in Demens Club exist, but unfortunately we are still a minority.

So, what would have happened in my situation?




Type of president: Class 1

Before I reclass:

1 Class 1 president + 1 Class 1 security: 2 good points (22% of total)
5 Class 2 civilians: 7 bad points (78% of total), 3 neutral points

Before I reclass:

1 Class 1 president + 1 Class 1 security + 1 Class 2 security: 4 good points (42% of total) <- I would have been able to reclass!
4 Class 2 civilians: 5.6 bad points (58% of total), 3 neutral points




I want to clarify than I'm not suggesting to prevent anyone to reclass to civilian. I'm just suggesting to consider the civilian count in the team balance system.
Oh! I don't want to fight you, Jorah the Andal. What do I have to gain? If I win, I'm the shit who killed an old man. If I lose, I'm the shit who was killed by an old man.

~ Daario Naharis

Offline Saurabh

  • VIP
  • Hero Member
  • **
  • Posts: 526
  • Rank: Unknown
  • Score: Unknown
Re: Automatic team balance
« Reply #17 on: July 03, 2018, 01:16:42 am »
My bad,i didn't do exact calculation for your case.

Nice suggestion about considering the player level but i was avoiding that(complication) because that will give space to so many possible criterias and playing with parameters that people might argue about them and we wouldn't come to any conclusion(coz choosing these parameters is  a bit subjective).

 In your case , counting president as neutral class can fix the problem but i am too sleepy right now to think of limitations of this change if we consider a larger player count case. I think it is a quick fix and can help avoiding complex script.

I do like your modification and I'm okay with everything except the numbers you used.  The multiplier (2) used for class 2 players points , is too much(maybe keep it around 1.5) and the switch from 0.7 bad to 0.7 good for class 2 civilian against a class 1 presi and class 2 prei respectively,  is unrealistic because civilian don't really protect their friendly presidents , they just don't kill them(might kill their Security and terrorists i.e they are more neutral).  The ones who actually wanna protect will just switch to security.

So imo , we should avoid those extreme numbers for class 2 civilian. New numbers should be like(subjective):
 1 class 2 civ = 1.5* (0.6 bad+0.4 neutral ) if class 1 president.
 1 class 2 civ = 1.5* ( 0.2 bad+0.8 neutral ) if class 2 president.

1 class 1 civ = 0.3 bad + 0.7 neutral for any class president.



Quote
I want to clarify than I'm not suggesting to prevent anyone to reclass to civilian. I'm just suggesting to consider the civilian count in the team balance system
.
+1
Civilian class should always be available despite the fact that it is the reason of imbalance in most of the cases. But we definitely need to consider it's count to balance the other classes.

« Last Edit: July 03, 2018, 01:23:37 am by Saurabh »

Offline YoMama

  • VIP
  • Hero Member
  • **
  • Posts: 638
  • Rank: Hoodsta
  • Score: 24630
Re: Automatic team balance
« Reply #18 on: July 04, 2018, 12:38:38 pm »
It's sad to make it like this, but the reality is that a Class 2 civilian will persistently try to kill a Class 1 president, but will protect a Class 2 president. At least in most situations... people like in Demens Club exist, but unfortunately we are still a minority.
You're making it sound like civilians can only be protectors or attackers. They can also just ignore the President (seems more likely). How do you account for that? How do you account for the Presidents like me who very often get "Class 2" civilians almost universally attacking? It seems like your system could make it so attackers could move to the civilian class to limit the number of security a "Class 2" President has, since you've made system assume that they're pulling a certain kind of bullshit all the time.

I want to clarify than I'm not suggesting to prevent anyone to reclass to civilian. I'm just suggesting to consider the civilian count in the team balance system.
+1
Civilian class should always be available despite the fact that it is the reason of imbalance in most of the cases. But we definitely need to consider it's count to balance the other classes.
I don't really see how you could take the civilian class into account for balancing. It seems like you'd have to make an assumption about a class for which few germane assumptions can accurately be made.

I don't really see much of a reason to reinvent the wheel here. The biggest problem I had with the old system was the bias toward more protectors at low player counts. Having a bunch of attackers isn't so much of a big deal, since the President always has the benefit of being able to run, decide where a chase will be, and set the standard for the people who are able to follow. I find it much easier to be the lone President against 9 average terrorists than being the lone terrorist against the President and his 8 average protectors. If people are actually playing the game, the President has the benefit of basically deciding how the game goes, but not whether he'll die, or how. As President, I can pretty easily shave down the number of people who are actually able to follow to just a few through vehicle choice, chase location, and strategy, but it's not easy to do something similar as a lone terrorist. (This is why I think there should be more attackers than protectors in general.)

We're still making changes to the system, so if you see things that look wrong, please let us know (and include /sb or a picture of the player list in your post, so we can see what exactly the situation is).
It would be nice if we could see what rules the system works by at the moment, but I can understand if you don't want to make that information public.

Offline Jonne

  • Head Admin
  • Hero Member
  • *****
  • Posts: 1926
  • Rank: Chump
  • Score: 3751
Re: Automatic team balance
« Reply #19 on: September 18, 2018, 03:52:35 pm »
Discussion continued here: https://planbserver.com/forum/index.php?topic=4168.0

I've merged the topic with the earlier topic about balance. There isn't a need to start a seperate topic about it. We were already aware of the problem and seeking for solutions, but spamming topics about it won't help it get resolved faster.

Civs were never explicitely counted as attackers or defenders, but they did have an impact on the balancing. The main reason they have an impact on the balancing, is because we make assumptions on the division of both teams before anyone picks a class. So, each team would be open until over 25% of the total number of players were in it. We did this so everyone could reclass quickly at the beginning of the map, otherwise they'd have to reclass alternatingly (for example, the first player goes to the protecting team, which meant the protecting team now has 100% of the players, which meant someone had to go terro first before someone else could join the protecting side, and so on). Now, if a lot of people went to civ, this 25% of the total player count would be harder to reach, and the team would be open for a longer time, which could lead to imbalances.

Since last week, we've removed this requirement from the balancing. This means reclassing at the start of maps will be slower, but it should lead to more balanced teams. Of course, VIPs will still have an effect on this, and can still cause imbalanced teams to a certain extent as we've put a limit on it now.