Game Development Reference
F IGURE 17.8
Screenshot of the explosion demo.
All together the explosion looks quite good. The explosion demo on the CD
shows the three components in action (see figure 17.8). There are no lighting or fire
particle effects, which would normally be used in a real game explosion (neither of
which is typically driven by the physics of the explosion). For a huge explosion a neat
effect is to set fire to (i.e., add fire particles to the surface of) objects as they first come
into the range of the concussion wave. This gives the effect of a consuming fireball.
L IMITATIONS OF THE E NGINE
We have built a usable physics engine and had some fun putting it through its paces
in different game situations. This is about as far as we'll be going in detailed code. The
rest of the topic looks in a more general way at other issues and approaches.
As I've said from the beginning, the approach we've taken is a sound one, with
a good blend of implementation ease and simulation power. Ultimately, however,
any approach has limitations. While I have tried to be clear about the limitations as
we have gone along, before looking at the benefits of other approaches, it is worth
recapping those issues that our engine finds difficult to handle.
Large stacks of objects may not be too stable in our engine. Of course we can set the
stack up and put it to sleep, and have it fall when knocked, but a slight touch is likely
to set it jiggling. At its worst it can cause blocks at the top of the stack to move visibly
and vibrate their way off the edge.
This is caused by the iterative penetration resolution algorithm. The algorithm
doesn't perfectly position objects after resolving the resolution. For one object (or