[Kde-games-devel] Get high with KHighscores! (review of highscore system in kdegames)

Ian Wadham ianw2 at optusnet.com.au
Sat Feb 9 13:43:34 CET 2008


Thanks very much for doing this work, Dmitry.

On Sat, 9 Feb 2008 08:26 am, Dmitry Suzdalev wrote:
> Basically our games use two kinds of highscores.
>
> 1. A so called "difficulty level" which persist in all game's levels and
> user always plays on this difficulty level.
>
KGoldrunner and maybe KSokoban have collections of levels of difficulty
that increases with the level number.  But it amounts to the same thing
as grouping highscores by difficulty, board size, etc.

> 2. Highscores that are gathered on *each* game level.
> <snip>
>
> Now my suggestions:
>
> - Get rid of KExtHighscore. It's unused and unusable.
I agree.  I have been exhorted to use it, and *not* KHighscore, several
times over the years, but have never been able to understand it.

> - Get rid of KHighscore and use KConfig directly (but see next suggestion)
> - Split KScoreDialog in two parts - GUI part and config-writer part (it
> should use KConfig like KHighscore does it).
> - Implement second type of highscores described above and make katomic,
> kolf (and kshisen?) use it.
>
I agree broadly with the above, but I do not think we should continue to
use the main <appname>rc file.

High scores should be put in a separate file in the game's "data" area,
$KDEHOME/share/apps/<appname>.  This is to protect high scores from
being wiped out by any sort of testing or re-installation of software.  For
example, I have frequently had to delete
$KDEHOME/share/config/kgoldrunnerrc during testing.

Also, I would like to see some enhancements to KHighscore or its
replacement:
  - Option to seed the high score data with some existing scores, as a
     challenge to new players ... ;-)
  - Option to supply a nice heading and sub-heading (see attachment
     KGrHS_KDE4.0.png for an example).
  - Nicer table and headings layout.
  - Single-spacing of the lines in the table.
  - No lines of dashes for empty scores.
  - Neater alignment of headings and data, especially days of week
     and dates (neither attachment is good in this respect).
  - Option either to display one set of high scores and omit the tabs,
     or to supply separate group IDs and group names: the IDs to be
     used as keys (group names) for high score data and the names
     (translated) to be displayed to the end-user on the tabs.

In KGoldrunner each game has an ID that is fixed, used in file names
and never translated.  Those IDs are what you can see in the tabs in
attachment KGrHS_KDE4.1.png.  Ugly, huh?  And meaningless to the user.
The names of the corresponding games are "KGoldrunner" and "Initiation",
which should be translated whenever required.

Hope this helps, Ian W.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: KGrHS_KDE4.0.png
Type: image/png
Size: 30897 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20080209/83e7863b/attachment-0002.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: KGrHS_KDE4.1.png
Type: image/png
Size: 34029 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20080209/83e7863b/attachment-0003.png 


More information about the kde-games-devel mailing list