Raydium is a game engine. It provides a set of functions wich allow quick and flexible games creation.
Functions covers things like player inputs (keyboard, mouse, joystick, joypad, force feedback), rendering (3D objets, OSD (On Screen Display)), time (a game must run at the exact same speed on every computer), sound, ... (there's a lot more things to manage, in fact ;)
The project was started in 2001, trying to become a small 3D library, as a training to OpenGL
But Raydium starts to manage more and more things (time engine, PHP
scripting, physics engine, ...), and is now about to become a full "game engine".
As a demonstration, here it is some technical functionalities of Raydium:
- Portability (ANSI C) : Linux / Win32 (and probably some others)
- OpenGL rendering (80 000 vertices per frame at a correct framerate), fog support, dynamic lighting, transparency, skyboxes, MultiTexturing, MipMapping, ...
- Totally simplified API : simple learning curve (example: raydium_object_draw_name("objet.tri"), raydium_sound_load_music("musique.ogg"), ...)
- ODE integration (Open Dynamics Engine) in Raydium's core, providing a simple access to a physics engine (see RayODE)
- Ingame console, allowing access to Raydium or application on the fly.
- PHP Support: PHP/Raydium interface, for a full interaction between PHP and applications. It's possible to write almost all the application with PHP (see RayPHP and RegAPI).
- Integrated network API, for multiplayer games in all simplicity.
- OpenAL support : sound, music (streaming OGG), 3D source positioning) in a few function calls.
- Simplified building scripts and static binaries support for an easy distribution.
- Import/export solutions to other 3D formats: 3DStudio, Blender et DirectX (see ImportExportTri).
- Joysticks and wheels fore feedback support (Linux only, for now).
- Data repositories : Raydium applications can download (or update) missing files. Data uploading is also supported (see R3S).
- Lightmaps support, radiosity lightmaps calculations, with FsRadRay (example : http://ftp.cqfd-corp.org/radiosity_tex.png)
- GLSL Shaders
Raydium is free software, available under GPL
Raydium is designed to be the engine used behind the MeMak
project, but some complex tests were already created with this engine, as a few "complete" games: ManiaDrive
There are a lot of others 3D/game engines (and some are very complete, such as Ogre
, Crystal Space
, ...). Raydium does not try to be as complex as these engines, but contrary, is aiming quick and simple developpement. A good example of this simplicity is NewSkyDiver
, a game in less than 750 lines of code.
) will demonstrate this.
Raydium website: http://raydium.org