EECS 466 Project |
| For the past several years, a co-worker and I have been making modifications
to the Quake 2 engine made by John Carmack. Quake2max, which was written
by Psychospaz, includes several key improvements over the Quake 2 engine.
These updates include simple shadow effects, alpha mapping, A-Buffering,
3rd Person Camera, stain maps on the world, and an improved particle effect
system. From this base my co-worker and I have made several key improvements
over Quake2max. Firstly, we changed the animation system from a vertex-based
animation system to a bone-based animation system. This change allows us
to apply any animation to any model using the same skeleton. Next we improved
the shadow system of Quake2max. The Q2Max shadow system took each body part
and had it make a shadow; the problem is that the shadow of body parts can
and often did overlap, making the areas around the joints darker than the
rest of the shadow. We improved the shadow by making stencil shadows, so
that the shadow and everything in the outline have the same level of shading.
Another feature we added was lighting on models. Before hand, Quake 2 only
had ambient lighting on models; we updated it to gouraud lighting on models
based on the models normal. Also, more accurate hit detection was added
using Tomas Möller’s fast triangle-triangle intersection algorithm.
Major improvements to the guard AI have also been added to include improved
monster pathing and the addition of several states to the monster’s
state based AI system. For my graphics project, I wish to continue modifying the engine. I think the most important aspect to add to the engine is bump mapping. I’ve notice that with the new lighting system, stationary objects like doors appear especially flat. Bump Mapping would give the illusion that a 2D texture is 3D. Another feature I’d like to add is offset mapping. This is similar to bump mapping but rumored to be better. It may also be used in combination of bump mapping to improve the image graphics. If there is time I would also like to add the following features; reflective
surfaces, a system for handling raining effects and phong maps lightings
on the world. The addition of these features would allow the engine to
have mirrors or reflective shiny surfaces, more dynamic outdoor areas
and better lighting. Since the BSP lighting program for phong map lighting
is currently not an open source, this addition may not be possible. |
Quake 2 Screenshots |
|
Quake2Max Screenshots |
|
Stealth Tactics Screenshots |
|