well one idea would be to use the past X number of maps to skew what maps can be nominated/voted for
for example, in the last 100 maps if voodoo has been played 20% of the time then make it 20% less likely to be added to the list
the more it gets played the less it can be played, the less it gets played the more it can be played
in theory this should even out the maps distribution
1st map, map1, vote for anything but the map you're on, so i guess map1@100% chance to not appear (to be excluded)
2nd map, map2, map1@50%, 50/50 for map1 to appear, say it doesn't
3rd map, map3, map1@33%, map2@33%, map3@33% 2/3rd chance for all 3 choices, say map 1 appears and is voted for
4th map, map1, map1@50%, map2@25%, map3@25%, 50/50 for map 1, 3/4 for other 2
5th map, map4, map1@40%, map2@20%, map3@20%, map4@20%, say map 2 appears and is voted for
6th map, map2, map1@33%, map2@33%, map3@16%, map4@16%, say map 4 appears and is voted for
7th map, map4, map1@29%, map2@29%, map3@14%, map4@29%, say miraculously map1 appears and is voted for
8th map, map1, map1@38%, map2@25%, map3@13%, map4@25%, say map 3 and 1 (somehow) appears, 1 is more popular and gets voted for
9th map, map1, map1@44%, map2@22%, map3@11%, map4@22%, map 3 still appears, but is unpopular, so a new map is voted for
10th map, map5, map1@40%, map2@20%, map3@10%, map4@20%, map5@10%, map5 turns out to be popular and gets voted for the next 3 times
11th map, map5, map1@36%, map2@18%, map3@9%, map4@18%, map5@18%
12th map, map5, map1@33%, map2@17%, map3@8%, map4@17%, map5@25%
13th map, map5, map1@31%, map2@15%, map3@7%, map4@15%, map5@31%, maps 2 3 and 4 aren't excluded, nobody likes 3, they vote for 2
14th map, map2, map1@29%, map2@21%, map3@7%, map4@14%, map5@29% 1 3 and 4 show, but since nobody likes 3 and love 1 so vote 1
15th map, map1, map1@33%, map2@20%, map3@7%, map4@13%, map5@27%
map 1 is played 5 times (33%)
map 5 is played 4 times (27%)
map 2 is played 3 times (20%)
map 4 is played 2 times (13%)
map 3 is played 1 time (07%)
at first glance these numbers seem to show that this model won't help map rotation, but if we skew these so that maps are harder to play consecutively (default add 80% increase to percentage, decrease this number for each map based on the number of maps since that map was last played)
NumPl = Number of Times map is played
NumTo = Number of Maps that have been played thus far total
NumLa = Number of Maps since map has been last played (current map = 0, previous map = 1...) (current map the deviation of 80% is ignored because we can't devide by 0, and we're currently playing the map so it should be impossible to play it again right away unless they want it extended)
map% = NumPl/NumTo + (80/NumLa)
1st map, map1, vote for anything but the map you're on, so i guess map1@100% chance to not appear (to be excluded)
2nd map, map2, map1@50% + (80/1)% = 90.0%, 1/10 for map1 to appear, say it doesn't
3rd map, map3, map1@33% + (80/2)% = 46.2%, map2@ 33% + (80 * [1/1])% = 59.4%, map3@100%
you can see after 3 maps it's no longer 33% across the board, the numbers are skewed in the favor of the map played longest ago
i'll post more tonight, maybe
but you get where this is going
this is just a thought... and some bad math, but mostly a thought
A programming genius called HEAP
Had trouble in getting to sleep
So he made his lambs troup
through a huge FOR-NEXT loop
FOR 1 TO 10000: NEXT sheep.