The new Bullet Physics engine has been integrated into Blender and allows for rigid body physics simulations within the game engine. The engine allows objects to fall, roll, and collide with other objects in a realistic manner. It is an ongoing development process, but currently very much in a usable state.




For each object that will be involved in the simulation we need to first 'clear rotation' ALT-RKEY and then Apply Scale and Rotation (CTRL-AKEY in ObjectMode) otherwise the collision will be detected incorrectly giving you odd results (ie your objects could react like an explosion occurred just by sitting on a plane, etc). (You can reapply your rotation afterwards by hand.) This work around is necessitated by a bug that was discovered after release was finalized.
The physics engine does not have to be used strictly for playing games. Once a simulation has been created, it can be baked to IPOs (Blender animation curves) for rendering and modification. Each object's movement and rotation will be recorded as an IPO when this feature is enabled under the game menu. This allows for realistic animation for multiple colliding and falling objects to be built quickly with accurate results.
To create the IPO's a user must setup up their scene for the physics simulation. This includes identifying each object that will be affected as an actor and setting up each's attributes. Then the "Record Game Physics to IPO" option needs to be enabled in the Game menu, then start the game engine by using the "Start Game" in Game menu or pressing the 'P' Key in the 3D window. Each time the simulation is run the objects motion is recorded to IPO's.
To clear the IPO data, un-check the "Record Game Physics to IPO" option and rerun the simulation.
Here you find a video tutorial by MrFranz on Elysiun.com.

To enable the Bullet Physics Engine, you need to select it from the World Buttonsm "Stars, Mist, Physics" panel.
You can also set the gravitational constant in the World Material Panel. The Bullet Physics engine will use this to determine how fast objects fall in the world.

For each object that you wish to have interact in the physics simulation you need to enable it as an actor in the Logic window. Select the object, then in the Logic window (F4) press the Actor button to enable the object for simulation within the physics engine.
You can also now select several ways to define to the physics engine how the bounds of your object is defined. It is simple to define a tennis ball's bounds as a sphere and a wooden crate's as a box. For more complex objects look to use the Concave Mesh and Convex Polytope.
Example File
Here's an example file with several boxes and a ball.