Opened 10 years ago
Last modified 9 years ago
#2449 new enhancement
Store more lobby user statistics into the database. — at Version 7
Reported by: | scythetwirler | Owned by: | scythetwirler |
---|---|---|---|
Priority: | If Time Permits | Milestone: | Backlog |
Component: | Multiplayer lobby | Keywords: | |
Cc: | Patch: |
Description (last modified by )
It would be nice to have profile fields such as Highest Rated Win, Average Rating of Opponents, and Win/Draw/Loss Statistics.
Change History (7)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
I think we should minimize the calculations needed on retrieval for performance since I assume that people may view profiles more times than they play rated games. Updating the average rating for opponents after every game should only comprise of
average_rating = (average_rating * num_games + new_opponent_rating)/(num_games + 1)
comment:3 by , 10 years ago
Status: | new → assigned |
---|
comment:4 by , 10 years ago
I considered that, but that would result in an increasingly unmovable average opponent rating.
limit (num_games -> infinity) of ((average_rating * num_games + new_opponent_rating)/(num_games + 1)) = 0 delta change.
comment:5 by , 10 years ago
That is part of the purpose. :P It gives a general overview of the type of players a user prefers to play, whether the user likes to play people much better at the game or "farm" off lower rated players.
comment:6 by , 10 years ago
Would be nice to have a reset also server side to be able to make your ratio higher if you had lost a lot of game in the past. Because if let's say you lost 100 games, it's hard to keep up.
comment:7 by , 10 years ago
Description: | modified (diff) |
---|
The original idea behind the database was to store primitive statistics and generate more complex statistics as needed. I think these things could be generated on request (storing average rating of opponents in the DB would be especially complex).