[kde-community] Request to join the Kde incubator for GCompris

Bruno Coudoin bruno.coudoin at gcompris.net
Fri Feb 14 23:03:15 UTC 2014


Le 14/02/2014 14:12, Inge Wallin a écrit :
>
> On Friday, February 14, 2014 00:28:38 Bruno Coudoin wrote:
>
> > Le 13/02/2014 23:17, Aaron J. Seigo a écrit :
>
> > > On Thursday, February 13, 2014 22:54:12 Bruno Coudoin wrote:
>
> > >> Anyway another approach is needed here for the new version.
>
> > >
>
> > > Knights, a chess program written with KDE libraries, has an 
> XBoardProtocol
>
> > > class (GPLv2+ licensed) that speaks to gnuchess. It does this over
>
> > > stdout/stderr which isn’t awesome as you note, but it exists and could
>
> > > perhaps be shared.
>
> > >
>
> > > It is part of a larger set of classes in the src/proto/ directory. The
>
> > > classes in proto/ look fairly well self-contained (a single 
> QObject class
>
> > > hierarchy) so could be turned into a library with a little bit of 
> effort.
>
> > > Perhaps Knights and Gcompris could share this bit of code to at least
>
> > > share the load of breakage?
>
> > >
>
> > > The project page for Knights is here:
>
> > > https://projects.kde.org/projects/extragear/games/knights
>
> >
>
> > Hi,
>
> >
>
> > Thanks for the information. Depending on an external binary proved to be
>
> > a mess for the portability between the distro and annoying extra work on
>
> > Windows and MacOSX. To see if GCompris works after a port all I do is
>
> > check if the chess activity works because it is more than often broken.
>
> >
>
> > Now if we add the tablets into the mix, I am much more reluctant to rely
>
> > on an external binary. An option would be to see if we cannot find and
>
> > integrate a small chess engine. One important feature I also like to
>
> > have is a weak chess engine that the children can beat (and myself).
>
> I am currently working on a board game AI library for kde games. The 
> only thing you have to do to use it is to write a class representing a 
> chess position, a move generator and an evaluation function and plug 
> it in. (...and wait for me to finish, which should take a month or 
> two) [1]
>
> Those classes should be pretty easy to get from another chess engine, 
> especially if weakness is more important than strength. :)
>

Hi, I just love this approach. We do not rely on external dependencies, 
we can use the same concept for other games beside chess and we can make 
it weak.

I have not looked at it and this is perhaps another topic but will it be 
Android compatible?

> Btw, this is KDE and we love plugins. Do you have a plugin API for 
> GCompris? If not, that would even make it possible for 3rd parties to 
> create activites...
>

Yes, the Gtk version of GCompris is plugin based. Each activity is a 
plugin. In the Qt Quick prototype I took a similar approach. You can see 
the list of current activities:
https://github.com/bdoin/GCompris-qt/tree/master/src/activities

Each one follow a similar structure, a file ActivityInfo.qml which 
describes the plugin and its QML entry point. At startup, the core loads 
the menu plugin first that itself display the list of activity plugins 
to the user.

So yes in GCompris it is very important to make it easy to create a new 
activity, this is how we reached 140 activities while keeping the code 
easy to maintain. We have a core which exposes common features and 
ensure the coherency of the whole application.

Bruno.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-community/attachments/20140215/ca9d0fe5/attachment.html>


More information about the kde-community mailing list