[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Crystal Space 0.15r002 Released!
Here is a new beta release of Crystal Space (0.15r002).
This beta release corresponds to a CVS snapshot of 23 February 2000.
Note that this is a beta release. We don't make any guarantees about
anything. We have done some work to ensure that it should work but
there are obviously many known (and unknown) bugs.
However, personally I'm feeling reasonably confident about the state
of this release. There should be no fundamental problems with it and
many people are actually using it already now for their projects.
Crystal Space is Open Source. Already 88 people have contributed in
minor and major ways. I can always use more developers. So if you feel you
have something to add to Crystal Space then mail me.
Check out http://crystal.linuxgames.com for more information and to
download the source. You can also view screenshots there. We are also
hosted on http://sourceforge.net now (for CVS and mailing list).
Crystal Space is an Open Source 3D SDK. It contains the following
- engine: the 3D engine itself (more on its features below).
- rasterizer: a 3D rasterizer subsystem. Currently there is support
for OpenGL, Direct3D, Glide, and software rendering
through different instantiations of cs3d.
- csgame: a game library written on top of Crystal Space engine.
This game library is written specifically with
FPS type games in mind.
- csclear: a game component library written on top of Crystal Space.
This extra layer is more general than csgame but probably
- physics library: a full features physics library that uses CS.
- textures: a library to load verious types of graphics textures
(PNG, GIF, JPG, BMP, TGA, ...)
- sound: 3D and 2D sound library including libraries to load
various types of sound files.
- networking: low-level networking support.
- window system: a GUI system specifically for CS.
And also a few other smaller libraries (utility library, geometry
The engine itself has the following features (shortened list):
- True 6DOF engine with arbitrary sloped convex polygons.
- Visibility system based on a combination of portals,
octrees, BSP trees and c-buffer (coverage buffer).
- Landscape engine based on ROAM algorithm.
- Crystal Space supports textures with various formats
including GIF, TGA, PNG, BMP, JPG, and others.
- Moving objects and a (currently limited) script language
controlling the movement.
- Flexible plugin system which (theoretically right now)
allows for plugging in other modules including scripting
languages. Preliminary work for integrating Python with
Crystal Space is already included.
- Transparent and semi-transparent textures allowing for
see-through water surfaces and windows.
- In addition to the usual lightmapped textures you can also
use triangles which are gouroud shaded.
- Dynamic gouroud shaded sky dome (half-sphere) for a very
realistic and nice looking sky. With very little programming
it is possible to have a moving sun which actually modifies
the color of the sky in real-time.
- Crystal Space supports mirrors!
- With mirrors and alpha mapping you can create really nice
shiny or reflecting surfaces.
- Static and dynamic colored lights with real shadows.
- 3D triangle mesh sprites with frame animation. Convertors
for Quake MDL and Quake II MD2 formats to Crystal Space
are included. The meshes are actually progressive meshes
allowing for dynamic LOD (level of detail) changes. There is
also support for skeletal sprites.
- Crystal Space can directly load 3DS (version 3 or later) or
Quake MD2 models.
- Depth-correct colored volumetric fog in sectors (both
software and hardware renderers).
- Optional halo's around lights for nice atmospheric effects.
- Support for curved surfaces (Beziers, ...).
- Hierarchical bounding box collision detection system.
- Powerful physics library is included too. It is a dynamics
modeling and simulation engine.
- The Crystal Clear layer is also included. This layer is
sitting on top of Crystal Space to provide for more game
specific functionality (Crystal Space as such is game independent).
- Sound support (for Windows, Linux and Macintosh only currently).
- Support for 3D sound (DS3D, EAX, A3D, ...).
- Initial networking support for Windows and Linux/Unix
- Support for 8-bit (palette), 15/16-bit (truecolor), and
32-bit (truecolor) displays.
- Support for internal 24-bit textures with a private colormap
for every texture.
- Optional Direct3D hardware accelaration on Windows for DX5 or
DX6. Native DX7 support is planned.
- Optional Glide hardware acceleration on Windows, Linux, BeOS,
- Optional OpenGL hardware acceleration on Windows, Linux, BeOS,
Macintosh, and OS/2. The OpenGL port has been tested with Mesa
on Linux and works very well.
- Optional MMX support for processors that support it.
- Powerful ASCII world file format allowing you to easily
redefine the world (a real editor is coming (MazeD)).
- A tool to convert MAP files (Quake II and HalfLife) to CS
format is also included.
- Levels can be stored in standard compressed ZIP archives so
that you can easily make a bundle of one level.
- It's possible to make libraries of objects, textures and
other game related stuff and put it all in a seperate ZIP file.
- Crystal Space uses SCF for communication between several
layers (like between the 3D Engine and the 3D Rasterizer).
This allows plug-and-play capabilities and other nice stuff.
- Crystal Space has commandline arguments and can run at many
resolutions (320x200, 640x480, 800x600, ...).
- Very configurable via commandline or configuration file.
- There is also an input/output console (like in Quake) that
can be activated with the 'tab' key.
- C++ source (and optional assembler) is available. Crystal
Space falls under the LGPL GNU copyleft license for libraries
which means that the engine can be used in commercial
products provided you can conform to the LGPL license (no,
you DON'T have to release the source of your game if you use CS).
- Currently Crystal Space has been ported to DOS (DJGPP),
Unix (X Windows, OpenGL), Linux (X Windows, SVGALIB,
Glide, OpenGL, and GGI), Macintosh (also with Glide and
OpenGL), Amiga (AmigaOS and Linux, current port broken but
work is in progress), Windows 32-bit (DirectDraw, Direct3D,
OpenGL, and Glide), BeOS (also with Glide and OpenGL),
NextStep, OpenStep, Rhapsody, and OS/2 (also with OpenGL).
Currently the major work we are doing is:
- Support for huge worlds through dynamic loading.
- Support for hardware accelerated transform and lighting
(hello GeForce :-)
- Better integration of the ROAM landscape engine.
- Optimize the engine further.
- Work on new Texinfo documentation for CS.
Jorrit.Tyberghein@uz.kuleuven.ac.be, University Hospitals KU Leuven BELGIUM
- "It looks worse than you can imagine!"
- "I can imagine some pretty bad things!"
- "That's why I said *worse*!"
-- (Terry Pratchett, Moving Pictures)