Submitted by , posted on 14 February 2003

Image Description, by

Some time ago I submited an IOTD of my TRACY engine, a realtime volume renderer aimed at game programming. Here is my first game made with it : FROOGZ, perhaps one of the first FPS in a fully destructible environment.

FROOGZ is basically a 3D evolution of the Liero/Worms kind of games. The level maps are made of voxel/volume data, which makes realtime tunneling & destruction very easy to program. Due to the nature of the levels, the maps are relatively small to preserve memory (a 256x256x256 map data takes about 50 Mb RAM), which produces very intense deathmatchs.

On the technical side, I made 2 versions of the renderer: the software renderer is a raycaster (a ray is thrown in the scene for every screen pixel), while the OpenGL renderer is more classicaly based on a Marching Cubes kind of algorithm. In order to keep the maximum flexibility for realtime modification of the voxelmap, there is no data optimization, and the OpenGL mesh is computed in realtime for every frame. Every voxel data holds a color information plus a lightmap value. The lightmap is continuously computed in pseudo-realtime, using a soft-shadow raytracing process (pseudo realtime means I allow a dedicated time for each frame to the raytracer to compute the lightmap. So the lightmap is not completly refreshed for each frame, just some part of it according to the CPU speed). The sprites are made of classic MD2 meshes.

The game itself makes use of a scripting engine/compiler. Every moving object on the screen is controled by scripts (including particles), so that it becomes possible to add new weapons, characters, game modes and effects without recompiling the code. For the sound part, I'm using FMOD.

The top 2 pictures represent the software version of the game, while the 2 middle ones show the OpenGL version (including the old-fashioned anaglyph rendering I love so much). And the last 2 pictures show the splitscreen versions of the game (up to 4 players on the same screen).

FROOGZ is a freeware project, made using Borland Delphi. the current version is 0.91. The final release is near, I'm currently working on adding some new weapons and creating a nice helpfile for the SDK (so that adding new items does not give a headache). The source code will be available as soon as the v1.00 is out. You can download the current version (1.57 Mb) at:

and here is the Froogz website:

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.