Sounds nice.
Now only if I had friends to be competitive with.
Now only if I had friends to be competitive with.
peppy wrote:
I am hoping to address this in a round-about way in the future. For now, due to my previously mentioned reasons, it is not possible.You need an index per-user per-beatmap ordered by score. As this information is obviously not stored in a single table, it means duplicating a lot of data, which all needs to be updated on a regular basis. Making this an efficient lookup is one of the most challenging query types for a database. It of course can be done, but requires a lot of optimisation, consideration and storage space.mmstick wrote:
I don't see how this would be intensive to implement, plenty of other games do this. One way would be to store all scores on a server, only keeping the highest score a user makes and the client simply grabs the data from the website database in real-time (similar to embedding a frame of a webpage). Another way would be for the clients to individually ask other clients for their highest local scores to sync with and promptly attempt to sync with friends clients when a new high score is obtained.
Your solutions may sound simple to you, but aren't actually feasible due to over-simplication (suggestion 1) or incorrect approach (suggestion 2).
I might not understood the whole problem, but how about having a "Show friends scores" button for each beatmap in the client, which then downloads the full rankings for said map and parses the info in the clients own computer?peppy wrote:
I am hoping to address this in a round-about way in the future. For now, due to my previously mentioned reasons, it is not possible.You need an index per-user per-beatmap ordered by score. As this information is obviously not stored in a single table, it means duplicating a lot of data, which all needs to be updated on a regular basis. Making this an efficient lookup is one of the most challenging query types for a database. It of course can be done, but requires a lot of optimisation, consideration and storage space.mmstick wrote:
I don't see how this would be intensive to implement, plenty of other games do this. One way would be to store all scores on a server, only keeping the highest score a user makes and the client simply grabs the data from the website database in real-time (similar to embedding a frame of a webpage). Another way would be for the clients to individually ask other clients for their highest local scores to sync with and promptly attempt to sync with friends clients when a new high score is obtained.
Your solutions may sound simple to you, but aren't actually feasible due to over-simplication (suggestion 1) or incorrect approach (suggestion 2).
It still requires downloading info from leaderboard beforehand, no?Kalle wrote:
I might not understood the whole problem, but how about having a "Show friends scores" button for each beatmap in the client, which then downloads the full rankings for said map and parses the info in the clients own computer?
But only if user pushes the button to check, it wouldn't happen automatically, which would drastically reduce the traffic. can't really think about better method mainly because my understanding about programming is very minor.Winshley wrote:
It still requires downloading info from leaderboard beforehand, no?Kalle wrote:
I might not understood the whole problem, but how about having a "Show friends scores" button for each beatmap in the client, which then downloads the full rankings for said map and parses the info in the clients own computer?
Imagine million of users trying to fetch the leaderboard from the server...
This idea is interesting, which I support. But we need an efficient method so that it doesn't take too much server load.
it's how peppy implemented it. don't expect him to do exactly what the request is asking for.mochi wrote:
Any chances of there being a ranking list containing ONLY friends? I don't believe anybody asked for a unified list...