[Supertux-Devel] OLPC-Supertux

Ondřej Hošek ondra.hosek at gmail.com
Fri Oct 26 12:32:30 PDT 2007

On 10/21/07, Ian Daniher <it.daniher at gmail.com> wrote:
> Things to do:
> * Package supertux and dependencies in a .xo format
> * fix the graphics problems, namely the large black border around the game display (reducing the resolution to 480x640?)
> * fix the opengl rendering problems (found when using v 0.3)
> * create wikipage
> * establish relationship with supertux core developers
> --
> Ian Daniher

(Note about nomenclature: OLPC is the project, XO is the laptop
itself, Sugar is the Gtk-based GUI framework)

After downloading build 617 of the XO's Fedora-based OS, loading it
into VMware, creating another virtual machine (this time Ubuntu gutsy,
server edition) and compiling everything needed, I started toying
around with building a Sugar activity. My observations:

* At the moment, developing on the OLPC seems to be "Python or GTFO".
Launching a standalone native application is fraught with
complications due to the limitations of communication with Sugar. This
means, for example, that once the game is started and the home screen
is pulled up, returning to the game is not possible. (Due to some of
my own personal magic, it can be SIGINTed from there, though.) I
haven't looked into the window manager API yet, though (if there is
one), so it might just be me.
* I've only tested the SDL renderer and VMware didn't let me over
40FPS (20FPS during the bomb explosion animation) at 800x600, so I'm
not sure the Geode will be able to pull the load -- mainly at native
resolution (1200x900). No, I will never test OpenGL, since the only
implementation available on the XO is Mesa, which does a slideshow on
anything that isn't greater than or equal to a Cray X1E.
* SuperTux doesn't "fit in". It happily does what pretty much any
other computer game would do -- creates file structures to store
everything, communicates with the user using the alphabet and
functions in a self-contained environment. This creates issues with
the OLPC philosophy where serialized blobs replace file structures,
images convey absolutely all information and all programs (sorry,
"activities") create serialized blobs to store the user's progress and
make it possible to easily and transparently upload these to a server
for backup. [This can theoretically be worked around by tar-gz-ing the
save files before having them serialized and unpacking them after
deserialization again. Saving would happen anytime SuperTux quits
gracefully and/or loses focus (perhaps implement SIGHUP to mean
"please dump state"?); loading anytime it is started. Such a method
will require lots of code, though.]

If anybody is interested in my progress, give me a place to upload an
8MiB large .tar.bz2. This file is to be extracted under
/home/olpc/Activities and the data files must be manually added into
/home/olpc/Activities/SuperTux.activity/data. A Ctrl+Alt+Backspace
(Ctrl+Alt+Erase on the XO) will restart Sugar and give you a small
icon of Tux (which I shamelessly stole from the wiki) in the bottom
bar. Click it and attempt to play.

~~ Ondra

More information about the Supertux-Devel mailing list