[Kde-games-devel] Meeting

Jeremy Wick jwickers at gmail.com
Mon Apr 2 05:52:01 CEST 2007


Hi all,

I just read the meeting this morning, sorry i could not make it but as
i said to milliams, 4am to 7am is a bit early in the morning for me.
For the same reasons i won't be there tonight (if you still have one).

Thanks Mauricio for mentioning me :)

A little introduction :

I just recently joined KDE games. Being in China i am mostly
interested in the Mahjongg variants : kmahjongg and kshisen.
My long term project will be to code a KDE client for xmj
(www.stevens-bradfield.com/MahJong/) which is as i far as i know the
only Mahjongg game on unix that implements the Chinese rules. (And by
Mahjongg game i mean the 4 players one).

For now i am working on kshisen, my goal here is to implement the
"Chinese" variant that i see played where i live (there may be other
variants and the one i know may just be very local :) )
For those who checked the latest revision you may have noticed already
in the "settings" :
- there is a new board size 16x9
- there is new option named "Chinese style"
Chinese play with a Mahjongg set which contains (for those who may not know) :
- 4 x 3 sets of 1 to 9 tiles (circles, bamboos, and "numbers" (the
chinese 'wan' on those tiles means 10.000, not sure about the english
name))
- 4 x each wind (east, south, west, north)
- 4 x 3 dragons (white, green and red)
- 4 flowers
- 4 seasons
So totally 144 tiles.

That is why we play a board 16x9 (which looks like a square)
And that is also why the "Chinese style" permits the player to match
flowers (or seasons) without needing a match between identical tiles.
(now flower_1 may match flower_2/3/4, before it could only match
flower_1)

These are the modifications i made for now, (with the base code
modifications needed so that the old / normal gameplay remains
unchanged would the player not chose the option)

I still have one modification to make, which may be just a bit more
complex, so i wanted to have feedback from Mauricio and Dave. This is
the sliding rule. I made a simple  drawing to illustrate (see attached
files 1 and 2)
Basically :
- when you slide a tile it can push the others tiles
- no tiles may leave the board initial geometry during a move (in
kshisen you could make lines out of the board)
- you can only push the tiles that are initially in touch with the one
you are sliding, that means the move stops if the tiles sliding
together hit something (be it another tile or the border)
- you can only slide tiles if you can make a match after the tiles
have moved, and only if the match involve the tile you used to push
- you can only match in 1 line after slide (or 2 lines if we consider
the sliding as 1 line, which is most probably how it will be
implemented), as opposed to 3 in current kshisen.

In order to keep the game "get hint" and "generate solvable game"
functionality working, the simplest way to implement it is to make a
modified version of getSimpleLines (which currently only makes 2
lines) that will be able to push (according to rules) or to go through
other tiles.

Hope that is clear enough, should you need clarification feel free to ask me.


And completely off topic, i tried kbattleship and i remember a cool
Atari game i liked to play :
you could play on huge boards (customizable size), with customizable
fleets and that game played not one shot / one shot, but be salvo with
number of shots determined by the ships you had left. (place all the
shots first, then click fire)
There was a nice animation of you ship firing on a distant fleet and
explosions when you hit :D
That would make a cool new rule for kbattleship.

Happy coding,
Wickersheimer Jeremy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sliding_step1.png
Type: image/png
Size: 1214 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20070402/6d05e2d4/attachment.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sliding_step2.png
Type: image/png
Size: 1415 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20070402/6d05e2d4/attachment-0001.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sliding2_step1.png
Type: image/png
Size: 2198 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20070402/6d05e2d4/attachment-0002.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sliding2_step2.png
Type: image/png
Size: 2651 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20070402/6d05e2d4/attachment-0003.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sliding2_step3.png
Type: image/png
Size: 2023 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20070402/6d05e2d4/attachment-0004.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sliding3_cannot.png
Type: image/png
Size: 2544 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20070402/6d05e2d4/attachment-0005.png 


More information about the kde-games-devel mailing list