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

Inge Wallin inge at lysator.liu.se
Sun Feb 16 18:19:42 UTC 2014


On Saturday, February 15, 2014 00:03:15 Bruno Coudoin wrote:
> 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?

My code will just be the "brain" of the chess AI so to speak, so definitely 
yes.  There is no UI there so you would have to create / port a UI that is 
compatible with Android.

> > 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.

That's great.  Qt has a very good plugin API too and KDE extends it in the kde 
libraries.  I don't know what the status of Qt 5 and the KDE Frameworks is but 
I guess it is the way to go for you.  It would make little sense to first port 
GCompris to Qt4 and then immediately to Qt5.

	-Inge

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


More information about the kde-community mailing list