Crystal Space
Website:
http://crystal.sourceforg...
Developer:
Jorrit Tyberghein
Launched:
Not specified
Status:
Active
Supported Platforms:
Windows, Linux, Mac OS X
Languages Written In:
C/C++
Languages Supported:
C/C++
Graphics APIs:
OpenGL, Software Renderer
Rating:
(46 reviews)
- Overview
- User Reviews
Crystal Space is a free 6DOF portal based engine (based on the LGPL license).
- Screenshots
- Videos
Supported Features
General
- Object-Oriented Design
- True 6DOF engine with arbitrary sloped convex polygons.
- Optional MMX support for processors that support it
- make libraries of objects, textures and other game related stuff and put it all in a seperate ZIP file.
- Fixed-function
- Render-to-Texture
- Fonts
- GUI
- Font system plugin to support other font types. Currently CS fonts and truetype fonts are supported.
- GUI system
- Environment Mapping
- Lens Flares
- Billboarding
- Particle System
- Sky
- Mirror
- Dynamic gouraud shaded sky dome (half-sphere) for a very realistic and nice looking sky
- Support for multi-layered and animated skyboxes and skydomes
- Optional halo's around lights for nice atmospheric effects. Also support for lens-flares.
- Splines
- Patches
Lighting
- Per-vertex
- Lightmapping Static colored lights with real shadows. Lighting and shadows are precalculated before the world is displayed (unless stencil based lighting is used)
Shadows
- Projected planar
- Shadow Volume Stencil based realtime shadows on OpenGL hardware
Texturing
- Basic
- Multi-texturing
- Mipmapping
- Supports GIF, TGA, PNG, BMP, JPG, and others.
- Perspective correct texture mapping with interpolation every 16 pixels (for software renderer).
- Transparent and semi-transparent textures
Shaders
- Vertex
- Pixel Supports both CG and ARB shaders
Meshes
- Mesh Loading
- Progressive
- 3D triangle mesh sprites with frame animation. Convertors for Milkshape, Maya, Cal3d, 3DS, Quake MDL and Quake II MD2 formats to Crystal Space are included. Importers for 3DS, MDL, MD2, OBJ, POV, and ASE are also included. The meshes are actually progressive meshes allowing for dynamic LOD (level of detail) changes. There is also support for skeletal sprites.
- Supports 3dsMax and Blender with exporter plugins
Scene Management
- General
- Portals
- Occlusion Culling
- Visibility system based on a combination of portals, kd-tree, and coverage buffer.
- Powerful XML world file format allowing you to easily redefine the world
- Levels can be stored in standard compressed ZIP archives so that you can easily make a bundle of one level.
- A convertor to convert MAP files (from Quake/HalfLife) to CS is also included. Also, Blender scripts (Python) are included to export models and levels from within Blender.
- Sequence manager with triggers allowing the definition of object interactions from within the level itself.
Animation
- Keyframe Animation
- Skeletal Animation 3D animated skeletal meshes using Cal3D animation
Terrain
- Rendering
- CLOD
- Landscape engine. The new experimental renderer contains a landscape engine that supports scattering, lod, etc.
- 2D sprites and a particle system
Physics
- Basic Physics
- Collision Detection
- Rigid Body
- Hierarchical bounding box collision detection system.
- Powerful physics library using ODE is included too. It is a dynamics modeling and simulation engine.
Sound
- 2D Sound
- 3D Sound
- Support for DS3D, EAX, A3D, etc.
- Support for various sound formats: WAV, Ogg/Vorbis, AU, AIFF, IFF, and MOD (using MikMod).
Licensing
| License Name | Price in $US | Source Code Included? | Additional information |
|---|---|---|---|
| LGPL | Free | Yes | |
Most complete game development SDK
Well not much of a words, MUT SEE IT WITH YOUR OWN EYES.
For start try to compile Crystal Core Project and than judge.
I'm new to 3D graphics. I was using only OpenGL. It was not the way the game is to be made.
I was looking for something that makes use of all OGL features (as much as possible) and to encapsulate them in a game based (like MMORPG) philozophy.
And i have foud it :)
Thou due i'm a begginer i dont know the other engines, but irrlicht, ogre, and small amount of others.
It is strongly recommended (from my point of view) that one can say something about 3D (like about OpenGL) before starting to make ones project of dreams.
getting better and better!
I've been working with Crystal Space for about 2 years now and i must say now that the new renderer is getting into a more stable state everything starts to fit into a big picture.
CEL also really helps developing the game logic itself although it is a bif focused on fps games.
one thing i really love about it is the build system & the SCF... bot work together so well and make it really easy to add new plugins to CS..
phil
Crystal space
I am a extreme noob to Linux and CS. The people on the CS channel were more then helpful, walking me through each step. Not only that, the engine can pump out graphics that are comparable to Quake. I wonder what will happen in a year?
Crystal Space is smashing...
There is no doubt what is the best. OGRE laks of features and speed. It looks still very confusing for me to use it. So Crystal is my choice... I think that as soon as a commercial game be available for it many people will vote for it..
Powerful engine
Crystal Space has a multitude of features which allow you to exploit the latest hardware to the fullest. But what is more impressive is the flexibility of Crystal Space and the way it degrades to cater to older hardware gracefully.
Crystal Space is not as easy to use as it could be. It certainly has a steep learning curve, but once you begin to work with it more often, it becomes easier to use. Hopefully in the future, they will focus more on helping the game developer. At present, the CEL project is a great complement to CS, providing an entity layer that makes setting up a game relatively easy.
Crystal Space performs very well with optimized code in critical areas. In addition, Crystal Space comes with Bugplug, which helps make debugging easier.
Crystal Space has a manual, and public API documentation, but they lack up-to-date information, examples and tutorials. But the support found on IRC in #CrystalSpace is marvelous, and the developers are extremely helpful. Crystal Space is led by Jorrit, who is a very dedicated project leader and maintainer.
yet another user...
CrystalSpace has excellent documentation for such a large project and tools are constantly being developed to make programming easier -- for example, the csApplicationFramework within CrystalSpace itself, and CEL which is a separate project. If you need advise or have questions about the internals, you can catch developers and users on the IRC channels.
Very nice engine
I've been working with this engine for just over a year now (mostly as part of the Planeshift project).
At first, it can be very intimidating and difficult to use, but after working with it for about a month or so, you really get a feeling for how things are done in CS. After that point, Crystal Space becomes a breeze to work with.
I've done some experimenting with both Ogre and Irrlicht, but have found them lacking in either the performance or completeness of key areas.
Overall, if you're willing to work past the initial challenges of learning the API, then Crystal Space is a great choice with a great team of developpers and an unbelievable project manager (even if he is a bit too thorough at times).
- Andrew Robberts
A mature 3d engine with several additional features
Crystal Space is very good. It has very good 3D renderer (with both HW/SW rendering) and 3D engine, supporting latest graphics boards too, and besides it has several additional classes which allow you to write applications easily: in fact with Crystal Space you have a Cal3d plugin, an ODE plugin, more than one collision plugin (OPCODE and RAPID), input/output console, support for all images format, several sound supports and so on.
There is also a -*-GREAT-*- support in the #CrystalSpace channel on irc (freenode) and in the its mailing list. And using C.E.L. writing an app is very easy 'cause half of the work of writing the entities classes is already done.
A very actively developed engine
I've been following the development for 4 years now. The engine has changed tremendously. I have experimented with Crystal Space and it has provided me with everything I need. It is SO flexible. Unfortunately it is too complex for the less experienced programmer - but hey - what is?
Good work in any case!
Great 3D engine
I use Crystal Space for a year now. What I like is the relative simplicity for doing things with the engine (using CEL). Also, the mailing list and irc are very active and most of my questions were answered in an hour or two. Also, the documentation with the engine is quite complete. The only one thing I miss is a nice and pretty map available with the engine to do my testing.
A really good approch
I'm quite new to CS (only 2 months using it) and had looked at everything that could look like a 3D engine before jumping in.
I have to say that I first was quite afraid by the complexity of the API and by the number of classes. But once you got in the engine seems a lot more accessible. The API is huge but very well done. Docs are quite complete but short. It certainly lacks a few tutorials but as already said devs are a great help always answering the little newbie question you might have.
Today I find CS to be the most modular, stable and feature rich engine, and not that hard to use.
The most complete open source 3D SDK!
I know Crystal Space [CS] since 2001 and follow the development with much interest, though not as an active member most of the time, I have learned very much from it.
There is no other "free" 3D Engine, I know of, with such a great and competent development crew!
A big "Thank you!" to Jorrit and Eric and the others!
If you are new to CS it is a must to join the "CsMain" mailing list and/or the IRC channel. With their help and the relatively good docs you will see that CS is easy to use because of its advanced design and API.
But you have to know C++. CS will not give you much if you can't read other peoples code and write your own.
Another plus is that you can use pretty much any Quake style world editor (Worldcraft, Quark, Radiant, etc.) and/or professional 3D modeling suite with relative ease to create your content. The plain text XML format of the models allows for extreme fine tuning and control, but you can also just stick with the defaults.
There is also a new OpenGL renderer currently in development and ready soon. It supports the exciting features of modern GPU's and is in it self a very modern and flexible design. Marten Svanfeldt and Anders Stenberg and others did a great job!
I also like the portability and scalability of CS.
I successfully compiled and run it on x86 Linux, Windows and PPC Linux, MacOSX ! And you don't have to change any of your code! It runs on my laptop with a crappy and old graphics card as well as on modern hardware getting the most out of it!
(Well, there are still some areas to improve, but it already works very well for me)
Imagine that the Game or App you develop with CS will run on nearly any system and OS that is out there!
Another point is that CS is not limited to games only.
You can use it for any other application, I can think of, where you need interactive 3D!
There are projects successfully using CS for different things than games, but the most actually create cool games with it.
I also like the licensing of CS, because I believe it is very uncomplicated, but you better ask Jorrit :-)
Well, I didn't intend to write a book so I'll stop here, but you got the point, I somehow like this project :-)
- Alexander Hermann
obis rate
Features: i didn't saw everything, but those things which i do was suitable for my needs (exept some features conected with cal3d, but it was cal3d fault)
Ease of Use: good, but my grandma wouldn't take care of it :)
Stability & Performance: realy good, i was using cvs, and
some errors occured almost b/c of me
Support: i can't complain but sometimes it was hard to get some help when jorrit was not watching :) (but there are exeptions)
Powerpack Crystal Space
I guess Crystal Space is the most advanced, best packed and easy to use 3D SDK out there. The usage is a little more complex in comparison, but here is what you get:
Stability, Usability, Flexibility, Speed and astunishing graphics. It is nearly unbelievable what can be achieved using the Crystal Space engine.
Up there with the greats
although crystalspace does come with a number of excellent exporters, creating content is a problem at times, with many developers making their own exporters in order to get the desired result. That aside, crystalspace is the perfect blend of bleeding edge technology and stability where the help is unparalleled from the various developers who frequent the irc channels and mailing lists. The framework is more geared towards large projects who plan to use the engine for some time instead of a 10 minute demo.
Best free engine.
CS is the best free (open source) 3d engine/toolkit out there. It's development is always very active-- always improving. There are several good scenegraph libraries for just the graphics, but CS offers (almost) everything you need for a game or other 3d graphics app: graphics, sound, IO, animation, dynamics/collision detection, terrain, GUI support (both "native" and, coming soon, "external" gui via wxWidgets). Other, related projects like CEL (a game framework by Jorrit specificaly designed for CS) and VOS (a networking framework with special CS support), provide some unique infrastructure for your project.
The feature list above covers most of the important features, but there are more. Each major feature is implemented as a plugin, some with multiple implementations to choose from (e.g. collision detection/physics), so you don't need to link against a giant library with all of these features, just the plugins you need.
The best part about CS though is it's cross-platform portability (Between Windows, Linux, and MacOSX-- and probably, with some minor effort, any system with OpenGL). The developers are also very comitted to supporting both Windows and Linux equally well.
A great framework for programmable shaders is almost ready too-- very exciting.
The main downside of all these features and useful infrastructure is that the API can be hard to understand. A full reference is available, but not everything is explained. There aren't enough tutorial/how to documents which are still up to date to the latest changes. To learn CS you need to be prepared to look at the code for the example programs and play around with it a bit. (Though the development and user community is very helpful).
in one word? averyniceengine
The documentation might not be 100% up-to-date, but that doesn't matter at all: there is always a dev online, ready to help you with ALL of your problems.
They never say RTFM or google, theyll always help you int the best way they can....
Biased opinion by the author
Basically my take on Crystal Space is that it is a very feature rich engine but it is not very easy to use. Documentation is adequate but not 100% up-to-date in all respects. Some people think CS is a bit bloated. While CS is indeed a very big project the structure is very modular and all plugins are relatively independent. This makes CS less bloated then it could be. The strongest point of Crystal Space is flexibility.
Well documented and dedicated developer base
Take the CrystalSpace, CEL (Crystal Entity Layer) and Crystal Core (the demo/tutorial in progress) projects together and you have a very extensive, well documented engine.
The new renderer, while not yet listed as "production ready," provides many advanced features such as stencil shadows, terrain generation and support for many model types.
Developer team is extremely helpful - probably more responsive than most OSS projects. Documentation does its best to stay current and provide concrete examples.
Last edited Dec 28, 2011 at 13:11
