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

David Hubner hubnerd at ntlworld.com
Mon Feb 22 01:06:22 GMT 2010

On 19/02/2010 11:22, Wolfgang Rohdewald 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.

Nice, I like kajongg. On a coding note, you will need to fix the krazy 

David Hubner

More information about the kde-core-devel mailing list