bernd-wechner / CoGs

Competitive Gamers Leaderboard Server (CoGs LS)
2 stars 4 forks source link

Implement the session results view #2

Open bernd-wechner opened 7 years ago

bernd-wechner commented 7 years ago

Currently started at CoGs/Leaderboards/templates/CoGs/view_session_results.html

The idea is given two dates will summarise the sessions played in the form:

Game Time finished

  1. Player
  2. Player
  3. Player ...

for each game played between the two times.

Think it best that I add two links to the Leaderboards page, which link to:

1) Sessions in place This would put the session result as above, above each leaderboard table when a leaderboard history is displayed that leaderboard an option as well, to display only the sessions results or the leaderboards or both would be great. And could 2) Sessions in Sessions view i.e. the standard sessions list, listing just those sessions that contributed to the leaderboards being displayed.

This only makes sense on a leaderboard display that has a history of board son display (where each board bar the far right one, represents one game result). The option need not exist until one or more history views are selected. The can be enabled/disabled in local Javascript. The actual session results can be sent along with leaderbaords in the context regardless, so the data exists locally, though as noted only for leaderboards that represent a specific session result change (so leaderboards to the left of the rightmost one in a history list).

bernd-wechner commented 6 years ago

I implemented a summary atop each leaderboad. Have yet to create a new view for it, but I coded up a Detail view on Session Lists and enough options to create a URL to one! So very close on this on!

bernd-wechner commented 3 years ago

A session impact view is implemented and evolving. Basic impact of a given session can be viewed.

As this should find use as feedback before committing a submission, it should also be able to show the final leaderboard before and after such a submission. The use case is entering historic game results. Because Trueskill ratings are a function not just of the game results but their order, inserting a game result (which has future results from its perspective already recorded) will force a rebuild of ratings in that game and such a rebuild might have surprising impacts on an existing leaderboard. A second use case is when an error is detected in an historic record and it is edited. Any number of changes can force a rebuild of ratings in that case. Including, if the game changes, if the time chnages, if the players change, or their rankings change etc. We also might just want to delete it! (i.e. discovered a double entry). So on create, update and delete views we want impact (upon final leaderboards) assessments.

This has yet to be implemented and some though is needed on optimal strategies, bearing in mind that rating rebuilds can be rather expensive (slow). One idea is to presever any conclusions we draw, so any such impact comparison, is saved with enough metadata, that it can be viewed again as an hypothetical (if the change was never committed) or historic (if the change was committed).

This could be a leaderboard snapshot for the game (or games (it's only one or two, two in the case the edit change the game, then both games are impacted) concerned as it stands and as it would stand if the change were committed (this is ALL to be done in one database transaction because it' not until we see the impact that we want to commit or abort)