Smart Voting System, or "How to make people NOT wait 30 seconds"

The current map voting system waits full 30 seconds unless everyone casts a vote. Since one’s vote cannot be changed, this should not be how it works in the vast majority of the situations.


Current Voting System

Let’s examine this simple example:

  • 4 players vote on Paradise
  • 0 players vote on Coldsnap (as usual)
  • 3 players vote No Preference

Just 7 out of 10 votes have been casted, but the remaining three cannot change the outcome. Even if the other 3 votes go towards Coldsnap, Paradise still has 4 and wins.

But the vote timer still counts full 30 seconds.


Okay, let’s go with a simpler setup…

  • 9 players vote on Paradise
  • 0 players vote on Coldsnap
  • 0 players vote No Preference

90% of the players voted on a single map. There’s no way Coldsnap can win.

But the vote timer still counts down and doesn’t plan to stop until the 10th player casts their vote.


We can save all these precious seconds of our lives if Gearbox introduces a smarter voting system. Let’s be creative and call it the…

Smart Voting System

We’ll need a threshold. A number that’ll tell us that the final result is determined and there’s no point in voting anymore.

  1. Take the number of players.
  2. Subtract the number of votes on No Preference.
  3. Divide the result by two.
  4. Round down.
  5. Add one.

In a single line:
threshold = 1 + floor ( ( player_count - no_preference_vote_count ) / 2 )


The threshold value is calculated after each vote, because no_preference_vote_count could have changed.
Then, all map’s votes are checked if they are equal or greater than the threshold.
If so, that map wins and the vote immediately ends, because others’ votes cannot change the outcome and they’re just wasting everyone’s time.


What’s great about this is that it works for any positive number of players, and any number of maps greater than one. Because if you have one map, then… well, there’s no point in voting.

Of course, if everyone casted their vote, or if 30 seconds have elapsed, then the old system can kick in and just count the votes the normal way. The above “smart” system should help shorten the vast majority of the map votes though.


I’ve had plenty of time to think this same thing while waiting for that tenth person to not vote. :x

This is a well thought out and efficient idea.