You could get round large, "popular" games by dividing the score for each game by the possible number of likes (ie the number of players in the game squared).In post 0, mith wrote: 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.
I thought last time that it might also be sensible to put more weight on each player being happy; one player with 4 likes and one with 0 in a game is not as good as both having 2. One simple way to do that would be to square root the number of likes for each player.