Just wanting to get some clarification on some collision detection thoughts. This is all 2D to keep things simple and no rotations.
In a dynamic impulse based resolution system (ie multiple bodies moving around, when they collide we apply forces to them for the next frame) it seems that there's only a couple of ways that I can go about detecting where/when collisions are going to happen. Say I have a list of bodies, I can either attempt to move them one at a time to their next collision point (ie sequential movement) or I can attempt to find the soonest collision point of all of the bodies, move all of the bodies to that point, and then repeat until the timestep is finished (ie simulataneous movement).
In the first case, ordering of the objects matters as collisions may or may not occur based on which bodies is moved first.
In the second case, this involves multiple iterations over the bodies to do all of the movement and seems more complex but seems much more accurate.
I've seen it mentioned (or at least it seems) that many games use the first case as it's easier to implement, faster, and the ordering effects aren't noticeable. While this seems like it would be just fine I just can't get over the fact that it's not deterministic if the order of objects changes :/
It could also be that I'm completely misunderstanding this...
Thoughts or resources related to this subject would be greatly appreciated.