The /in-vitational is a player/mod matching system which has been run three times previously. The general process is:
- All interested players and mods sign up. Mods optionally post what type of game they intend to run if selected.
- Once the list is final, all players send preference lists for players, mods, and a range of game sizes.
- The algorithm spits out a set of games attempting to maximize a happiness score.
- Play those games!
We have used a different algorithm each time we've done this, and will almost certainly come up with yet another one this time, so the main discussion point for this thread will be determining priorities for placement. The general rules (subject to weighting) are:
- "Don't" preferences are mandatory - players should never be placed in a game with players they don't want to play with, by mods they don't want to play under (whether because of the mod or because of the mod's proposed setup), or with too many or too few players.
- For a given potential solution, points are awarded for players being in a game with other players on their like list (possibly weighted - last time players could give their preferences a weighting from 1 to 3), with mods on their like list, and for being assigned to a game at all.
- We have also discussed giving bonuses for meeting at least X likes for a given player (to avoid games being formed where none of the players have opinions, just because of the assignment bonus). This might be in lieu of an assignment bonus (or your preference list may include something along the lines of whether you would like to meet a certain threshold, or whether you just want to be in a game and don't care that much about who is in it).
Issues that have popped up in previous iterations:
- Because the algorithm generally looks for an overall maximum happiness, it generally spits out one large game full of "popular" players with a really high score, while the "last" game or two have few matches and are formed as leftover games to include as many as possible. Providing significant bonuses to a player's first or second match may reduce this behavior somewhat.
- The low-score individual games are also sometimes due to players not submitting enough likes; I'm not sure there is any way around this, other than emphasizing that the point of this system is to match players who want to play together, whereas if you don't care about that part you can just join any old game in the queue.
- Replacements are a big problem - we usually can't use unmatched players, because of "don't" preferences. One possible solution is to allow players to join a second game as a replacement, if needed, and give a list of all potential allowed replacements for each game.
Feel free to comment with suggestions for what you would like to see in a matching algorithm, or just express your interest in participating. At this point, I'm not expecting signups to happen 'til after Thanksgiving at least, which means games starting early next year.