My Celstart example
 

This is my example for using celstart with python. Tested under Windows and Linux. Gets 24 frames a second on my box (which is a 3.0 GHz processor with HT (Xeon I think), 2 Gigabyte memory but a PCI (not PCI-X/PCI-E or even AGP) video card as the onboard one is AGP and suboptimum for newer graphics stuff; see comment below for specs using a much nicer video card).

Click the image above to download.  Then, if you haven't done so, pull down celstart from the crystalspace site:

    Crystal Space CelStart Page (you will need a fairly recent one to work with python (which you'll also need to download)) 

Update 31 August:  In trying this out with a beefier windows box, noticed that it appears you need to use python 2.4 with celstart version 7; using 2.5 seems  to cause an error to be thrown about unknown module "new" (when cspace.py tries to import new) Also noticed that I screwed up when I made my celzip file (extra directory level); posted updated version.  I also had to do set PYTHONPATH=%PYTHONPATH%;pycelstartdemo.celstart before running celstart; I'm not sure why as I'm pretty sure I didn't have to do this at home.  Also, on the beefier box (3.2 Gig processor, 2 Gig memory, NVidia Quadra FX 4200), I get 150+ FPS. 


Hopefully this helps other people get started using Python + Celstart to create 3d apps. 

Known bugs/issues:

  • Somewhere I have a file that either got corrupted or given a .jpg extension even though it's some other image; you can ignore the message about "File isn't JPEG"; as far as I know, this doesn't impact anything important.
  • My T-Rex model has some weird tail effect; working on making my own rigged models in Blender so I don't care too much about this one
  • T-Rex Model and possibly one other has their origin off causing them to be partially below ground; again, making my own models so this isn't a big issue
  • Segfaults at exit;  Not sure if this is because I use sys.exit() to quit versus a Cel method I'm not aware of or just a bug with my celstart app
  • Hover doesn't work (not big deal here as I removed my pteranadon sprite)
  • Sprites don't rotate (i.e. didn't set angular velocity) to match the direction they're moving in; this will be fixed at some point, but I wanted to share this first and then fix / add things. 
  • Terrain is boring; have an alternate level based on terrainf demo which uses the terrain stuff in CS; looks much prettier but is
    • Bigger file size wise (wanted to keep this < 2 mb)
    • Kills frame rate (15 fps)
    • makes it more complicated (as it is, world file is a bit messier; will hopefully refactor to create a separate file just for all of the images/textures to make swapping out the map easier) 

Credits:

  • Based on sample code from CEL/CS directories as well as the tutorials
  • All dinosaurs (and fox/rabbit sprites) downloaded from  the "Free Models Site"; see *.txt in the level directory for individual credits.  (Converted from quake models to cs sprites using the cs tool)