I have some experience with the maths for 2D physics, including collision detection. So my question is not about how to detect if a circle intersects a polygon, I can do that. However, with all these "basics" I know about, I don't know how to properly simulate real-time physics.
As far as I know, most real-time physics engines first update the movement of all objects as though there was no collision and then "solves" the collisions, by moving back objects until no collisions occur. However, what is a good algorithm for resolving these collisions? Also, is there a better algorithm, maybe slightly slower but more accurate and still fast enough for a decent 2D game?
Thanks in advance,