Shuffle your votecall's people!

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

Tue Dec 11, 2007 6:54 pm

  • Solved!
    (read post below)

    Summary and Pseudo Code

    I was just running some tests and dojo and I realized the votecall system is flawed. According to my investigation:
    Code: Select all
    vcall timelimit -1
    vcall timelimit -1
    vcall timelimit -1
    vcall timelimit -1


    The vote call system grabs object of maps, for the sake of this example, we'll call it an array of maps. This array of maps is seemingly:
    Code: Select all
    maps_to_vote($curmap,$limit) {
      // returns an array of maps
      return get_maps($curmaps+1,$limit)
    }


    Unfortunately, this array of maps that it returns is in the order in which the packs were loaded, no randomization.


    A 'Live' Example

    So say my maps are loaded:
    Code: Select all
    map 1
    map 2
    map 3
    map 4
    map 5
    map 6
    map 7
    map 8
    map 9
    map 10


    the vote call comes up, map 4 is selected. At the end of this match, the maps that will be in the vote call will be:

    Code: Select all
    map 5
    map 6
    map 7
    map 8
    map 9



    Why Is This a Problem?

    Some maps will be played less because they are loaded next to other more popular maps. This can send some people into a sort of 'strategy spiral', where they've built up many strategies on a few maps but refuse to play other maps where their strategies don't apply. This of course results in them getting their asses handed to them but players who have developed better strategies, leading them back to the popular maps where they feel safe.


    A Proposed Solution

    Randomizing the data object that's used as a pool on every vote call could alleviate the problem.
    Last edited by [-z-] on Tue Dec 11, 2007 7:57 pm, edited 1 time in total.
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Tue Dec 11, 2007 7:08 pm

  • g_maplist_shuffle 1
    1. Open Notepad
    2. Paste: ÿþMSMSMS
    3. Save
    4. Open the file in Notepad again

    You can vary the number of "MS", so you can clearly see it's MS which is causing it.
    User avatar
    divVerent
    Site admin and keyboard killer
     
    Posts: 3809
    Joined: Thu Mar 02, 2006 4:46 pm
    Location: BRLOGENSHFEGLE

Tue Dec 11, 2007 7:55 pm

Tue Dec 11, 2007 11:13 pm

  • I lol'd.
    User avatar
    pavlvs327
    Advanced member
     
    Posts: 86
    Joined: Mon Aug 27, 2007 9:05 pm



Return to Nexuiz - Development




Information
  • Who is online
  • Users browsing this forum: No registered users and 1 guest