moved Kajongg from playground to kdereview

Wolfgang Rohdewald wolfgang at
Sat Feb 13 22:38:04 GMT 2010


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 
It has two modes: You can play against the computer or against other 
over the net, or you play as usual and only use Kajongg for computing 
Computing scores is a rather tricky aspect of Mah Jong so I 
expect users who mostly use this part (like myself).

A special problem of Mah Jong is that there are many different rule 
worldwide, and it is absolutely normal to negotiate rules before 
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 
into German. Others translated around 100% to Ukrainian, Swedish, 
and Portuguese.

The user manual however does not explain the gaming rules. Please look
them up at Wikipedia. Or try --automode, start a new game 
(CTRL-P), login to localhost, select a ruleset, press Start in the 
list. Now 4 computer players are playing against each other. This is 
quite a demo mode since the dialogs that should normally be answered 
the players only flicker. I added this only for testing. But you can 
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 
more intelligent computer players, suspend/resume of games but I think 
should be enough value for KDE core.

Homepage: http://www.kde-


Kajongg is a pure Python application, so many of the guidelines at are simply not 
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 
I actually could make it run without Qt4 - but see no need to do so 

The client part is a normal KDE4 application, using backgrounds and 
from libkmahjongg.

Game server and game client can of course run on the same computer, 
sharing the same data base (SQLite). When simply playing against 3 
players the server is started automatically.

I decided against using ggz for network gaming and used the python-
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 
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, 
implements the computer playing part but has quite intelligent 
players) or (Windows 
only implements the scoring part). And of course there is (Windows/shareware, implements both modes) -
this one implements both modes, and it is top of the art in that it
implements many different rulesets.


More information about the kde-core-devel mailing list