Loading...
  OR  Zero-K Name:    Password:   

Post edit history

Does the balance in the lobpot work?

To display differences between versions, select one or more edits in the list using checkboxes and click "diff selected"
Post edit history
Date Editor Before After
5/27/2021 11:54:44 PMDErankBrackman before revert after revert
Before After
1 I agree that it would be good to distinguish low ranks better than by different shades of orange. But this does not influence balance because the balancer operates on the continous numbers behind the discrete ranks. 1 I agree that it would be good to distinguish low ranks better than by different shades of orange. But this does not influence balance because the balancer operates on the continous numbers behind the discrete ranks.
2 \n 2 \n
3 I think there are two major improvements for balance to be made: 3 I think there are two major improvements for balance to be made:
4 \n 4 \n
5 1. Reduce "the fluff" that makes shown rating deviate from actual WHR mean value. 5 1. Reduce "the fluff" that makes shown rating deviate from actual WHR mean value.
6 \n 6 \n
7 2. Look into how the code iterates through player constellations and optimize it to also minimize rating deviation if this is possible without worsening equal win chances. Maybe the code can also be made more efficient so that more constellations can be checked for this without more computation power. If someone points me to this piece of code, I might take a quick look at it. 7 2. Look into how the code iterates through player constellations and optimize it to also minimize rating deviation if this is possible without worsening equal win chances. Maybe the code can also be made more efficient so that more constellations can be checked for this without more computation power.
8 \n
9 Edit:
10 I took a look in the code and found two balance functions: LegacyBalance and PartitionBalance. If player number < DynamicConfig.Instance.MinimumPlayersForStdevBalance, it does PartitionBalance. Otherwise LegacyBalance.
11 \n
12 LegacyBalance goes through up to 2 million constellations in a recursive way while also minimizing deviation weighted by DynamicConfig.Instance.StdevBalanceWeight (very elegant but not most efficient).
13 \n
14 PartitionBalance goes through all constellations iteratively. As going through all constellations would be too costly for very many players (more than 38 resulting in 1 million constellations), it defaults to LegacyBalance for very many players. This one is more efficient but I didn't find a deviation minimization in it.
15 \n
16 Now the question is what the values for DynamicConfig.Instance.MinimumPlayersForStdevBalance and DynamicConfig.Instance.StdevBalanceWeight are.
17 \n
18 [url=https://github.com/ZeroK-RTS/Zero-K-Infrastructure/tree/master/ZkLobbyServer/autohost/Commands]Commands[/url]
19 [url=https://github.com/ZeroK-RTS/Zero-K-Infrastructure/blob/master/ZkLobbyServer/autohost/Commands/CmdBalance.cs]CmdBalance[/url]
20 [url=https://github.com/ZeroK-RTS/Zero-K-Infrastructure/blob/06d3dbbae8f8da66e8631666df21124101e92daf/ZkLobbyServer/ServerBattle.cs#L455]ServerBattle[/url]
21 [url=https://github.com/ZeroK-RTS/Zero-K-Infrastructure/blob/06d3dbbae8f8da66e8631666df21124101e92daf/ZkLobbyServer/SpringieInterface/Balancer.cs#L401]Balancer[/url]
22 [url=https://github.com/ZeroK-RTS/Zero-K-Infrastructure/blob/06d3dbbae8f8da66e8631666df21124101e92daf/ZkLobbyServer/SpringieInterface/PartitionBalance.cs#L225]PartitionBalance[/url]
23 [url=https://github.com/ZeroK-RTS/Zero-K-Infrastructure/tree/master/ZkLobbyServer/MatchMaker]MatchMaker[/url]