Take the Separating Axis Theorem. Build a collision detection system based on it, with several primitives, like barrels, boxes, and all the stuff. Stick there a rigid body response module and a really really stable numerical integration algorithm.
Is it fun enough to try that monster with just a couple of barrels? I guess it´s not...
http://www.youtube.com/watch?v=YG5qDeWHNmk
A more detailed explanation:
http://www.youtube.com/watch?v=VaHS-y_mapQ&feature=related