Open spatiebot opened 4 years ago
Main issues related to the balance:
I see a complex solution, which I started to implement, but suspended at the moment. The idea in a nutshell is to fully automate and prevent manual intervention in the balancing process. More on that:
1. Сhange in the mechanics of participation. Make the "lobby" mode as it was in the BTR. The connected player cannot join the game immediately, first (s)he is sent to the lobby, i.e. spectate mode without the possibility of manually spawning.
Players who are inactive for a minute are also sent to the lobby and also lose the opportunity to return to the game manually. This applies to both those who have left spectate manually and those who are just standing afk on the map.
This step gives us control over the players' random connection/disconnection/function.
2. Real-time balance calculation. The calculation of balance points must be done efficiently in real time. The server should know the exact balance of forces at any time (now it happens only once during the break between games).
At this step we give the server knowledge of the balance at the moment when we need to connect a new player or vice versa to understand what happened after the player was disconnected.
3. Store the database of players. This will require using something like the @derpsderps69 /whois command (so that changing the nickname does not allow you to mislead other players and the server), maintaining a balance score of recently played players database to know the skill-level of the connected player.
At this step we define the level more precisely for the connected players (now the server assigns a minimum score to all newly connected players).
4. Full automation of the balance by the server. Remove the /switch command, prevent parallel fake connections with /whois, and transfer full responsibility for the balance to the server. As it is supposed to work:
5. Abuse monitoring. Players can always connect to the game and do nothing somewhere flying on the map, or use different connections/hardware to trick /whois command. Tracking this automatically is quite difficult. Therefore, people should feel responsible for their actions. So that they have an understanding that there will be consequences for destructive actions.
Whatever methods of protection are added, there should be periodic checks by the administrator/moderator of the server. Convenient game logs should be available to the administrator. It may also be useful to have a command available to the players to notify the administrator of the moment of the game to check.
The lobby idea is central to this solution. The disadvantage of this construction is that not everyone likes to just sit and watch. You could see that in the BTR games too: after being killed, many players immediately disconnected. Given the current state of the game (not many players), maybe the lobby should only come into effect when a certain amount of real players is connected. If there aren't many players, a good balance is hard too reach anyway.
The disadvantage of this construction is that not everyone likes to just sit and watch.
I totally agree. However, very few players assess the current state of game and balance before joining. I noticed this only for xplay and Mangogirl, maybe SECVATOR. But most people just start playing thoughtlessly. This is especially unpleasant when the score is 2/2.
In the case of the BTR, I only remember that it was mostly played by children, who, if I understand correctly, did it in between studies. That's why they were connected and disconnected by waves, which is still happening.
After a CTF shuffle, it's very discouraging to find yourself on the wrong side of a deeply unbalanced game. It requires some sacrifice to switch sides, which a lot of us are not willing to make.
1) How can we have a better balancing mechanism during the shuffle? 2) Is it possible to have a light version of balancing in the first part of the game if some players stay inactive or leave?