Opened 10 years ago

Last modified 8 years ago

#2449 new enhancement

Store more lobby user statistics into the database.

Reported by: scythetwirler Owned by:
Priority: If Time Permits Milestone: Backlog
Component: Multiplayer lobby Keywords:
Cc: Patch:

Description (last modified by scythetwirler)

It would be nice to have profile fields such as Highest Rated Win, Average Rating of Opponents, and Win/Draw/Loss Statistics.

Change History (11)

comment:1 by Josh, 10 years ago

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).

comment:2 by scythetwirler, 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)
Last edited 10 years ago by scythetwirler (previous) (diff)

comment:3 by scythetwirler, 10 years ago

Status: newassigned

comment:4 by Josh, 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 scythetwirler, 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 Stan, 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 scythetwirler, 10 years ago

Description: modified (diff)

comment:8 by michael, 10 years ago

It would also be great to include "overall" statistics, like:

  • Number of times each map was played.
  • Civilization Win:Loss record.
  • Total number of hours played.

And all of this being readable by registered players.

in reply to:  8 comment:9 by Josh, 10 years ago

Replying to michael:

It would also be great to include "overall" statistics, like:

  • Number of times each map was played.
  • Civilization Win:Loss record.
  • Total number of hours played.

And all of this being readable by registered players.

As I said previously thought, storing each and every statistic which could be generated as needed is repetitive. As it is now we store every statistic on the summery screen and more.

As for display, the data would be available (to start with) by clicking on a player's name in the userlist.

Last edited 10 years ago by Josh (previous) (diff)

comment:10 by scythetwirler, 10 years ago

Also linked to this is #2504.

comment:11 by scythetwirler, 8 years ago

Description: modified (diff)
Owner: scythetwirler removed
Status: assignednew
Note: See TracTickets for help on using tickets.