Heuristic Team Balancing

Discuss Nexuiz gameplay here.

Moderators: Nexuiz Moderators, Moderators

How should teams be balanced?

Let the players balance the teams themselves [no stats used or saved]
2
12%
Balance the teams dynamically during the game [use stats, no stats saved]
2
12%
Use the stats from the last game to balance the teams [use stats, no stats saved]
5
29%
Save player stats and use them to balance teams [stats from multiple games used, stats saved]
8
47%
 
Total votes : 17

Heuristic Team Balancing

Postby Xeno » Sun Jan 21, 2007 1:40 pm

Demitar, who didn't want to start a thread himself, came up with what I consider to be a great idea... using the data from the last game to balance the teams at the start of the next game.

This would eliminate the need to track people and record their statistics (which I am completely against and which would make me seriously consider giving up Nexuiz) and it would also avoid the frustrations of dynamic rebalancing in-game that would rely on changing scores, etc.

This way, no data needs to be saved and the teams are balanced (roughly at least) at the start of the game. Exactly what algorithm to use is easily up for debate, but that shouldn't be too difficult to figure out.

Aside from the simple algorithm of ordering the players in terms of score and assigning every other one to a different team, you could check the number of flag captures and frags and balance that way (e.g. the two best capturers end up on different teams, the two best fraggers too, etc).

It might be worth taking into account when someone joins the game as well and create averages such as frags/minute and caps/minute so that good players joining in the middle of a game aren't ignored. Also, the way scores are effected when someone leave the team might need to be considered as well.
Xeno
peregrinus originis incognitae
 
Posts: 396
Joined: Wed Nov 15, 2006 10:42 pm

Postby torus » Sun Jan 21, 2007 2:52 pm

Thats a good idea, but not a new one of course (FEAR, and I believe UT do the same thing).What I always wondered about it is: does the server choose the number of people on each team? What happens when there are an odd number of players, and a new person joins, but the team with the smaller # is owning the other team anyway?
Image
torus
Forum addon
 
Posts: 1341
Joined: Sun Dec 24, 2006 6:59 am
Location: USA

Postby Xeno » Sun Jan 21, 2007 3:15 pm

New in the sense that it's the first time I've heard it mentioned in connection with Nexuiz.

As far as I know, the auto system used to just shove a member in with the red team if the teams were balanced, irrespective of score. As it is now, if the teams are even in number, new players get added to the team with the lower score... but if the numbers are uneven, new players get placed on the teams with less players without taking score into account.


In such cases, the team score difference could be checked and if it's x% of the score needed to win, new players could be added to the losing team. Some checks would have to be made though in case several people showed up at the same time... maybe for each multiple of x% difference, the losing team is allowed to accept another player, e.g.:

Red team: 3 players, 168 frags
Blue team: 4 players, 34 frags
Score to win: 300
x%=20%=60 (in this case)

A new player joins the game, who would normally join the red team to make it 4 vs 4, but since the score difference is more than 2*x% (more than 120 frags), the new player is put on the blue team. If another player joins, then the same thing because the difference is greater than 120... but if a third shows up, then he/she ends up on the red team.

x% could be tested for a while to see what's reasonable (if anything).





Anyway, just throwing the idea out there... not sure if I'll still like it tomorrow.
Xeno
peregrinus originis incognitae
 
Posts: 396
Joined: Wed Nov 15, 2006 10:42 pm

Postby Vendor » Sun Jan 21, 2007 6:00 pm

Looking at the options, I can't see how the current Nexuiz system would work with two of the options. When the next map starts, nobody is actually in the players line-up, as everyone is a spectator until they hit jump, and the server can't know in advance which people, and in what order, they will press jump. This means you can't pre-assign players to teams (or else you may find the 2 best reds sitting out a game at times!).

Most of the time the balance swings quite widely during the game, as players come and go, and some form of dynamic balancing would seem most sensible - and it would be handy if the server swapped top-red for bottom-blue at times too, to cope with those 4-good-players vs 1-good-player-and-five-inexperienced-player games. I would express the options as:

1. numbers balance on join - joining players placed with smallest team, if numbers equal, placed with lowest scoring team.
2. strength balance - joining players placed with weakest team - could be based on teams average frags per minute.
3. in-play balancing - joining players allocated according to 1 or two, but a "measure of balance" is calculated dynamically (could be average frags per minute or even more complex!) and if it goes outside a certain range, triggers one (or more) players being shifted to even things up.
4. chill out. When teams get silly, ask someone to balance teams, and if they don't bother, either play on or sit out until next map, when hopefully things will (maybe) sort themselves out naturally.

To be honest, team balancing is a bloody hard thing to get right with a vast number of scenarios and variables to take into account. For my money, a move to one capture = one point scoring system might actually address this - my experience in FPS's is that nobody likes a 7-0 walkover, and players (without any individual scores to think about) will spot that happening and sort the teams out themselves.
Image
Vendor
Member
 
Posts: 43
Joined: Tue Aug 01, 2006 10:18 am
Location: Wales

Postby Xeno » Sun Jan 21, 2007 6:50 pm

I've been on about dynamic balancing for a while but the one problem that I keep seeing with it is that it might take effect too often and lead to a schizoid scenario. Your points are definitely valid... I wrote the post while still in the game with Demitar so I didn't even think about the eventual problems of people not joining the next game or in queuing people for teams. That said, I've noticed that the status number for each player is static from game to game and that even before you begin to play, you are assigned a team (when in -666 mode). This system might be able to affect that initial assignment based on status number which carries over. The players that would make a difference to the outcome of the game usually don't hang around for the next map to load and then not join so I don't think that would be a serious problem.

Of course, it all comes down to what can actually be done with the code itself.

On a side note, I've also made a few suggestions about changing the scoring system to create a true "team score" instead of a simple sum of the individual scores (along with more interesting scoring rules that would encourage strategic team play such as picking up the flag from a fragged teammate giving points in proportion to the distance from the enemy base or fragging players who are attacking your flag carrier giving extra points, etc)... unfortunately, the current system seems to be hardcoded and immutable.
Xeno
peregrinus originis incognitae
 
Posts: 396
Joined: Wed Nov 15, 2006 10:42 pm

Postby shaggy » Thu Apr 05, 2007 5:21 am

That is a great idea because im sick of the admin say some one please change teams and no one lisening!

and i have said it before and im saying it again i agree that it would be good to get rid of those stats
shaggy
Alien trapper
 
Posts: 419
Joined: Tue Apr 03, 2007 6:12 am

Postby divVerent » Thu Apr 05, 2007 5:59 am

Basically, the problem is that the scoreboard is hardcoded in the engine and therefore we can't make team scores which are not the sum of individual player scores.

This will change with Nexuiz 3.0, when CSQC is far enough for us to use - and when we got people who actually understand CSQC (it is quite undocumented). When we have that, we can draw our own scoreboard and fix these issues - and finally count captures.
1. Open Notepad
2. Paste: ÿþMSMSMS
3. Save
4. Open the file in Notepad again

You can vary the number of "MS", so you can clearly see it's MS which is causing it.
divVerent
Site admin and keyboard killer
 
Posts: 3809
Joined: Thu Mar 02, 2006 4:46 pm
Location: BRLOGENSHFEGLE

Postby Xeno » Fri Apr 06, 2007 12:32 am

Can the "someone change teams notice" please be taken off of RBI? Half the time it tells you to change teams when they are balanced in terms of skill and the game becomes UNbalanced by people listening to the message.

Otherwise, perhaps you could add something to it so it takes the score into account. If the score difference is greater than 50 then maybe it would could say "someone please join the <insert losing team>".
Xeno
peregrinus originis incognitae
 
Posts: 396
Joined: Wed Nov 15, 2006 10:42 pm

Postby divVerent » Fri Apr 06, 2007 10:21 am

A difference of 50 is too arbitrary, but maybe there's an idea to take timelimit/fraglimit/current max frags/current time into account for that?
1. Open Notepad
2. Paste: ÿþMSMSMS
3. Save
4. Open the file in Notepad again

You can vary the number of "MS", so you can clearly see it's MS which is causing it.
divVerent
Site admin and keyboard killer
 
Posts: 3809
Joined: Thu Mar 02, 2006 4:46 pm
Location: BRLOGENSHFEGLE


Return to Nexuiz - Gameplay

Who is online

Users browsing this forum: No registered users and 1 guest

cron