3D Theory - Example - Car Racing Game -Options

What type of simulation would we use?

In the forum discussions here and here danske discusses the options for a car racing simulation:

I'd pick rigid bodies because I'm not interested in deformation. Any deformation, e.g. of springs, would be modelled explicitly. 
 
I wouldn't use collision detection because the parts of the car shouldn't freely collide with each other, their movements being constrained by constant joints instead; no contacts between the rigid-body components should be made or broken. I'm also not interested in hitting trees or barriers, just the internal behavior of the system of car objects. Also, the geometry of the component objects isn't important aside from a graphical representation. Since there's no collision detection I don't need to know the boundaries of the objects. 
 
The joint constraints would also be specific instances of contact constraints, so no general contact would need to be solved for; again, no contact should be made or lost from the initial joints. 
 
No friction; joint friction might be interesting to play with, but I'll assume static and dynamic friction are not significant forces. The joints are well-oiled and don't bind. Yet again, any contact between component objects is only through joints, and the joints have no friction, so no frictional forces need to be computed. 
 
The interaction with the road is determined by specific tire/road equations and not a generic friction algorithm; from the simulator's point of view the car never actually touches anything, in collision or contact, so no friction modelling is needed. 
 
Since I'm not interesting in the simulation rate, I'd go with a fourth-order Runge-Kutta with a small time step. I think the joint forces would be sufficiently continously absent collisions that this wouldn't present any problems requiring special handling. 
 
If I wanted to make it more gamish I'd probably add collision detection but not friction. 
 
Once I'm happy playing with the mechanical behavior of the suspension, I might move on to playing with aerodynamics. That might involve developing matrices giving lift/drag/torque for a given airflow vector, and possibly some rudimentary computation of ground-effect, but wouldn't model the shape of the aerodynamic surfaces or play with CFD analysis even off-line. 


metadata block
see also:
Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Game Programming for Teens.

other games programming books

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to this site, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

cover Dark Basic Professional Edition - It is better to get this professional edition

cover This is a version of basic designed for building games, for example to rotate a cube you might do the following:
make object cube 1,100
for x=1 to 360
rotate object 1,x,x,0
next x

cover Game Programming with Darkbasic - book for above software

other commercial software

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2017 Martin John Baker - All rights reserved - privacy policy.