Continuing the recent trend of Four-Pics-In-One(tm), here's the first public
screenshots of an engine called 'Blondie' (don't ask), developed by Eric Le
and me. This is pretty much the final stage of a huge learning experience =)
The scenery is a standard BSP tree (which is also used for collision
detection, and to speed up radiosity calculations during preprocessing). The
'level' itself is a separate file that has all the world info (gravity,
wind...), actor positions, spawn points and other level-specific stuff.
There's a shader system similar to the one used in Quake 3; you can define
and combine multiple texture layers, each one having their own dynamic and
static attributes (stuff like uv clamping, alpha testing, texture blending
modes, etc). The shader is then "compiled" at runtime and similar layers are
combined to use multitexture modes if available (so multiple layers can be
rendered in a single pass for greater speed).
Static lighting is done using lightmaps (no surprise there!), but vertex
lighting is also supported for some dynamic effects.
You can see the particle system farther in the background (the smoke coming
out from under the overpass). Eric did a spectacular job on this one and the
system is amazingly flexible.
The entire engine is portable (mostly ANSI C/C++ code); rendering is done
using client-side DLLs under Win32 (shared libraries could be used under
Linux). Only Direct3D support is included for now, but with our architecture
adding OpenGL support (or any other rendering API) would be trivial; D3D was
just the most convenient choice at the time.
Other features are portals and mirrors (the top left shot shows a reflective
window), as well as client/server networking support. Textures are mostly
.PNG files (expertly painted by a friend of ours, Danny Oros).
Coding was done in about 6 months of spare time (we all have jobs of 40+
hours a week). Comments welcome =)
Benoit Miller - firstname.lastname@example.org
"When in doubt, mumble."