Skip to content

dmelackov/OWBalancer

Repository files navigation

Balancer user guide

  1. Workspace
  2. Players
  3. Customs
  4. Lobby
  5. Balance
  6. Settings
  7. Math

Manage Workspace

Back


Manage Players

After selecting workspace you can add new players in small menu on the top. Than player will appear in the bottom of players menu.

You can also edit player nicknames or delete players / customs by rcl on players name in the list


Back


Manage Customs

P.S - Customs are "profiles" of players created by different users. You can use other users's customs, but you can't edit not your own custom. Depending on the settings of the workspace (custom system), there can be 2 options for working with custom:

  • if "noCustom" setting is ON in the workspace, then custom will not be used and all players will be shared between different users

  • else there is a menu when you trying to add player to lobby:

    image

    Here you can select which one of the customs you want to add into the lobby. Your own custom is highlighted with green.

Back


Manage Lobby

  • Update this section after implementing general lobby feature into the frontline

Back


Balance Lobby

When lobby is filled u should click on "Balance teams" button on the bottom

This may take some time due to a lot of calculations or server load

Then after loading you will get balance.

You can scroll through the balance options to find the best one. And you can also swap players manually by drag n drop system.


Back


Settings

You can get access to user settings by clicking onto nickname in right top corner and click settings

Here you can edit decoration settings and balancer math coefficients (more about math here)

  • Custom Autochoice - let you automaticly select your own custom while adding people into lobby
  • Extended Lobby - let you add additional people into lobby. When balance it will pick random players to generate balance
  • Extended Result - shows you additional information on balance image (Uniformity and Fairness)
  • Autoincrement - Not realised yet

Back


Math

Balance list is sorted by analyzing each of the balances using the mathematical formulas described below (hereinafter simply evaluation)

let:

X - list of players in team A
Y - list of players in team B
Z - list of player for both teams A and B

then:

$$s_p(X) = \left( \sum_{x\in X} sr_x^p \right)^{1/p}$$

$$dpFairness(X, Y) = |s_p(X) - s_p(Y)| = \left|\left( \sum_{x\in X} sr_x^p \right)^{1/p} - \left( \sum_{y\in Y} sr_y^p \right)^{1/p}\right|$$

$$r_p(Role) = \left(\left|\sum_{{Role_x}\in X} sr_{Role_x} - \sum_{{Role_y}\in Y} sr_{Role_y}\right| * roleWeight\right) ^ p$$

$$ dpRoleFairness(X, Y) = \left|\left( r_p(Tank) + r_p(Dps) + r_p(Support) \over 3 \right)^{1/p}\right| $$

$$MU_z = {\sum_{z\in Z} sr_z \over len_Z}$$

$$vqUniformity(X, Y) = \left| \left({\sum_{x\in X} |x-MU_z|^q \over len_X}\right)^{1/q} - \left({\sum_{y\in Y} |y-MU_z|^q \over len_Y}\right)^{1/q} \right|$$

# evaluation

$$ImbalanceFunc(X, Y) = \alpha * dpFairness(X, Y) + \beta * dpRoleFairness(X, Y) + \gamma * RolePriorityPoints + vqUniformity(X, Y)$$

All coefficients can be changed on the settings page according to this list:

alpha - LinearFairnessCoef
beta - LinearRolesCoef
gamma - OffrolesPenalty
p - FairnessPowerApproximation
q - UnifomityPowerApproximation
tWeight - TankMultiplier
hWeight - HealMultiplier
dWeight - DpsMultiplier

On the balance result you can see

$$Evaluation = ImbalaceFunc(X, Y)$$

$$Fairness = \alpha * dpFairness(X, Y) + \beta * dpRoleFairness(X, Y)$$

$$Uniformity = vqUniformity(X, Y)$$

Back

About

Overwatch Balancer

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages