Hi people.
I haven't been on this forum in ages, so if this has already been discussed/is a moot point/is completely uninteresting, well, forgive me.
The issue of team balance is a haunting one and there are no good solutions to forced team balance since it always depends on the players. Still though, there are a number of players who will change if they're made aware of how unbalanced the game actually is (when it's really unbalanced, one team can easily get 150+ frags over the other without even noticing).
Here's my idea: display an unbalanced simple scale icon in the corner of the screen (maybe even color it to show which side is too strong (make it the heavier one)). Now, before anyone pipes up with the "but we have server messages", those messages only understand team numbers. Sometimes 6 vs 4 can be an even game, or even 7 vs 4, depending on the 4, etc. I suggest using an algorithm that takes into account the score differences and the number of players.
Let me use an example to get the basic idea across:
CTF
Fraglimit: 300
Flag cap: 20
Red team: 160 frags, 6 players
Blue team: 57 frags, 6 players
Now, either using an arbitrary amount or a percentage of the fraglimit or flag cap, decide on a player-frags equivalence (PFE) (yeah, a bit unclear, hold on). E.g. Let's say that we decide that each player is worth 50 frags (or 1/6 of the frag limit, or 250% of a flag cap), thus 1 PFE = 50 frags.
Since the red team is about 100 frags ahead = 2 PFEs, the blue team should have 2 more players than the red team to balance it, so one person from the red team switches and presto, the icon disappears.
E.g. Before:
Red team: 160 + 6 * 50 = 460
Blue team: 57 + 6 * 50 = 357
After:
Red team: 160 + 5 * 50 = 410
Blue team: 57 + 7 * 50 = 407
Just to be clear, the PFE wouldn't count towards the actual score, just towards the algorithm. The icon should only be set off when the actual scores become uneven by x number of PFEs too (let the server decide). That way after a balancing, it doesn't nag once the scores become uneven. The algorithm could also be used to decide placement of autojoining players.
Also, just to be clear, this system would NOT force team balance, but it would make it obvious to all when the game was unbalanced. Perhaps you could even add something that posts a message about who changed to balance it, and also maybe use div's team-switching countdown to prevent too many people switching at the same time.
I just thought of all this right now, so there may well be several problems with it. Feel free to point them out.