Forged Alliance Forever Forged Alliance Forever Forums 2013-04-21T23:56:51+02:00 /feed.php?f=42&t=3659 2013-04-21T23:56:51+02:00 2013-04-21T23:56:51+02:00 /viewtopic.php?t=3659&p=39387#p39387 <![CDATA[Re: Autobalance algorithm?]]>
Nari wrote:
It might be better if 2nd and 3rd highest went to team 2 instead, and the 4th go to team 1. so that it is more balanced, since the way you have it I can see team 1 having the slight advantage.

Actually, I think you might be able to do it this way.

Put 1 Team A and 2 on Team B.
Store of ratings of Team A and Team B.
Then place 3 on B and 4 on A.

And here is the tricky part.

If there are more players, put 5 on A and 6 on B. Then calculate the average rating. We call this configuration T1.
The put 5 on B and 6 on A. Calculate average rating again and call this configuration T2.

Then we compare the difference of the average ratings between T1 and T2 and select the configuration with the least difference.

Then repeat if there are more players.


Of course I am not so good with code, so I probably couldn't write the algorithm for it.


I imagine you're aiming at what Axle wants me to achieve, which is maximizing the game quality according to Trueskill. I don't see the balancer ever really being a perfect, go-to function for setting teams in stone, but rather to assist players connected to a lobby in how they should arrange themselves by teams to get a decent quality score. Manual changes would still be able to be made if the balancer happens to miss something.

Statistics: Posted by Vicarian — 21 Apr 2013, 23:56


]]>
2013-04-21T23:51:08+02:00 2013-04-21T23:51:08+02:00 /viewtopic.php?t=3659&p=39386#p39386 <![CDATA[Re: Autobalance algorithm?]]>
Axle wrote:
I don't think the "kickball" algorithm is ideal because it stacks team 1. consider that team 1 always gets the best player and team 2 always gets the worst. Better would be to search all the combinations for the one that maximises the trueskill "game quality".


For me, the "kickball" method is a decent starting point to test the logic handling the slot switches. I can tweak the method by which the teams get balanced afterwards. I constantly edit the stuff I write to make it better and more efficient, so you don't have to think that one particular method will be the only one used.

Statistics: Posted by Vicarian — 21 Apr 2013, 23:51


]]>
2013-04-21T23:46:59+02:00 2013-04-21T23:46:59+02:00 /viewtopic.php?t=3659&p=39385#p39385 <![CDATA[Re: Autobalance algorithm?]]>
jkleli wrote:
I am not particularly programming-savvy, and I know suggestions like this can unnecessarily burden our dearly beloved unpaid developers- but would a autobalancing feature be difficult to implement?

Balancing can be somewhat difficult these days due to the recent influx of new players, and I find that many games are unreasonably stacked if great care is not taken balancing the teams.

One way this could be implemented is by changing the "random" spawn selection into an autobalance, where the teams are picked the same way teams are balanced in kid's kickball games. IE:

Add to team 1 and remove from selection: Highest ranked player //highest ranked player put on team one
Add to team 2 and remove from selection: Highest ranked player //second highest ranked player put on opposite team
Add to team 1 and remove from selection: Highest ranked player //third highest ranked player put on team one to balance
Add to team 2 and remove from selection: Highest ranked player //fourth highest ranked player put on team two
//and so on and so forth.

I did my best to put that in a way that might make it easier to code.. Anyways, for your consideration^. Thanks for reading!


It might be better if 2nd and 3rd highest went to team 2 instead, and the 4th go to team 1. so that it is more balanced, since the way you have it I can see team 1 having the slight advantage.

Actually, I think you might be able to do it this way.

Put 1 Team A and 2 on Team B.
Store of ratings of Team A and Team B.
Then place 3 on B and 4 on A.

And here is the tricky part.

If there are more players, put 5 on A and 6 on B. Then calculate the average rating. We call this configuration T1.
The put 5 on B and 6 on A. Calculate average rating again and call this configuration T2.

Then we compare the difference of the average ratings between T1 and T2 and select the configuration with the least difference.

Then repeat if there are more players.


Of course I am not so good with code, so I probably couldn't write the algorithm for it.

Statistics: Posted by Nari — 21 Apr 2013, 23:46


]]>
2013-04-21T23:41:19+02:00 2013-04-21T23:41:19+02:00 /viewtopic.php?t=3659&p=39384#p39384 <![CDATA[Re: Autobalance algorithm?]]> Statistics: Posted by Axle — 21 Apr 2013, 23:41


]]>
2013-04-21T23:32:53+02:00 2013-04-21T23:32:53+02:00 /viewtopic.php?t=3659&p=39382#p39382 <![CDATA[Re: Autobalance algorithm?]]> i count someone with 500 games and 1200 rating better than someone with 200 games and 1350 ranking.
if there wasnt the problem thst many people have experience from gpgnet i eould only balance by games played...

Statistics: Posted by Golol — 21 Apr 2013, 23:32


]]>
2013-04-21T23:15:32+02:00 2013-04-21T23:15:32+02:00 /viewtopic.php?t=3659&p=39381#p39381 <![CDATA[Re: Autobalance algorithm?]]> Statistics: Posted by Vicarian — 21 Apr 2013, 23:15


]]>
2013-04-21T22:35:18+02:00 2013-04-21T22:35:18+02:00 /viewtopic.php?t=3659&p=39375#p39375 <![CDATA[Re: Autobalance algorithm?]]> Statistics: Posted by MushrooMars — 21 Apr 2013, 22:35


]]>
2013-04-21T10:27:25+02:00 2013-04-21T10:27:25+02:00 /viewtopic.php?t=3659&p=39307#p39307 <![CDATA[Re: Autobalance algorithm?]]>
  • I make sure that the host has Left VS Right or Top VS Bottom active for Auto Teams in the lobby. This is necessary for determining which slot belongs to which team, because it varies wildly by map.
  • I count the number of players connected to the game lobby by iterating through playerOptions, and store the player names and ratings in a local table.
  • I sort this table by rating, so that when I traverse it later, I will add players to slots depending on a result of a modulus of 2 and their rating.
I still need to:
  • Flesh out the move code (basically adapting Xinnony's slot switch functionality)
  • Error Check (IE. imbalanced teams due to map configuration - see Frostmill Ruins)
  • Optimize
I'm a bit too tired to finish it this evening, so I'll probably just play some games, but I should have a prototype by tomorrow evening.

Statistics: Posted by Vicarian — 21 Apr 2013, 10:27


]]>
2013-04-15T12:35:42+02:00 2013-04-15T12:35:42+02:00 /viewtopic.php?t=3659&p=38402#p38402 <![CDATA[Re: Autobalance algorithm?]]> Statistics: Posted by Ze_PilOt — 15 Apr 2013, 12:35


]]>
2013-04-15T12:34:31+02:00 2013-04-15T12:34:31+02:00 /viewtopic.php?t=3659&p=38401#p38401 <![CDATA[Re: Autobalance algorithm?]]> Random spots can be fun, but most of the time the game is decided right from the start. Random spots + balance would be a great option IMO. (or an option to make spots random only within each team, so that you can still balance)

Statistics: Posted by SC-Account — 15 Apr 2013, 12:34


]]>
2013-04-15T09:35:44+02:00 2013-04-15T09:35:44+02:00 /viewtopic.php?t=3659&p=38385#p38385 <![CDATA[Re: Autobalance algorithm?]]>
There is a probably a bug with it, but I don't have time to debug.

Statistics: Posted by Ze_PilOt — 15 Apr 2013, 09:35


]]>
2013-04-15T05:56:59+02:00 2013-04-15T05:56:59+02:00 /viewtopic.php?t=3659&p=38375#p38375 <![CDATA[Re: Autobalance algorithm?]]> Statistics: Posted by jkleli — 15 Apr 2013, 05:56


]]>
2013-04-15T05:51:01+02:00 2013-04-15T05:51:01+02:00 /viewtopic.php?t=3659&p=38373#p38373 <![CDATA[Re: Autobalance algorithm?]]> Statistics: Posted by Vicarian — 15 Apr 2013, 05:51


]]>
2013-04-15T05:44:12+02:00 2013-04-15T05:44:12+02:00 /viewtopic.php?t=3659&p=38372#p38372 <![CDATA[Autobalance algorithm?]]>
Balancing can be somewhat difficult these days due to the recent influx of new players, and I find that many games are unreasonably stacked if great care is not taken balancing the teams.

One way this could be implemented is by changing the "random" spawn selection into an autobalance, where the teams are picked the same way teams are balanced in kid's kickball games. IE:

Add to team 1 and remove from selection: Highest ranked player //highest ranked player put on team one
Add to team 2 and remove from selection: Highest ranked player //second highest ranked player put on opposite team
Add to team 1 and remove from selection: Highest ranked player //third highest ranked player put on team one to balance
Add to team 2 and remove from selection: Highest ranked player //fourth highest ranked player put on team two
//and so on and so forth.

I did my best to put that in a way that might make it easier to code.. Anyways, for your consideration^. Thanks for reading!

Statistics: Posted by jkleli — 15 Apr 2013, 05:44


]]>