|
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:
http://froogz.free.fr/FroogzSetupv0.91.exe
and here is the Froogz website: http://froogz.momorprods.com
|
|