[back to main page]

Sources of Kambi VRML game engine and related programs

Contents:

  1. License
  2. Base engine sources
  3. Related programs' sources
  4. Subversion (SVN) notes
  5. FPC version required

License

The engine and all related sources are licensed on terms of GNU General Public License. See www.gnu.org for more information about this license (including translations of this license to various languages) and philosophy of free software. In the future I may change the license to more liberal than GNU GPL — most probably to modified LGPL (the one used by FreePascal RTL). Contact me if you want the change to LGPL to happen now.

Base engine sources

Sources of Kambi VRML game engine:
Download engine sources
Or download from Subversion by:
svn checkout https://vrmlengine.svn.sourceforge.net/svnroot/vrmlengine/trunk/kambi_vrml_game_engine

This archive contains the whole engine sources. There are many simple example programs included in this archive (see examples/ subdirectories), and some small tools-like programs that are not released in compiled form on these pages (see tools/ subdirectories).

Compile everything with simple make inside the kambi_vrml_game_engine/ subdirectory. Compile examples and tools by simple make examples.

Note: under Windows you will need some DLLs to successfully run some of the programs. I collected all DLLs needed by my programs in this archive (622 KB), so just download this and put in program's exe directory. These DLLs are already included in binary archives of my programs, but are not included in source archives (since they are only usable for Windows users). In general, for all OSes, see section "Requirements" in the documentation of programs and make sure that you have appropriate libraries installed on your system.

Related programs' sources

Below are sources for specific programs. Each of them contains program-specific modules, main program file and script compile.sh to simply compile whole program using FPC. Download those that you are interested in and unpack them into the same directory where you unpacked Kambi VRML game engine. Then execute compile.sh scripts to compile the programs you want.

Note: archives above do not contain user documentation for these programs. For now you can just go to the page of appropriate program and read documentation there (if you downloaded binary version of program you will also have documentation there).

Subversion (SVN) notes

As you can clearly see above, all sources may be downloaded from Subversion repository. If you don't know about Subversion... well, then you should get to know it. See Subversion main site and the excellent book about the Subversion.

Code from SVN is always the bleeding-edge current version of the work. That said, usually it's quite stable (I have a personal policy to try to commit only code that is compileable and somewhat tested). So feel free to peek, and please report eventual bugs you spot. You can also download the code from one of https://vrmlengine.svn.sourceforge.net/svnroot/vrmlengine/tags/ subdirectories, these contain frozen code from specific versions of my programs, so should be 100% stable.

You can also browse the SVN repository using ViewVC.

The sources layout in SVN repository: at the top level, there's trunk/. Beneath trunk/, there are subdirectories for each project — like kambi_vrml_game_engine, castle, www and so on. At the top level, there's also subdirectory tags, and again, it has subdirectories for each project that I'm keeping tags on (e.g. castle/, and inside castle/ there are subdirectories 0.6.6, 0.7.0 etc.).

A note to developers familiar with SVN

I know that my layout is a little non-standard: standard way is to make subdirectory for each project at top level (like kambi_vrml_game_engine, castle etc.) and beneath each of them make subdirectories trunk, tags. But current layout is more comfortable for users: usually you want to download both kambi_vrml_game_engine and one of the other directories (like castle) and have them as siblings, since this allows you to compile most things by using ready provided compilation scripts.

FPC version required

The engine is meant to be compiled with Free Pascal Compiler (FPC). About support for various FPC versions: