Game physics

From QAOP Wiki

Jump to: navigation, search

Contents

Free physics engines

Box2D Physics Engine

Bullet Physics Library

Havok Physics and Animation

Collision detection

Buy Real Time Collision Detection by Christer Ericsson. Every game physics programmer should own a copy, and every game programmer should be aware of this book. It covers narrow phase collision detection extremely well, and the accompanying CD has pseudo-code in C++ style that you can pretty much cut-and-paste into your own code base as long as you have Point and Vector classes.

One thing the book doesn't cover explicitly is determining contact manifolds for the intersection of two oriented bounding boxes (OBBs). This routine is pretty much a pre-requisite for writing a 3D constraints solver. You can grab my OBB OBB intersection notes that I used to code up a non-optimal but reasonably robust routine.


Constraints

Concepts

State vector

Mass matrix

Constraint matrix equation

Constraint stabilisation

Constraint projection

Jacobian matrix

Types of constraint

Particle to point constraint

Particle distance constraint

Particle non-penetration constraint

Constraint solvers

It currently seems quite difficult to find a single source of information that can guide a programmer through the theory behind simple contemporary constraint solvers. For this reason I have put together a simple step-by-step plan of action that may help wannabe game physics programmers to understand a constraint solver.

Personal tools