[Kde-games-devel] Requirements review: Highscores and statistics in libkdegames
Ian Wadham
iandw.au at gmail.com
Thu Feb 16 02:31:50 UTC 2012
On 16/02/2012, at 9:46 AM, Stefan Majewsky wrote:
> Right now we have two highscore systems in libkdegames:
>
> * KHighscore/KScoreDialog manages a simple list of the top-ten scores
> (per category, e.g. difficulty level). Used by most games.
>
> * KExtHighscore, the vastly more powerful brother of KHighscore,
> records statistics for each player, e.g. win/lose counts and longest
> streaks. Used only by KReversi.
Two or three years ago there was lengthy discussion of these two
systems and the consensus was that KExtHighscore is "over engineered"
and that KHighscore/KScoreDialog, with some enhancements, should be
preferred and become the standard. AFAICR some, but not all, of those
enhancements were done.
> * KGoldRunner implements functionality similar to KScoreDialog, but
> seems to refrain from using KScoreDialog directly in order to support
> legacy highscore data.
Supporting previous high score data is not the only reason.
Certainly I think KHighscore/KScoreDialog *should* protect previous
high score data through a new release and installation of KDE. It is
annoying for a game player to lose high-score data when he or she
upgrades KDE.
I now think converting old KGoldrunner highscore files to KHighscore
format is a dead issue, because KGr has been hacked around so
many times during the KDE 4 era that I, for one, have lost the high
score files I used to have and it takes hours and hours to re-establish
them. Also it seems, KGoldrunner aficionados are more into the
challenges of playing and re-playing particular levels and level
sets than going for high scores.
BTW I do not think it is a good idea for all ten highscores for every
variant of every game (even the blank highscores) to be cluttering
up $KDEHOME/share/config/gamenamerc.
I have a few other stylistic concerns with KHighscore/KScoreDialog
(see attached screenshot).
1. I think it should use a less bland-looking widget: at least as good
as a QTreeWidget or some such in appearance.
2. I find the display of blank highscores superfluous and ugly.
3. The use of # in the rank is also superfluous and ugly IMHO.
4. We should have a bolder, larger and more rewarding title
and the option of a sub-title.
5. The tabs at the side do not accomodate long level set names.
6. When you use Show High Scores, the tabs at the side and the main
list of scores do not reflect the game you are actually playing (I was
playing Pillars layout in the attached screenshot, but the high scores
for Clubs are displayed).
7. Maybe the tabs should be abandoned and there should be some
other way to get to scores for variants you are not actually playing,
such as a "Show All High Scores" button in the dialog or a drop-down
list or KCombobox.
> Is this all? If so, I'll follow the traces of KScore2 for the
> highscore part, and implement a more flexible successor for
> KScoreDialog that can safely use legacy score data and support
> grouping that is more complex than one level. I'll probably also
> implement similar, but separately available functionality for game
> statistics. (The only merge point is the interface, then.) Do you have
> anything to add on these thoughts?
See above. KGoldrunner is actually ready for KHighscore/KScoreDialog
via a compile-time option. I occasionally re-build with that option, in case
KHighscore/KScoreDialog has changed, but have been disappointed
so far.
It's great work you are doing, Stefan, addressing some of these long
standing issues in libkdegames.
All the best,
Ian W.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-games-devel/attachments/20120216/ca71c034/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: KHighScoreDialog.png
Type: image/png
Size: 41722 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-games-devel/attachments/20120216/ca71c034/attachment-0001.png>
More information about the kde-games-devel
mailing list