Box2D is a feature rich 2d rigid body physics engine, written in C++ by Erin Catto. It has been used in many games, including Crayon Physics Deluxe, winner of the 2008 Independent Game Festival Grand Prize. Many ports are available for Flash, Java, C#, Python, JavaScript, D, and fixed point embedded devices.