[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