A little overlap is to be expectedone with **Box2D**, try increasing the `positionIterations` parameter in the call to `World.step` (also consider experimenting with the `velocityIterations` parameter). Increasing these values gives a more stable simulation with less collision overlap, but it comes at a performance cost. You can also try stepping the `World` in smaller increments, [Gaffer on Games's Fix Your Timestep][1] has a good description on how to decouple the physics time from the render time. Play around with the values and find the compromise that works best for you. [1]: http://gafferongames.com/game-physics/fix-your-timestep/ "Gaffer On Games Fix Your Timestep"