Cadiac / sanuli

A finnish version of a popular word guessing game, written in Rust.
https://sanuli.fi
MIT License
64 stars 6 forks source link

more statistics #9

Open khlsvr opened 2 years ago

khlsvr commented 2 years ago

Like in the original game, it would be nice if the game logged on which turn you solved the word. So you would see in stats that you have solved for example 12 words on the 3rd try, 20 on 4th try and so on.

Timestamp when you start to solve a word and when you get it solved. Add these to statistics too, as in how long it took you to solve each wordle and count average times, show your best time etc. These are not in the original game but I think they would add value.

Make separate statistics for the daily words and the basic game/chain mode. For example the original game only has the daily word mode and has stats and it's nice. Currently this version accumulates stats independent in which mode you solve them.

I don't remember how this kind of thing is to be handled, but I copypasted the idea from the Lojban fork in case it gets implemented in one of the versions. Would be nice in both https://github.com/La-Lojban/valsr/issues/8

Cadiac commented 2 years ago

The changes I merged during the weekend were actually done in preparation for features like this - now multiple games can actually exist in the state, and user can switch between them without resetting them. Previously even the streak was in global state - now that is tracked for each game separately. I was yesterday also refactoring the state a bit more, and I'm probably going to be merging that today too - sorry for the turbulence this maybe causing to your fork if you plan on rebasing it on top of this.

I've been preemptively storing the daily word solves in localStorage in hopes of implementing better statistics for them later on, but just haven't got to it. The update merged yesterday moved these to localStorage keys as game|{"DailyWord": "2022-01-24"}|"Daily"|5, and if the UI had a way to do so these games could be restored fully. The solve statistics could also be constructed from this data, but timestamps for solves are missing.

image

A timed mode is something I've been working on but I haven't been happy with the implementation I have yet.

khlsvr commented 2 years ago

Nice! No problem with the turbulence don't mind the fork just do anything you want.