[gcompris-devel] GCompris's future

Bruno Coudoin bruno.coudoin at gcompris.net
Sun Feb 9 00:53:43 UTC 2014


Hi,

I have been particularly quiet for several months. It is not a sign of 
disinterest in this project, quiet this opposite.

In fact as you imagine, many users are requesting us a tablet version of 
GCompris and I tried to evaluate the different technical possibilities 
to bring GCompris to this world. Sadly, Gtk+ the core technology we are 
based on does not provide any easy way to run on tablet.

The main requirements for me was to be able to have a single code base 
that would let us target the main desktops and the main tablets.

After looking at different options, I settled on Qt Quick [1]. It is a 
modern toolkit based on a novative descriptive language called QML that 
let you describe the user interface, javascript that complement it to 
code the game logic. It is also possible to develop the non graphical 
part of the application in C++ with Qt.

It is based on an OpenGL scene graph, we can create shader and particles 
to make graphical effects and do smooth animations.

In order to validate this choice, I did a prototype and this convinced 
me that it was a pertinent choice for GCompris. Even if this is a new 
technology, the learning curve is acceptable, with very few code you can 
create a very good looking activitiy. In my test it takes about half the 
lines of code to make the same activity in Qt Quick than we used to in 
Python and we get a better graphical quality.

The bad news is that it is not compatible with the current version of 
GCompris and it requires a full rewrite. All we can keep is the game 
logic and tuning, the texts, the translations, the graphism and the sounds.

I just published the GCompris-qt version on GitHub [2] and updated our 
development page to give some starting points [3] to build it yourself.

For those you don't want to compile it, you can look at the little video 
[4].

Another important point, since this is not based on Gtk+ this new 
version cannot be hosted by Gnome as we used to do. We cannot also 
participate in the Google Summer of Code under the Gnome umbrella. I 
thus registered GCompris for this year session of GSoC and Frederico 
accepted to be the official co-mentor.

If you are interested in helping GCompris, I encourage you to learn Qt 
Quick and to help port some activities. This is a good opportunity to 
learn a new technology while doing something useful. I still have to 
refine and document the process to create a new activity but it is not 
very complex.

GCompris on Gtk+ has been around for 14 years. It is true that the 
migration will take time, probably several years but this is something 
we have to do if we want to stay relevant in the coming years.

Bruno.

[1] http://qt-project.org/doc/qt-5.0/qtquick/qtquick-index.html
[2] https://github.com/bdoin/GCompris-qt
[3] http://gcompris.net/wiki/Developer%27s_corner
[4] https://www.youtube.com/watch?v=cHFteAemeLo






More information about the Gcompris-devel mailing list