Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Balance teams by skill?

#1
Hi,

I'm planning on running a server for a small (~dozen people) LAN party. The skill levels are all over the place, and I want it to be fun for everyone, so my question is: is there any way to balance teams by skill, rather than number? "Skill" could be something simple -- K/D, points, ranking, etc. taken from the previous game (or something like that). So, red might have 2 experts and 1 beginner, while blue might have 1 expert and 4 beginners. I wasn't planning on using bots.

I know there are some handicap mutators, but I'd rather balance the teams according to skill. Apologies if this has already been asked/answered, didn't see it.

Thanks!
Reply

#2
(03-07-2018, 09:14 PM)bklopfer Wrote: Hi,

I'm planning on running a server for a small (~dozen people) LAN party. The skill levels are all over the place, and I want it to be fun for everyone, so my question is: is there any way to balance teams by skill, rather than number? "Skill" could be something simple -- K/D, points, ranking, etc. taken from the previous game (or something like that). So, red might have 2 experts and 1 beginner, while blue might have 1 expert and 4 beginners. I wasn't planning on using bots.

I know there are some handicap mutators, but I'd rather balance the teams according to skill. Apologies if this has already been asked/answered, didn't see it.

Thanks!

I do this manually as a server admin and host of an event. (After some free-for-alls and other matches, get a general idea of where everyone is at and their strengths and weaknesses).
The pickup IRC channel does a similar team balancing thing by using a pickup bot that designates team members, and XonStats Elo as a metric for skill. That is probably closest to what you're looking for.
Reply

#3
Doing this automatically is hard for two reasons:

a) Not everybody has ELO and ELO is not the most reliable judge of skill because it's shared between mods.

b) Even if we had a way to fairly judge skill of players, the algorithm to split them into teams is not trivial and requires arrays. Our language doesn't have real arrays. Best solution would probably be to forgo the optimal solution and just try a couple at random, picking the least bad.

You can show ELO in scoreboard using the cvar scoreboard_columns (see scoreboard_columns_help) and then make teams manually.
[Image: 30381.jpg]

<packer> when i see martin-t's name my blood pressure increases

<[BOT]Hоtdоg> anyone here lives near martin?
<[BOT]Hоtdоg> will pay monies for shooting him
Reply

#4
Quote:b) Even if we had a way to fairly judge skill of players, the algorithm to split them into teams is not trivial and requires arrays. Our language doesn't have real arrays. Best solution would probably be to forgo the optimal solution and just try a couple at random, picking the least bad.
Gotcha. Would some simple greedy algorithm be doable in the language? (QuakeC? I clearly haven't done any Xonotic hacking at all...) It won't optimally balance the teams, but it might be a decent first step -- so the 1st player joins random team, 2nd player joins other team, 3rd player joins (newly calculated) weakest team, 4th player joins (newly calculated) weakest team, etc.

I was imagining something much simpler than ELO scores anyway, as computers may be used by multiple people -- I was thinking something like ranking people as sqrt(1/[rank from previous game]). Just anything really to make the teams slightly more balanced than random team assignment =)
Reply

#5
It's always great if you can solve problems with code, but if you are around 12 people that gather together on a LAN, would it not be much easier to just talk to each other and sort out balanced teams by your own wits after a couple of testing matches? Or is that some sort of crazy idea that I have there?
My Xonstats Profile
Latest track on soundcloud: Farewell - to a better Place (piano improvisation)
New to Xonotic? Check out the Newbie Corner!

Reply

#6
(03-08-2018, 06:03 PM)Halogene Wrote: It's always great if you can solve problems with code, but if you are around 12 people that gather together on a LAN, would it not be much easier to just talk to each other and sort out balanced teams by your own wits after a couple of testing matches? Or is that some sort of crazy idea that I have there?

Yeah you're certainly right. I was mostly just curious if this was doable, and if so, where to look. I might poke around server/teamplay.qc, or...you know...just tell people to join the appropriate team Wink
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  [NEED HELP] Getting rid of Auto Balancing Teams DoomTheEpic 1 2,014 04-18-2022, 03:43 PM
Last Post: Mario
  How to tweak teams on my server? AndK 3 4,420 09-07-2021, 02:55 PM
Last Post: AndK
  [NEED HELP] Unbalanced Teams 3agle427 1 2,251 12-30-2018, 04:59 PM
Last Post: It'sMe
  For domination, is there a way to get the number of teams the current map supports? Notavi 0 1,886 08-11-2018, 04:00 AM
Last Post: Notavi
  I need bot commands for lobsiding teams DazeyDream 1 3,740 05-09-2018, 06:32 PM
Last Post: Zilor
  Bot Skill Level -maniac|Su- 2 8,950 03-15-2012, 02:26 PM
Last Post: -maniac|Su-

Forum Jump:


Users browsing this thread:
3 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-