Home - Forums - Documentation - Gallery - Bugs


Python Bindings for Cel and CrystalSpace

CrystalSpace and Cel both have their own scripting bindings. The modules are pretty extensive and should give you access to most of the c++ api.

The CrystalSpace python module is called cspace, and the cel counterpart is blcelc. Also, a slightly higher level module is available in cel for entity behaviours, called pycel.

Additionally there exists a module called pycscegui in standard cs distribution that wraps the cegui-cs connector, plus the pycsextra module in CSExtra repository wrapping some additional plugins there, notably the cs-qt connector.

Ways of using python with crystalspace

  • Pure Python cs-only app.
  • Pure Python cs+cel app.
  • Embedded inside a cs app through cspython.
  • Embedded inside a celstart app through the python behaviour layer.

The easiest way to start by far would be the fourth method, as it eases you of all initialization of cs, and lets centering on the logic.

cspace Tutorial apps

You can find them at scripts/python/tutorial* with cs standard distribution.

Celstart Tutorial apps

Some simple celstart applications to get you started.


Note all of this examples are generated from .blend sources using blender2crystal.


Python section at the cel manual

Python section at the cs manual

Creating celstart-python games using blender2crystal

Cs python api

Cel python api

Projects using CrystalSpace and Python

Interstate Outlaws



Do Let Us Know at the mailing list or irc channel if you want your project listed here.

| Article | Discussion | View source | History |