[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