Date: Tue, 20 Feb 2001 12:06:19 +0100 From: Jorrit Tyberghein <Jorrit.Tyberghein@uz.kuleuven.ac.be> To: news@voodooextreme.com, ptiseo@mediaone.net, john@gagames.com, bobz@mr.net, Subject: New release of Crystal Space 0.18r001 Crystal Space 0.18r001 Released! Here is a beta release of Crystal Space (0.18r001). This release corresponds to a CVS snapshot of 20 February 2001. Note that this Crystal Space is still beta. 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 very 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. Here are some of the highlights of this release: - 3D sprites, 2D sprites, and particle systems have been removed from the engine and are now available as plugins. This greatly improves modularity of the engine and it also allows external applications to define their own plugins. With the following release of CS this trend will continue as more and more of the engine will be placed in plugins (more on this later). - CS supports hierarchical transformations using the plugin objects above. - Support for 'regions' in the engine. Using this new concept it will be easier to dynamically load and unload big worlds in memory. - There is a new csfx library which contains standard procedural textures for fire, plasma, water, and a procedurally generated sky box. In addition it contains an animated 2D texture. - In contrast with 0.17 release the Python plugin is now actually working. - Some work on fonts. There is a small font editor included and a utility to convert TrueType fonts to CS format. - Sound has largely been rewritten and works fine now. - CSWS (the CS Window System) has many new features like color schemes, themes, transparent windows, layout manager, ... - New plugin for playing AVI/MPEG videos on textures. We are planning to release a 1.0 release in three months or so. At least for important parts of CS (it is likely that we will not be able to have every feature of CS 1.0 ready). Crystal Space is Open Source. More than 100 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. - 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. This part of CS is currently not working very well. We would like to have some new maintainers for this code. - 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 with adaptive LOD. - 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 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. - Curved surfaces, 3D sprites, and terrain will use hardware accelerated transformations if available (only with OpenGL at the moment). - Crystal Space can directly load 3DS (version 3 or later) or Quake MD2 models. - Procedural textures. You can actually let the engine render inside a texture and then display that texture again on a polygon or other entity. Some included proc textures are file, water, plasma, and sky. - Particle systems for snow, rain, fountains, fire, explosions, ... - Real precalculated radiosity. - Font server with support for truetype fonts. A font editor is also included. - 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 DX6. Native DX7/DX8 support is planned. - Optional Glide hardware acceleration on 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), Windows 32-bit (DirectDraw, Direct3D, and OpenGL), BeOS (also with Glide and OpenGL), NextStep, OpenStep, MacOS/X, and OS/2 (also with OpenGL). -- ============================================================================== Jorrit.Tyberghein@uz.kuleuven.ac.be, University Hospitals KU Leuven BELGIUM - "What're quantum mechanics?" - "I don't know. People who repair quantums, I suppose." -- (Terry Pratchett, Eric) ==============================================================================