A physics engine is a set of APIs
that basically take care of physics calculations in a game setting. A programmer simply has to import said APIs and all the work is done for him/her regarding things like Ragdoll Physics
and collision detection. Typically the API is also optimized and tested thoroughly, since a third party company takes care of it while the game developers don't have to worry about it. This makes it possible for believable physics to run on even the most modest of systems.
Most physics engines are software driven, that is, the processor takes care of all the work. Only one, PhysX, has hardware acceleration. Some of them are designed to have one, or a few, gameplay elements be Like Reality Unless Noted
. Funny things can happen if the player doesn't know how it works, though.
Rumor has it that the very first physics engines used in video games were put there to accurately calculate the behavior of bouncing breasts
Examples of some physics engines
- Havok - The most widely used physics engine. Noted for being believable, yet light on resources.
- PhysX - Originally a standalone company, but was bought by NVIDIA. Noted for being the only physics API that has hardware acceleration.
- Euphoria - Used in Star Wars: The Force Unleashed and Grand Theft Auto IV. Noted in that not only does it do physics calculations, but it also does procedural animations.
- Box 2 D - A commonly used 2D physics library, often found in iOS and Android games such as Angry Birds.