[Kde-games-devel] moved Kajongg from playground to kdereview

Jeremy Wickersheimer jwickers at gmail.com
Fri Feb 19 14:09:52 CET 2010


Hi,

I tried it a couple of days ago, here is a couple of remarks.

I think using a dialog for prompting the user actions is not a good
idea, kwin with compositing will darken and lock the other windows so
it is very hard to see the board (and is very distracting). Also
dialog placement is sort of unpredictable for the user.
I think a big improvement would be to have those buttons on the board
next to the player hand (and always visible, just disabled when not in
the player turn).
Also i think it would be great to have simple (single key) keyboard
actions (space / P / C / etc .. ) by default for all the game actions,
instead of alt+x. This game is very suited for keyboard only game

I'd prefer that the tiles in the player hand not be spaced, right now
there is some horizontal spacing and grouping. That's just a personal
preference, but for example it wont group sequence so it will display
[X 33  4  5  X] which i found a little distracting. Also on a real
table top game you wont space your tiles so players like me are used
to view them like that :)

I had the game crash (actually the server returned an error) when i
captured a tile (Pung) so i did not play it a lot though.

I cannot comment on the python dependencies which should be reviewed
by the KDE games group (for example you need zope-interface /
twisted).

Anyway thanks for your great work, i was meaning to write this game
before but did not get the time to commit to it, i am sure it will be
an awesome addition to kshisen for mahjong players :)

WICKERSHEIMER
Jérémy





On Fri, Feb 19, 2010 at 7:22 PM, Wolfgang Rohdewald
<wolfgang at rohdewald.de> wrote:
> Ping!
>
> 6 days gone, no response yet
>
>
> On Saturday 13 February 2010, Wolfgang Rohdewald wrote:
>> Hi,
>>
>> I just moved Kajongg to kdereview, aiming to get it into
>> KDE core kdegames 4.5
>>
>> Kajongg implements the traditional game of Mah Jong played by four
>> players. It has two modes: You can play against the computer or
>> against other players over the net, or you play as usual and only
>> use Kajongg for computing scores. Computing scores is a rather
>> tricky aspect of Mah Jong so I definitively expect users who
>> mostly use this part (like myself).
>>
>> A special problem of Mah Jong is that there are many different rule
>> sets worldwide, and it is absolutely normal to negotiate rules
>> before starting to play. I have good support for customized
>> ruleset definitions. A player starting a new table on the game
>> server defines the ruleset to be played on that table. Still
>> missing: The other players need a diff function to see which of
>> their own rulesets matches the table ruleset most closely and what
>> differences there are between any two rulesets.
>>
>> I wrote an extensive english user manual (docbook), and I
>> translated it into German. Others translated around 100% to
>> Ukrainian, Swedish, Spanish and Portuguese.
>>
>> The user manual however does not explain the gaming rules. Please
>> look them up at Wikipedia. Or try kajongg.py --automode, start a
>> new game (CTRL-P), login to localhost, select a ruleset, press
>> Start in the table list. Now 4 computer players are playing
>> against each other. This is not quite a demo mode since the
>> dialogs that should normally be answered by the players only
>> flicker. I added this only for testing. But you can see some
>> action. The winner has 4 groups of 3 or four tiles each (identical
>> or sequence) plus a pair of identical tiles.
>>
>> There are definitively more features I want to add like voices,
>> more rulesets, more intelligent computer players, suspend/resume
>> of games but I think there should be enough value for KDE core.
>>
>> Homepage:
>> http://www.kde-apps.org/content/show.php/kajongg?content=103206
>>
>> Technical:
>>
>> Kajongg is a pure Python application, so many of the guidelines at
>> http://techbase.kde.org/Policies/SVN_Guidelines are simply not
>> applicable. I just tried to be a good citizen but I have no idea
>> how good...
>>
>> The game server part is able to run without KDE, it only needs
>> Qt4 (as my debian stable server does not offer KDE4 for
>> installation...). I actually could make it run without Qt4 - but
>> see no need to do so yet.
>>
>> The client part is a normal KDE4 application, using backgrounds and
>> tiles from libkmahjongg.
>>
>> Game server and game client can of course run on the same computer,
>> even sharing the same data base (SQLite). When simply playing
>> against 3 computer players the server is started automatically.
>>
>> I decided against using ggz for network gaming and used the
>> python-twisted networking library instead. I hope this makes it
>> easier to install as python-twisted has a broad user base and a
>> very active community.
>>
>> I also mostly decided against using qt-designer, I prefer to
>> manually code the GUI. There are currently only 2 ui files for the
>> config menu (background and tileset selector), similar to what
>> KMahjongg does (I started Kajongg by reimplementing parts of
>> libkmahjongg in Python).
>>
>> You can compare Kajongg against xmj by Julian Bradfield (OSS, GTK,
>> only implements the computer playing part but has quite
>> intelligent computer players) or
>> http://www.mahjongcalculation.com/index.htm (Windows shareware,
>> only implements the scoring part). And of course there is
>> http://www.4windsmj.com/ (Windows/shareware, implements both modes)
>> - this one implements both modes, and it is top of the art in that
>> it implements many different rulesets.
>
>
> --
> Wolfgang
> _______________________________________________
> kde-games-devel mailing list
> kde-games-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-games-devel
>


More information about the kde-games-devel mailing list