[Kde-games-devel] Module policy for kdegames4

Matt Williams matt at milliams.com
Thu Feb 1 21:09:33 CET 2007


On Thursday 01 February 2007 10:07:25 Ian Wadham wrote:
> On Thu, 1 Feb 2007 05:12 am, Matt Williams wrote:
> > On Wednesday 31 January 2007 00:42:34 Ian Wadham wrote:
> > > On Wed, 31 Jan 2007 07:53 am, Matt Williams wrote:
> > > > On Tuesday 30 January 2007 02:08:43 Ian Wadham wrote:
> > > > > On Tue, 30 Jan 2007 12:42 pm, Matt Williams wrote:
> > > > > > I was wondering if it would be possible for KSquares to be looked
> > > > > > at for inclusion in KDE Games 4? ... <snip> It's currently
> > > > > > residing in /trunk/playground/games/ksquares and is fairly mature
> > > > > > already.
> > >
> > > I'll build it and try it out.
>
> OK, I've done that.  I checked out /trunk/playground/games, made a
> games_build directory, entered it and did "cmakekde".  KSquares
> compiled, built and installed perfectly ... even the Handbook got
> installed ... so you obviously have a good grasp of such things,
> much better than mine ... ;-)
>
> The rules of the game are very simple and are stated in the
> two-line description, but the game itself is quite tricky and
> addictive, as Mauricio has confirmed ...  You can also play a
> 4x4 game in under a minute, but presumably the length of
> a game goes up proportionally to the area of the board.

This is very true, I often play on boards which are perhaps 20x15 and those 
games can often last a while. Especially when playing two humans against 
eachother.

> As a game ... it is fun, exercises the mind, can be played in a
> short time, is a classic, has a long history and has a background
> in recreational mathematics, so I think it would be a worthy
> candidate for inclusion in KDE Games.  I'm not sure if it should
> go in Board Games or Puzzles, but probably the latter, along with
> KJumpingCube.  Attached is a screenshot.

I think perhaps puzzles as 'board games' suggests chess etc. to me.

> The game is not complex, so it has a simple user interface.  That said,
> I think there is quite a bit of room for improvement.
>
> 1. In KDE Games, Game->New means a new round of the same game
> and there is often another menu item to choose a game with different
> parameters or rules (see Solitaire, KMahjongg, KShisen).  It is irritating
> to have the dialog box come up every time you hit New.

I wasn't aware of that policy, it makes sense though. I'll sort that out.

> 2. KSquares seems to be using KConfig to remember settings between
> sessions and that's good.
>
> 3. Light bulb is the standard icon for Hint, so should not be used for
> "AI" in Settings->Configure KSquares.  Also "AI" is not a good term from
> a translator's or user's point of view.  We seem to use "Computer Player"
> in other games.

Okay, anything to make the translator's job easier.

> 4. Re hints, it might be nice, but not vital, to have a Hint action.

A hint system should be easy to implement as it would just query the AI 
("Computer Player") system for a move. I'll consider it.

> 5. I think your settings menu items and startup dialog could be revamped
> and re-organised somewhat.  KJumpingCube has quite a good example, though
> others might disagree ;-)  It is also nice to have commonly-changed
> settings on a line by themselves in the Settings menu, even if they also
> appear in Settings->Configure KSquares.  BTW, I prefer "KSquares Game
> Settings" to "Configure KSquares".  I think it would be more understandable
> to end-users, such as my wife or grandchild.

Having the settings dialog under "Configure <appname>..." is the standard way 
of doing it and is, in fact handled by a KStandardAction or something. It's 
(relatively) out of my control and I'd rather keep with KDE standard GUI 
rules.

> 6. When the computer plays, it would be nice if it would appear to take
> some time and highlight its move (e.g. by blinking for a second).

I had planned to do this. When my mum tried out the game, she was convinced 
that the computer was cheating :). This feature would at least put her mind 
at rest.

> 7. In the score dialog, I could not work out what "Global Score" means.
> Don't tell me, but please make it something anyone could understand.
> Also, that column gets chopped off when the dialog box opens.
>
> 8. A High Scores facility would be good, but I am not sure how you would
> organise it when there are so many possibilities for board size and
> players.

Well those two points are in fact related. If you don't want me to tell you, I 
won't and will rather work on a more descriptive name that ''Global 
Score' :).

> 9. Network play would be possible, but I have no feel for this, having
> never played a game on a network.  It might be an overkill.  Would you
> really hook up with someone just to play a game of KSquares?  What
> do others think?  Dmitry ... Mauricio ... how about a 3-cornered contest:
> Australia, Russia and Brazil? :-)

I was thinking about linking into GGZ but I wasn't sure if it was a needed 
feature or even about how to go about it. The structure of the program should 
easily allow it though.

> 10. Save and load games might be an overkill.  Games do not last long.

It's probably only useful for testing purposes (i.e. to make life easier for 
me).

> 11. Some specifics re the UI:
>       a. "Fit board to view" is unnecessary.  It should be always on, IMO.
>       b. "Draw lines in player's color" doesn't seem to do anything. 
> Should it be possible (desirable) for each player to draw lines in a
> different colour?
>       c. I'd like players to have a choice of what colour, symbol, initial
> or whatever, to use as a marker for the squares they have captured. d.
> Should there be a keyboard mode of play?  I'd say no, but then I like to
> use the mouse for games ... :-)

a) Agreed. The ability to chose was rather a result of the was the program 
grew.

b) I'm not sure if it was desirable. I wonder what other people think. It's 
possible it will only make the view more visually cluttered.

c) As for symbol/initial/logo; that feature is actually being implemented at 
the moment. The starting code is already in SVN.

I'm not sure a keyboard mode would work. I would only include it for 
accessability's sake.

> 12. Some specifics re the code:
>      a. I hate the use of tabs for every indentation.  Some people in KDE
>          use all-spaces, but it gives me RSI.  I prefer tabs with the UNIX
>          default of 8 spaces and 4 spaces for indentation in between, but
>          that is probably heresy ... ;-) NO correspondence entered into!
>      b. You seem to have done Doxygen stuff, which is good.
>      c. You seem to have i18n where required, which is good.
>      d. I believe #include <config.h> is deprecated.
>      e. You can use "foreach" to scan QLists now, but it is not mandatory.
>      f. Have you done a "valgrind" check for memory leaks lately?

(I'm not going to get into an 'indentation' argument here :D) I use tabs 
because I hate having to press space 4 or 8 times when simply one tap 
of 'tab' will to the trick. 

> 13. There's a Handbook (incomplete) in XML Docbook, as required.
> I could not get it to open, but that's probably because of my incomplete
> KDE4 setup.

I think this is because the DocBook install system isn't finalised yet. The 
initial functionality was only put in SVN a week ago or so.

> All in all, a good job, Matt, and it should not be very difficult to polish
> it up if the other KDE Gamers agree to accept it into the collection.
>
> All the best, Ian W.

Thanks a lot for the feedback. I very much appreciate it.
-- 
Matt Williams
http://milliams.com


More information about the kde-games-devel mailing list