I'm working on a 2D game engine using C, SDL and OpenGL. Have worked out basic graphics, physics, and broad phase collision detection. I am trying to realistically simulate "pushing" objects around. I have gotten halfway there, but it doesn't feel right. I've implemented the impulse calculation found here to change linear and angular velocity. I want the blocks to have weight to them, and to slow the player down.
Consider this video. The leftmost block is player controlled. This is how my simulation feels right now.
Is there a relevant mathematical formula for this?