[Kde-games-devel] kbackgammon updates...

Albert Astals Cid aacid at kde.org
Tue Jun 9 23:32:14 CEST 2009


A Dimarts, 9 de juny de 2009, Alexander Smirnov va escriure:
> Hello kdegames,

Hi

>
> ~1 year ago i found that kbackgammon game was not maintained anymore and
> i tried to dedicate my free time to it in order to get it back to
> kdegames line. I should make a note here, that unfortunately I do not
> have much free time, so the progress is not terrific, sorry.
> Nevertheless, let me publish what is done.
>
> So, in winter evenings I've been looking to kbackgammon code. There were
> many things to do there. I've posted high-level TODO list here a year
> ago - even on user's view there are many things what needs to be
> implemented or improved! Looks like this game was written in times of
> KDE2 and has many things implemented in archaic way. After some time of
> struggling with kbackgammon code, after some tears from my eyes I
> remembered GoF(or Kent Beck)'s advice: "use composition instead of
> inheritance". And i decided... to write the game from very beginning,
> but reusing strategic parts of code and algorithms.

Seems sensible, keep the "difficult" parts and rewrite the others.

>
> Now I have a demo, it's not a complete game. Recently I've put it to
> playground/games/backgammon. You can make yourself aware by compiling
> and running it (playground/games/backgammon). I tried to use modern
> technologies there, such as:
>  - SVG graphics. I've got theme by stealing :o) it from KReversi. This
> is development variant, for release version we'll need professional
> artist - I do know we have excellent artists around :)
>  - SVG Renderer. I used one written by Dmitry Suzdalev for KReversi. I
> found it is used(copy/pasted) in several other games. Shouldn't we
> extract base class for it and put it somewhere in libkdegames?

How much code is that? And how reusable? Dmitry?

>  - KGame/Kplayer framework... Actually I do not know much details about
> this framework and how useful it is. I saw one game(k4win) which uses
> it, will try to make something similar. It should be easy to make
> local/network human-human games with it, right?

KGame/Kplayer are somewhat oldish but yeah kfourinline and ksirk use them, 
maybe if Josef ever finishes his KGGZ classes it would be a good idea to use 
them.

>  - KConfig... I believe now it is used in modern way.
>
> as for development direction how i see it. The game should have the
> following _major_ functionality:
>  - playing with CPU opponent
>  - playing on fibs server
>  - playing human vs human, locally or over network (here is
> KGame/KPlayer framework should help)
> Taking into account amount of my free time i will not be able to make
> them all fast. So I decided to implement only first point from this
> list- playing with CPU opponent for version 0.1. Currently we have 2 CPU
> backgammon players - first is developed by Daren Sawkey in frames of
> kbackgammon(thanks Daren!), the second is GNUBg. GNUBg is much stronger
> and it plays as World champion. I've contacted it's developers, and they
> gladly agreed to help me reuse their engine in KDE game. But
> unfortunately they do not have API, and seems like their engine is much
> integrated to their client...We decided to make a sort of API, and
> hopefully extract engine from their GUI. This activity will make some
> time...

Seems a good check list of what kbackgammon should have.

> In order to force the release, I'm thinking about using Daren's engine
> for version 0.1. Later, when i will be able to compose API for CPU
> opponent, I will work with GNUBg guys to reuse their engine... What do
> you think about this plan?

Seems ok to me.

>
> Hopefully I've listed all major point in backgammon game development. I
> will try to make such updates more frequent and more smaller... I'm
> sorry for big text. English is not my mother tongue, so i apologize for
> errors too...

I understood it so given English is not my mother tongue either i'd say it was 
okay

> Oh, if you have free time and wish to help me - you are welcome! I need
> advices and pair of hands with a head to write a code :-D

Good try ;-) Let's see if you trick someone!

Albert


More information about the kde-games-devel mailing list