B3none / cs2-retakes

CS2 implementation of retakes. Based on the version for CS:GO by Splewis.
GNU General Public License v3.0
182 stars 37 forks source link

Add AutoTeamBalance configuration setting #110

Closed kraigher closed 4 months ago

kraigher commented 5 months ago

The use case for this settings is when a pre-made team wants to practice with each other in separate discord channels and not automatically switch sides all the time.

Some questions

B3none commented 5 months ago

To answer your questions:

  1. The balancing logic is to ensure that each team has the correct number of players (if people leave mid way through the round etc we need to ensure teams are still as expected)
  2. This particular part of the application was tedious to test / implement which made the final working solution a pretty mixed combination of things. It's likely that

The two types of logic are:

  1. Handle balancing when players win (swap least impactful t player / most impactful ct player depending on which teams need more players)
  2. Handle swapping of players to ensure target team sizes (also do it based on round score)

It's for this reason that this change / config variable may not be the best way to represent what people are after. However, I do think there are positives to this change.

I think writing these changes we could keep in mind that people may want to write their own third party team balancing solutions. Although, in my experience finding people that actually want to write these changes is hard.

B3none commented 4 months ago

@kraigher I'm going to close this for now. Happy for these changes to be fixed and implemented, see my previous response.