Closed Moji-Asg closed 2 years ago
I haven't looked at your new formula yet, so I'm not gonna comment it.
But I wanna note 2 things:
Firstly, whatever the formula does should NOT rank groups with 35 player games all day the highest. The grouplist is supposed to be a place for potentially new players to find groups to start playing the game in, and groups that only play 35p games that tend to go up to an hour are really not the best place to start playing werewolf.
Secondly, your initial claim is wrong. You say that groups can currently get ranked high by playing games of 5 players that take 120 minutes. Let's calculate this example with the current formula. Assume, they create such an 120-minutes-game five times a day, okay? Then we got:
avgPlayersPerGame = 5 avgGameLength = 120 avgMinutesPerDay = 5 * 120 = 600 PPGFactor = -2/45 * 5^2 + 16/9 * 5 - 70/9 = 0 GLFactor = -1/90 * 120^2 + 2/3 * 120 = -80 PlayerFactor = 0 + (-80) = -80 // note that everything so far is independent from the number of times they play such games per day. TimeFactor = 600/54 = 11.11 // this is between 0 and 26.66 malus = (-80 - 11.11)^2 / 20 = 415.06 ranking = -80 + 11.11 - 415.06 = -483.95
This is an insanely low negative ranking and will not bring you anywhere on grouplist, even compared to a group that only plays one normal 5-player game per day. Also note how the ranking actually gets lower, the more often such 120minute-5player-games are played per day. So maybe you should reevaluate the need for a new formula at all.
I'm closing this since you haven't replied anymore. If you have any more arguments on this, feel free to comment them below, then we can reopen the issue.
When a group starts 5 player game and game takes 120 minutes, they earn more points for
/grouplist
... This is not true because every game with specific player counts has specific duration to get the most point!I want to suggest a new algorithm for this and if you like that you can use it...
First look at this graph ( Average Duration Graph )
This graph shows us the average duration for each game
Then look at this graph too ( Radius Graph )
This graph shows the radius for each game with different players.
What are these?
For example we have a game with 20 players... Average duration for 20 players is about 26min Radius is about 7 min for this game The best duration for this game is from 19min ( 26 - 7 ) to 33min ( 26 + 7 ). If game ends sooner or later, for each minutes in distance from radius, we decrease earned point. This is how my algorithm works. It can get enhanced and if the main idea was good I enjoy enhance it for better results or even I can help to code it.
Chart
Completion
Maybe you think for example 26min 20 players game will be better than 40min 35 players game. But No!!! I suggest use player counts as a multiplier. What I mean? Let me explain For example multiplier can be calculated by dividing players count by 5 and for 35 players game multiplier is 7. Then final point is
multiplier * point from duration
and for example for 44min 35 players game final point should be10 * 7 = 70
(For example maximum point is 10).