Skip to content
This repository has been archived by the owner on Jan 28, 2021. It is now read-only.

Add timestamp to Score #615

Open
mtirion opened this issue Dec 20, 2017 · 3 comments
Open

Add timestamp to Score #615

mtirion opened this issue Dec 20, 2017 · 3 comments

Comments

@mtirion
Copy link

mtirion commented Dec 20, 2017

For the scenarios where you want to position a score in time, it would be nice to have a timestamp added to the score.

@krist00fer
Copy link
Contributor

Hi Martin, thanks for your suggestion and also thanks a lot for PR #616 with a suggested implementation. Before we accept the PR, could you just explain what scenario you are referring to. I guess you are thinking about a scenario like "Daily Top-N Highscore" or similar. If so, this is indeed a scenario that are being thought after and used in many games. I know such a scenario would overlap the existing implementation, but perhaps we should make sure to implement such a leaderboard as a separate scenario in order to show usage of the suggested added TimeStamp. We are trying to keep the implementations as easy to understand as possible at all times so adding any code that isn't used right now is something we try to avoid. Still having the same implementation for many scenarios is also another principal that we try to follow as much as possible, so adding a timestamp in the top-n leaderboard might very well be the correct thing to do... as long as we have another scenario that uses that functionality.

Let me know your thoughts

@mtirion
Copy link
Author

mtirion commented Dec 20, 2017

Hi Kristofer, the timestamp is just to add information when the score was achieved. Interesting to see that the high score was achieved 3 years ago (or something like that). So no extra implementation for a timely high score list.

@krist00fer
Copy link
Contributor

@mtirion I agree and understand the use case you want to achieve, but unless we show that use case in an implementation or by documenting how it could/should be used, then the extra piece of code "doesn't provide any value". I put that in quotes, since it can obviously provide value if you use the information, but there are many other things that could be there that we have cut or not implemented just because we don't yet have anything that shows it's value.

Let me give you an example. We thought of having "level" as a parameter on the score, because then someone could implement a leaderboard that could be queried per level. Unfortunately not every game need levels and we don't yet have an implementation in "Nether" that shows how to do leaderboards/level, so we cut those features and have deferred them in any pull requests (not that there have been many) until a PR comes in that both implement the level functionality while submitting scores and the leaderboard that you can query per level. The around-me leaderboard implementation actually have a similar functionality where you can have many leaderboards but there are considerations that we perhaps should simplify the around-me implementation and cut that feature and make it available in another scenario. All of this just in order to keep it simple and have every piece of code needed.

Your PR #616 looks just about right as long as we also implement a scenario that uses the data. I agree that it could be useful, but most leaderboards that I've seen doesn't show the date. There are however many leaderboards that reset themselves per day, per month or only show scores for the last 24 hours, etc. so the timestamp on the score object could very well be useful in those implementations.

Let me know if you need my assistance in creating such a scenario that uses your timestamp property.

CC:ing some other contributors to see if they have different opinions than me: @stuartleeks @deadlyfingers @rzdebskiy @navalev @amynic @oliviak

I do want to thank you specially Martin that you keep discussing this with us. I'd love nothing more than an active community around gaming in Azure, so thank you!!!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants