User:Rmyers/Panda3D
Panda3D is a FOSS 3D game framework with hooks for Python. This seems like a framework that could be useful for developing 3D content for the XO.
The framework was originally developed by Disney and is used in some of their products, such as the 'Pirates of the Caribbean' online game.
The rights are in the process of being transferred to the Carnegie Mellon University's Entertainment Technology Center.
Panda3D is available with installers for several linux environments including Fedora 7 as is used on the XO.
I have not yet tried installing on an XO, the installation rpm is quite large (56M) and as space is limited on the XO, I thought I'd try to get some experience before that step.
I have downloaded it and installed it on another linux box of similar performance to an XO. This is a older Acer AOpen AX6BC with 400MHz PII, 448Mb RAM, and running Fedora 8.
The download was successful, and following instructions on the Panda3D web site, I tried running some of their sample programs. This failed at first. Panda3D expects acceleration for the video card and I had never installed accelerated drivers for my video card (Nvidia FX 5200).
I changed the configuration file and successfully ran most of the demos. See the 'Performance' section below. Some failed for what from the error messages appeared to be video issues. These demos appeared to be looking for advanced features that my card or driver does not support. Some failed for sound issues, given that I did not have desired sound drivers installed.
Performance
Many of the demos ran very slow - on the order of 2fps. This may be an issue on the XO, depending on the performance of the XO video. Slow frame rates may be acceptable to provide a 'step through' animation. Fluid animation may not always be needed.
I am in the process of trying to get accelerated drivers installed on the trial box, to get another speed benchmark.
Sound
One major issue with Panda3D as it currently stands is sound. It supports two sound libraries, both proprietary. The first and easily dismissed for our needs is Rad Gametools 'Miles Sound System'. This is a commercial product designed to support building commercial products. The other is [Firelight Technology's FMOD. FMOD is available with a no cost non-commercial license.
However, the Panda3D manual states "Also note that even without Panda3D's built-in sound support, Python can still be used play sounds through other libraries, such as Pygame, or PyOpenAL."
Educational content possibilities
One of the reasons that I'm exploring Panda3D is that ILXO is discussing a language teaching game activity. The Panda3D website shows screen shots of a game teaching Japanese vocabulary as one of their example projects.