domuspopus / overwatch-4v4-all-heroes

Reballanced and improved Overwatch 4v4 All Heroes mode.
0 stars 0 forks source link

Lobby balancing bugs #22

Closed domuspopus closed 8 months ago

domuspopus commented 8 months ago

Often during burst of new joiners lobby ends up imbalanced for a round. Possibly caused by Lobby Balance: Randomize which team new players joins rule. 83025f7487c0a2431f3ad58b78f6e203a1ee20cc attempts to address it. Also see https://github.com/domuspopus/overwatch-4v4-all-heroes/issues/22#issuecomment-1775298148.

domuspopus commented 8 months ago

Marking this issue as ongoing place for all bugs related to lobby balancing. Lobby balancing functionality is excessively hard to test and debug and any observations during live games are unclear when players swap, join and leave rapidly.

domuspopus commented 8 months ago

confirmed bug Random swap rule executed before new member joined second team, I guess server decides team for new player way before it will be seen by code, not much we can do other than add another wait at the end and move player back to team one if team comp get imbalanced, that's an issue however because it could prevent that player from spawning for one round.

Alternatively modify random swap rule to catch players joining any team. On Team 1 keep rule same, on Team 2 move in case of imbalance.

https://github.com/domuspopus/overwatch-4v4-all-heroes/assets/145211041/a145bd3f-c08e-42ec-9fb6-4d202f37aeab

domuspopus commented 8 months ago

confirmed bug Possibly when isbillen suddenly left our code did not pick player from opposite team to swap from because team equality was no longer valid. Rule did pick both players to be swapped judging by debug view but why didn't it move first pick (one of reds)?

UPD: Should be fixed in 3953434df6703b4173a87991f07f26a6057fd205.

https://github.com/domuspopus/overwatch-4v4-all-heroes/assets/145211041/6c37b0bd-4072-46c2-99e3-464c6513c131

domuspopus commented 8 months ago

Picked player from wrong team to swap on strike. No clue makes no sense. This was before I added LobbyBalance_VictorTeam = -1 condition so maybe related although winning team should have still been red since they are on streak so LobbyBalance_VictorTeam would contain Team 2.

UPD: Should be fixed in https://github.com/domuspopus/overwatch-4v4-all-heroes/commit/3953434df6703b4173a87991f07f26a6057fd205.

https://github.com/domuspopus/overwatch-4v4-all-heroes/assets/145211041/8a897b94-8f36-4a8b-98e8-fe130998e773

domuspopus commented 8 months ago

Prefaced all calls to Move Player to Team with another Move Player to Team that moves player to spectators first. Good chance this will help reduce stray bugs.

domuspopus commented 8 months ago

Latest refactor 1c92c48d1cc7a22050ffe86cb7842b2943dcbcf2 should have addressed plenty issues. Closing for now.