

With an extremely precise terrain map (~10cm resolution) that deforms under the wheels! But I am afraid the polygon count would be tremendeous. I chosed trucks because everybody does cars The initial objective was to do a "truck trial" game : It is not vehicule engineering research : it would be too resource consuming to really simulate chassis parts.

The Beam engine is not opensource, the main reason are that it is a horrible programming mess, and it does not uses a good integrator yet. Since everything is ball-joint, you must triangulate everything, and you can always obtain other joints by contruction (many extra triangulation beams are masked in trucks). You observe that the truck has a center of inertia, moments of intertia, you name it, but it is never explicitely computed. Yet the simulation is realistic : all the rigid body "laws" emerge from the interaction of nodes. Also I do not compute anything central (center of inertia) and in fact if you split the truck in two, the two parts move independentely and realistically (I have seen impressive wheels run-offs). I just compute nodes movements, and nodes are dimension-less objects. The consequence is that I do not have to compute anything that has to do with angles (rotational speeds and moments. The good news is that the model is extremely simple : I simulate monodimensional beams connected by ball-joint. I hope that with a Runge Kutta intergrator it will require less steps per second. This version uses a simple Euler integrator, with 100 integration steps per frame, and a capping at 20fps (below 20fps, the simulation is not realtime), so the integration steps are never below 1/2000th second (with several hundred nodes to compute)!!! And even with that, the chassis is not as rigid as I would want. Yes, a spring array is a good way to model a vehicle, but the springs must be very, very strong so the integrator must run on very small time steps to avoid instabilities. Screenshots are here: and a big thanks to the Ogre team for their marvelous work! This is still a work in progress, but it is downloadable as is at: īEWARE: the physics engine is very CPU intensive and the game won't run without at least a 3GHz processor!!! Progress has still to be made to improve the engine efficiency (it still runs on a basic Euler integrator).

(making deformable meshes in Ogre is a little less funny, not to mention shadows that are still missing) The result is a deformable chassis and deformable tires (which are also made of beams) and lots of fun to drive. Loads are computed on each beams, which deforms according to the load.

The physics engine is not a rigid-body type, but a soft-body based on particles network. I used Ogre 1.0 for the graphics, Audiere for sounds and I developped the physics engine. Here is my first game: it is an offroad truck simulator.
