I am working on collision detection for a project and I am worried that the update rate affects the collisions. Basically, the way how it currently works is I do kinematics with acceleration and velocity to find the final velocity and position. I then assume the player moves in a straight line to the final position, and raycast from a bunch of test points. If they detect a collision I offset the player so the test point is touching the wall. I then correct the velocity using the normal of the hit face, and then do it again to see if there is another collision.
All of this works, however it does not seem to be time accurate. If I have a player that is updating twice as many times per second as the other one, the one that is updating faster will stay in the exact same place as the normal one, except for usually upon hitting a wall. When they just run into a wall, the slower updating one will be put behind the faster updating one. Also, the velocities also get desynchronized when going over a corner.
I believe the problem is that the players don’t actually move in a straight line to their end point, they actually move along a parabola. I am wondering if to fix this I need to write a parabola caster, or whether I can just live with it be innacurate. This is for a multiplayer game, so I am worried about the server and the client getting desynchronized every time the client hits a wall.