   Arcade car physics:  A few pointers?
  Hi,I'm implementing a destruction derby style mini-game.  It has 3D models but I'm using completly 2D physics (with some hacks so the cars can rock back on their suspension and the like).I have a working version, but it's not very "hollywood" in its handling.  In particular my realistic approach to the physics doesn't allow the cars to handle collisions with great arcadey spins, I can't get them to power-slide nicely, and I'd like wheel-spins from standing.I'll post the pseudo code here, and any pointers would be helpful!I've simplified the handling into two wheels rather than four, one on the rear axle and one on the front (although the models have four as normal :p).  The front wheel is the only one that turns but both wheels can drive -- it's up to the designer if it's rear-, front- or four wheel-drive.  Both wheels are equidistant from the center of gravity.I'm simulating simplified engine torque using a spring:  If the user presses the throttle position springs up to 1.0.  On releasing it springs back down (much faster).  I don't want nasty torque curves or anything for this arcade game.  The throttle position is then used as proportional to the drive force at each wheel.  The full wheel pseudo code is:compute wheel velocity from linear and angular vel of whole car;if ( hand brake on this wheen ) // only on rear wheels  wheel force = wheel vel scaled by negative constant;  show skid marks;else  compute component of wheel velocity that'sperpendicular to the wheel's direction;  friction force = perp vel scaled by negative constant;  // should this be by the wheel vel component paralell   //   to the wheel's direction?:  road resistence force = wheel vel scaled by small negative constant;  drive force = wheel direction scaled by (throttle pos * constant);  brake force = wheel direction scaled by (brake pos * -constant);    wheel force = friction force + road resist + drive + brake;end// wheelpos is the position of the wheel wrt the center of gravitytorque out = wheelpos.x*(wheel force.y) - wheelpos.y*(wheel force.x);linear force out = wheel force;At the car level I add in a square-rule air-resistence force and then break the resultant torque and linear force down into angular accel and linear accel.  Yadda yadda yadda you know the rest, I get an updated position and orientation out.Like I said it works.  It's just not satisfactory.Some people have mentioned dynamic friction to me:  As I understand it I test if some force is greater than the current load on the wheel (you can apply a ~1.0 constant to the load), which I already know, and if the force is greater you cap the force to that limit.  At this point the wheel is skidding.  Which force do I apply this to?  The friction force?  The total wheel force?  How does this apply to handbrakes?  Anything else I'm missing?Thanks in advance,Andrew F.EDIT: source tags   
  There's a good article on this subject in Game Programming Gems 5. Its an article on 2D vehicle physics, with some discussion of supporting special moves like spins and slides. The article is by the guys who wrote the fantastic GBA racing game, Karnaaj Rally. Recommended.Karnaaj Rally