   Steering around contact point, any tips?
  Hi,I've found very little tutorials and tips regarding steering. OpenSteer is nice and the page with Flash modules of most steering behaviours, but it doesn't equal readable code.What I have right now is something like this:if (colliding){    // The normal is a vector pointing in the direction of collision.    vel -= normal * (vel.dotProduct (normal));    setPosition (oldPos + vel);}Basically, if a circle collides with another circle, it goes "around" the other circle.. sliding around it. But it intersects a little, bit by bit and eventually gets stuck.That's not the biggest problem though (and I guess it could be solved by trying to filter out small fp errors) but the fact that the velocity's length isn't the same. Ie, the circle is sliding and not just going around. Like it suffers from friction with the rectangle.Anyone get my bad explaination? No idea how to describe stuff like this.The code in question is for my units ingame that walk about.   
  I think the velocity adjustment is reasonable (should move the circle perpendicular to the other?). Do you have any other code that separates the circles before the next update? An important step in collision resolution is to remove the intersection by backing up one or both objects until they are no longer colliding. This, along with the re-calculated velocity, should prevent the circles from sliding on each other.You also mentioned this is for steering behavior. Playing around with the circle radii could be helpful. Imagine you have a 5m radius circle but you do a steering-collision-check using a 8m radius... The circle will steer away 3m in advance.   