Jump to content

Percentage Based Antag Requirements


BurgerBB

Recommended Posts

Posted

Current antag limitation/requirement code is a fucking mess and it needs to be fixed.

Worst case scenario there can be 30 crewmembers and 1 changeling. This happens almost all the time since changeling is so unpopular to play.

Worst case scenario there are 9 crewmembers and 4 raiders.

Absolute worse case scenario there are 17 crewmembers, 4 mercs, 4 raiders.


I propose percentage based limits and requirements. Basically what this means is that the amount of antags who spawn is based on the amount of players who are currently playing.


For example, if I set the antag minimum percentage to 10%, and there are 30 players playing, then the round will only start if the game can find 3 antags.

If I set the antag maximum percentage to 20%, and there are 10 players playing, no more than 2 antags will spawn.

If I set the antag maximum percentage to 10%, and there are 10 players playing, and the gamemode requires 2 antags, then the gamemode will not start.


I don't know how this will affect secret selecting, but if you're brave enough you can basically drop down all the player requirements for high player requirement games since this new system will limit the amount of antags that spawn in a round. You can have a crossfire round with 2 raiders and 2 mercs if you wanted to.

Posted

This sounds like a bandaid fix and not a real fix.


If the round now is shit because of too many antags, the round with this change will be shit because there aren't enough antags.

Posted

As it turns out there is actually already a limiter of antags per crewmembers, however it is not applied to all gamemodes, and it only worries about MAXIMUMS not MINIMUMS, which means that it will only limit the amount of antags.


For clarification, the current system works like this:

Compare the readied up player count to the required number of players. If there are less players than the required amount, then do not start the game.

Compare the amount of antag-enabled players for that specific gamemode to the require amount of antags. If there are less players than the required amount, then do not start the game.

Randomly distribute antag status to random players who have antag status enabled, limit it based on the amount of players playing.


The amount of antags is flat and isn't adjusted based on how many players are playing or how many crewmembers are readied up.


My implementation would be like this:

Compare the readied up player count to the required number of players. If there are less players than the required amount, then do not start the game.

Compare the amount of antag-enabled players for that specific gamemode to the require amount of antags. If there are less players than the required amount, then do not start the game.

Compare the amount of antag-enabled players for that specific gamemode to the percentage requirement for amount of antags. If there are less players than the required amount, then do not start the game.

Randomly distribute antag status to random players who have antag status enabled, limit it based on the amount of players playing.


The amount of antags is percentage based, inside the code everything will be adjusted appropriately. A lot of debate will be needed on how many antags there should be per other player.

Posted

This sounds like a bandaid fix and not a real fix.


If the round now is shit because of too many antags, the round with this change will be shit because there aren't enough antags.

 

The numbers haven't even been debated yet and you're already calling this shit. This addition literally adjusts the amount of antags based on players playing. There will be no such thing as "too many antags" or "not enough antags"

Posted

Some points. First, you need a minimum still. Some rounds, most notably team based one, have a minimum player count past which they cannot be scaled. At all. End of.


Second, you will need a maximum. For ostensibly the same reason. Imagine a round with like, 5 or more lings. There's a sensible limit past which single antag modes get questionable (they weren't balanced for it, meant for it, etcetera). Your options at that point would be to either: scale to that point and stop. And accept the fact that you can potentially have scenarios of 70 players vs 5 lings. Or implement some form of more dynamic round make-up. Like giving each round a secondary antag type which it'll start to spawn in as it reaches its maximum threshold.


Third. The percentage idea is really weird to think about. So uh, for the sake of making maintenance and clarity into a thing. Call it a ratio. Because it does the exact same thing, but it's way easier to imagine a ratio of 10:1 than... 10% crew must be antag. (The difference is easier to illustrate with less round numbers. And in general, a ratio is used to describe this things more commonly.)

Posted

Yes, I will need to prepare the server for the unlikely scenario of 10 antags on a station because there are 100 players.


So, the system will account for a:

Flat minimum value; you need this amount of antags to start the game

Flat maximum value; do not create any more than this amount of antags

Dynamic minimum value: x% of players must be antags to start the game.

Dynamic maximum value: do not create any more antags if x% of the crew are already antags.


I was actually thinking of spawning random traitors (perhaps a ninja, perhaps just giving someone vamp or traitor) if more players join the server, however that will need approval.

Posted

I think for Merc and Raider rounds- especially Crossfire- it should check for Security players, or something. Like see who is set to Security as [High]. Nothing is worse than Crossfire with no Security.

  • Gem locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...