cultris-community / back-end-user-stories

Lets try to figure out the requirements for the backend by writing down some user stories.
4 stars 0 forks source link

avg SPM #2

Open CosmanAgraz opened 6 years ago

CosmanAgraz commented 6 years ago

As a Cultris 2 player, I want to see my average SPM over the last 20 games so that I can determine if I'm improving my combo game

Noir- commented 6 years ago

I think this is more of a game feature. Even though it would also need a visual representation on the client side IMO it is slightly out of scope at the moment.

chinatsu commented 6 years ago

It could be shown on the web site, although perhaps with a wider scope than only 20 games. Games should be recorded individually in the database, so it should be relatively trivial to grab with a single query.

SELECT AVG(spm) FROM (
    SELECT TOP 100 * FROM games WHERE user_id=$some_id ORDER BY game_id DESC
);
kb1900 commented 6 years ago

@Noir- considering that this cna be implemented as a website-side feature lets re-label this.

@chinatsu I didn't even know that SPM was part of the game-data that gets put in the data base. Are the other stats there as well? Because then it seems trivial to grab a whole slew of stats:

Taken from synth:


FFA/1v1/All

Games played (day, week, month, total) 
% of games won with highest combo (rolling 50 games, total)
% 1st place (rolling 20 game, total)
Average SPM (rolling 20 game, total)
Average BPM (rolling 20 game, total)
Average Peak BPM (rolling 20 game, total)
Average highest combo (rolling 20 game, total)

Cheese

Average time until victory (rolling 20 game, total)
Average pieces used ((rolling 20 game, total)
chinatsu commented 6 years ago

Oh, I don't know if it is, but perhaps it could be derived from other fields. I know game time is kept track of on a per-user-basis. I can only imagine lines sent (per user) and game duration is tracked on a per-game-basis.

kb1900 commented 6 years ago

@blaataap can you clarify, outside of user/pass/hash/maxbpm/maxcombo/score what other game data gets to the database? This way we can figure out what stats are possible to display of those that are interesting.

i had no idea that game data is more or less logged on a per-game-basis

blaataap commented 6 years ago

It has per-game-basis records im not sure how these are used by the Game Client and on the website:

Blocks, PlayDuration, MaxCombo, LinesSent, LinesGot, LinesBlocked, Rank, TotalPlayers, Ruleset, Start, SpeedLimit, Team

I guess spm is calculated based on lines sent and play duration. I'm also guessing that Ruleset is used to determine if this record is used for ranking purpose or if its a non-FreeForAll game and thus does not count for ranking.