I’ve seen this posted on the Nexon forums. Good ideas are worth spreading.
It’s very common for one team to have more members for a few minutes. Matchmaking can’t entirely deal with this, especially that players who join mid-game must wait 15 seconds even if they join the smaller team.
The idea is simple and could work instantly!
If teams aren’t even, excess players don’t respawn as often.
Example implementation:
Team A has 7 people.
Team B has 5 people.
The difference is 7 - 5 = 2. Let’s call it X.
When people on team B die, they respawn normally.
When people on team A die, X players from it don’t respawn with others. So they can respawn only up to 5 players. If 1 player of team A is dead, he doesn’t respawn at all. If 2 are dead, they don’t respawn. If 3 are dead, ONE respawns. If 5 are dead, 5 - 2 = 3 respawn. If 7 are dead, 7 - 2 = 5 respawn.
People who have been delayed for one spawn cycle are prioritized in the next spawn wave.
I think it solves the problem of outnumbered teams neatly. Players in the bigger team will be annoyed by waiting, and that’s great!. They will be motivated to switch over instead of waiting for the issue solve itself magically (crapically) through matchmaking.
Another advantage is that it can be used for Stopwatch. If people leave on Stopwatch, that’s not nice, because you’re no longer comparing the same teams. But if a new player joins mid-match, that’s also not so nice, because Stopwatch is supposed to test two identical teams.
