Crystal Space is primarily a Software Development Kit, a middleware for developing cross-platform 3D applications (there is a strong focus on games in particular, but Crystal Space itself is not limited to that).
Development-relevant features include basic helper classes (such as e.g. containers), abstraction of platform-specific details (often requiring none to very little platform-specific code in client applications), a plugin system (for extensibility, customizability and versatibility) and even a custom build system (that can also be used for client applications and provides conveniences such as generation of Visual C++ projects).
While the “heart” of Crystal Space are the ‘engine’ and ‘renderer’ (roughly, management of what should be rendered, and actual rendering), there are also helper plugins providing and abstracting file input/output, audio output, physics, input from joysticks, and GUIs.
However, it does not provide any game-specific logic, such as entity management. For this look at Crystal Space's companion project CEL.
Crystal Space is a cross-platform SDK and is known to work on all current major platforms - Windows, Linux, MacOS/X operating systems and x86, AMD64, PowerPC processors. Also see the list of reportedly working platforms.
Crystal Space itself is written in C++ - this being Crystal Space's “native” language it's also recommended when all features should be exhausted to their fullest. Nevertheless, bindings are also available for Python (currently the best supported), Perl and Java.
There are various ways to use CrystalSpace to develop games. In general they are covered in the manual.
A custom jam version is used.
CS supports the following platforms:
-x86 -ppc -win -linux -osx
See the List of reportedly working platforms for more detail.
Crystal Entity Layer
|CEL (Crystal Entity Layer) is a companion to Crystal Space, adding entity management and thus providing a game engine. Read more.|
|CELstart is a CEL-based environment for self-contained game packages, allowing easy game creation via scripting, thereby easing the development process for those less proficient with C++. The package nature of games also make distribution easy. Read more.|
Frequently asked questions are answered in the FAQ.
The HowTo section gives details on various smaller tasks.
Found a Bug?
Found a bug? Please report it:
|Crystal Space||View tickets||Report new|
|Crystal Entity Layer||View tickets||Report new|
|Crystal Core||View tickets||Report new|
|The whole homepage||View tickets||Report new|