[OLPC-Games] Activity API

stas zytkiewicz stas.zytkiewicz at gmail.com
Tue Apr 17 02:09:02 EDT 2007


On 4/17/07, Bruno Coudoin <bruno.coudoin at free.fr> wrote:
>
> Hi, I have some concern about pygame on the olpc. In fact, until know, I
> though activities should use GTK and the hippo canvas.
>
> I understand pygame is more efficient to build games but it has also
> some drawbacks:
[..]
> - Pygame doesn't use pango, last time I checked there was not support
> for shaping in arabic for example (letter shape depends on the previous
> one).
Pango uses "fribidi" to do the RTL and shaping, there are python bindings for
"fribidi" called "pyfribidi" which, as you know, is used by childsplay
to provide
RTL and shaping.
http://pyfribidi.sourceforge.net/

> - Mixing GTK widgets and pygame. It's sometimes useful to use regular
> widget in a game, mostly, we sometime use text entries (using all the
> different character input GTK support, and the assisted technology) In
> the HIG, it's stated that this is important for the OLPC, does pygame
> offer a good support for that?
There's a pure python widget set called "ocempgui" which even provides
accessibility support through ATK. I even think olpc uses ATK to provide
accessibility support.
http://ocemp.sourceforge.net/gui.html

> To some extend, GCompris core and Sugar play the same role and looks
> very similar in their design. We also support python and can start
> python based activities. Based on our 7 years experience in GCompris,
> over the year we have build an API that is far from perfect but I
> suggest to use it as a draft to implement in sugar these feature. If we
> don't create this API that all activity can use, it will be very hard to
> make the activities behave consistently and to maintain them over the years.
> To give you an example of what's needed, each activity may have several
> levels, how do we represent the level to the user, if each activity
> implement this, it will be inconsistent.

> More important, each activity should provide a translated help, how do
> we store and display it, it must be set in a common API.
>
There's childsplay which provides the same things as gcompris and the new
"schoolsplay" project is even faster and more efficient on slower hardware
then childsplay is. And it uses the widgets and RTL support I've
mentioned above.
I agree with your concerns and but childsplay/schoolsplay is based on pygame
and it runs unchanged on OLPC with good animation speeds and sound playing.
So I don't think it's better to port the gcompris activities to
schoolsplay instead
of trying to reinvent schoolsplay :-)
http://schoolsplay.org

Stas Zytkiewicz

-- 
The purpose of democracy is to make sure that wealthy people cannot
have influence proportional to their wealth. And if they do have more
influence than you or I, that means democracy is failing. The laws
that they obtain in this way have no moral authority, but they have
the capability of doing harm.

   RMS


More information about the Games mailing list