3D Theory - Car Racing Game - Engine, Transmission and Traction

How much do we need to model the engine and transmission? We do to some extent because we need to know how fast the car can go and how quickly it can accelerate. The gear that is selected will affect the noise (loudness and pitch) of the engine. For a given engine there will be a graph of the torque that the engine can produce verses the speed of the engine. The gear is then selected to optimise the acceleration or speed depending on what is required.

This is quite a complicated subject because it would be nice to follow through cause and effect from say pressing foot on gas, through to engine speed, through to gear ratios and on to the resulting car speed. However things at the end of this chain, like the traction of the wheels, can effect the engine speed just as much from wheel spin to engine stall.

We therefore need to model the engine, transmission and traction as a single system combining together the equations for each sub system. We need to trace both the speed and force/torque through the whole system.

For example, think of the coupling between the axle parameters and the road speed we have:


torque = force × distance

(see this page) which gives:

F = T/r


linear velocity = angular velocity × distance

(see this page) which gives:

v = ω/r

car force

If we trace through the torque and speed through all the systems we might start to build up a useful set of equations, but then we come across another problem:

The other thing that makes this difficult to model is that it can be very non-linear, for example, as we gradually increase the speed of the wheels then the road speed will increase in a linear way as described above. Then suddenly, at a point determined by the road surface (oil on road etc.), the wheels will start to spin, we are then in a completely different mode (wheel spin) given by a different set of equations. Even if we reduce the wheel speed below the point where they started spinning they will still spin (hysteresis effect).

car traction

It therefore seems to me that we need to identify different modes for the system, such as,

  1. engine stall
  2. linear acceleration
  3. wheel spin
  4. breaking

and then derive a set of equations for each together with a set of criteria which switches between these modes.


I'm not sure how accurately we need to model the various couplings that connect the engine to the wheels?

universal joint

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-2020 Martin John Baker - All rights reserved - privacy policy.