Date: Wed, 23 Feb 2000 14:03:16 +0100 From: Jorrit Tyberghein <Jorrit.Tyberghein@uz.kuleuven.ac.be> To: lwn@lwn.net Subject: 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 large sub-parts: - 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 less complete. - 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 library, ...) 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. - Mipmapping. - 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 (sockets based). - 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, and Macintosh. - 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. Greetings, -- ============================================================================== 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) ==============================================================================