LinkExchange
LinkExchange Member Free Home Pages at GeoCities

Frequently Asked Questions for Crystal Space V0.10 and beta version V0.11

This FAQ was created on 14-Oct-97 and last updated on 29-May-98.
If an answer to a question is version specific it is mentioned after the answer.

Note! I removed all answers regarding to versions older than 0.10. This is the latest official release and you should not use anything older. Not 0.08 because it is hopelessly outdated and certainly not any of the 0.09 releases because they are beta.


Where can I download Crystal Space?
A. The official version (0.10) can be downloaded from:

The beta release (0.11) can be downloaded from:
Executables for various operating systems can be found on any on the previous sites except my home page.


I downloaded Crystal Space and it won't run!
A1. Have you also downloaded some data files? Crystal Space needs a ZIP archive containing the world file and textures. There are several levels that you can download from the same place as the source archive (you only need to download one).
A2. Crystal Space requires an 8, 15, or 16-bit display and will not work on other displays.
A3. Several people coudn't run Crystal Space because they downloaded an executable and it didn't seem to be a valid executable. It turned out that the problem was that their browser removed the 'gz' extension from the file while downloading without decompressing it. The executables that you can downloaded are compressed with 'gzip' and you first need to decompress them before you can run them.


Normally Crystal Space will just use all the data from a ZIP file and start immediatelly. But sometimes it starts recalculating stuff. Why is this?
A. Occasionally it can happen that the internal representation of data is a little different on other systems. The difference is not noticeable while running but it is there in any case. So if you use a ZIP file generated on one system it can happen that Crystal Space does not recognize some of the precomputed stuff as valid. In that case it will automatically recalculate them and replace them with versions which are correct for the native system. If this happens, don't worry. Startup may be a little slower but this is only the first time this happens. One example of this happening is when you transfer a ZIP file from a DOS/DJGPP version to a DOS/Watcom version of Crystal Space.


If I disable lighting with the -nolight option will Crystal Space run faster? (question valid starting with 0.06)
A1. No. There is no speed penalty for lighting at render time. All lighting is done at startup and disabling this startup calculation has no effect on the speed of the renderer afterwards.
A2. However, since the -nolight option automatically turns of colored lighting you will get a speed increase in the texture cache. This means that every new texture will be loaded into the cache faster which has a positive influence on the overal speed of the engine (but not on the frame rate of any individual frame). (NOTE! This is no longer true for recent 0.07 versions of Crystal Space. You have to explicetely set MIXLIGHTS to nocolor to disable colored lighting and get the speed increase).


I don't have lots of memory. Can I still run Crystal Space?
A1. Well, that depends. There are several things that you can do to decrease memory usage. First of all, version 0.06 of Crystal Space is already a lot more efficient than previous versions so things may already work.
A2. If this is still not enough you can decrease the size of the texture cache with the -cache commandline option or the CACHE config file option (in 'cryst.cfg'). By default this is set to 5000000 which means 5 megabytes of memory. You can safely decrease this to 1200000 (but don't go any lower or you may get crashes!) thus saving a whopping 3600000 bytes! (starting with version 0.06)
A3. Using a low resolution also decreases the memory usage. Crystal Space uses a Z-buffer containing long (4-byte) values with the same size as the display. So a display of 640x480 uses a Z-buffer of 1228800 bytes!
A4. Another thing you can do to decrease memory usage is the -nocolor option (or COLOR=no in cryst.cfg) (starting with 0.06). This option disables colored lighting which saves a considerable amount of memory proportional to the number of polygons in the world file. If you have a recent version 0.07, COLOR and -nocolor are no longer supported. For that version you have to set 'MIXLIGHTS=nocolor' in the cryst.cfg file (or in the 'cryst.cfg' file which can be in the ZIP file you are loading).
A5. If you are still low on memory there is only one thing you can do: decrease the complexity of the world. For every polygon in the world there is a lot of memory used (the lightmaps for example). If you just want to try the engine you can run Crystal Space with some of the simpler worlds (like 'perf.zip', 'rgb.zip', or 'simple.zip'). 'perf.zip' is a good choice because it is not too complex and it contains most of the features Crystal Space has (since it is designed for performance testing).


Crystal Space is really slow on my computer. Can't something be done about this?
A1. Crystal Space is a 6DOF engine. It needs to do semi-perspective correct texture mapping to get a nice display and this is slow. Compare Crystal Space to Quake and you will see that Crystal Space is not terribly slow (it is slower but only by a few frames per second on my Pentium 90). You can expect that Crystal Space will probably need the same kind of computer as Quake: at least a Pentium or a very fast 486 with a floating point coprocessor. On my computer (a Pentium 90 with 16M memory) and a screen size of 640x480 I get about 6-8 FPS with no assembler and 7-11 FPS with assembler.
A2. Of course I'm always glad to accept any code that would speed up Crystal Space. Please try.
A3. Many things are being done currently to try to speed up Crystal Space. Hardware acceleration is one important area but there are others.


I want to create textures for Crystal Space. What palette should I use? How big should I create the textures? What format can I use?
A1. The palette does not really matter because Crystal Space tries to calculate the most optimal palette given a set of input textures. But there are some things to keep in mind. Try to get the number of different colors as low as possible without sacrificing for quality and if you design a set of textures that are meant to be used together it is always best to let them use a similar palette. This will make it easier for Crystal Space to calculate a good palette. If you run Crystal Space in truecolor mode (15/16-bit mode) and with private colormaps then there is actually no need anymore for using similar palettes.
A2. The width and height of a texture must be a power of 2 (8, 16, 32, 64, ...). That's about the only restriction. Textures need not be square (but it is probably easier to keep them square). You can have textures with sizes like 16x256.
A3. Crystal Space currently uses GIF by default but it can also read TGA, PNG and JPG (if enabled in the makefile).
A4. Unless a texture is not meant for tiling you should make sure that it can be tiled. This means that if you put a number of textures next to each other of above each other the boundaries of the 'tiles' should seemlessly integrate with each other. Of course, it is perfectly possible to create textures that are specifically drawn for untiled usage. An example would be a texture representing a computer keyboard. This texture will probably not be tiled (it would be a little strange).
A5. I have some imaging tools (like XV and ImageMagick) so I can do a lot with any textures I get. If you can't output to GIF, no problem, I can read almost any image format. If the size is not a power of two I will scale them. If the image uses too many colors I can reduce the number of colors...


I'd like to contribute to Crystal Space. What can I do?
A. Have a look at the Todo file. I try to keep a fairly comprehensive list of missing features and bugs there. If there is something there that you find interesting and nobody else is working on it (check the Who Is Doing What file). Even if someone else is working on some feature you may still have some unique ideas that you want to share. In any case you should contact me so that I can coordinate the efforts and avoid duplicate work.


How does Crystal Space work?
A1. This is a short question with a long answer. Two documents to get you started are 'document.txt' and 'cam_matr.txt' (both included with Crystal Space). 'document.txt' contains a description of how Crystal Space uses the portal system and how lighting works. 'cam_matr.txt' is a document explaining how the camera system is used in Crystal Space (included starting with version 0.06). 'document.txt' assumes that you have some knowledge about matrices, and 3D mathematics in general. 'cam_matr.txt' gives more information about matrices and transformations so you can read that file first.
A2. Starting with version 0.09 there is online documentation in the form of automatically generated HTML files (using Doc++). You can download these generated documentation from the same place as the beta archive or you can generate them yourselves using 'make -f makefile.??? doc'.
A3. If you still need more information (after all, not everything is explained in those two documents) just mail me and I will answer you as soon as I can.


Who is doing what currently?
A. Check the Who Is Doing What file to get a list of all people that I know who are doing something for Crystal Space.


I want to write a game/MUD/RPG/... with Crystal Space? Can I do this? Will you help me? ...
A1. The ultimate purpose of Crystal Space is that it will become a useable and powerful engine for writing games and other similar programs. The current version of Crystal Space (0.10 or 0.11) is not yet ready for this. But you can contribute to Crystal Space to make this happen! I'm willing to help anyone trying to use Crystal Space is another project. However, because of time constraints I will only do development and management of the general Crystal Space engine. Specific features and game development will have to be done by someone else (maybe this changes in future if I will ever acquire more of that precious resource: TIME, but I doubt it). Of course, any enhancements to Crystal Space will undoubtedly benefit all developers using Crystal Space so this should not really be a problem.
A2. Since Crystal Space is now using the LGPL licensing policy you can make commercial or shareware products using it. See the file COPYING which you can find in the source archive for more details about what you can and cannot do.


This page hosted by
Get your own Free Home Page