Game Development Reference
O THER T YPES
OF P HYSICS
you can add to it: more force generators, joints, and so on. You can use it in
a wide variety of game genres as long as you understand its limitations and are willing
to work around them.
I've referred to this chapter more than any other in this topic. As we've built the
engine up, I've made decisions about approximations, assumptions, and implemen-
tation options that I would use. In each case there were other alternatives. The engine
I've built is good and useful, but there are a couple of other approaches that would
have been equally good and would have had a different set of limitations.
This chapter looks at the main differences between our physics engine and those
other approaches. It will not give a step-by-step guide to building those engines or any
detailed implementation advice. Because building an engine involves a whole series
of interdependent decisions, this chapter would be twice the length of the topic if we
worked through each approach. Instead I hope it will give you enough information
to understand the alternatives and to get you started if you want to go that way too.
We've developed our physics engine as far as we're going to. There are things
S IMULTANEOUS C ONTACT R ESOLUTION
In our engine we resolve contacts one at a time. This is fast, but as we've seen it has
limitations. In particular we have no way of knowing whether the action we take
to resolve one contact might cause other contacts to move in an unrealistic way. In
our engine this is seen when a set of connected contacts with friction appear to slide
against one another.