Thanks Zero! For a while I actually changed the movement system to get round this.

The problem I had was to control drifting in turns, as my physics model uses forces rather than linear velocity. As the ships go into a turn, an opposite force is applied in the x axis to stop the ship drifting out of control. The trouble was, the counter force is large (mass * speed) and the drifting threshold in the x axis small (between 1 and 10). So when the force was applied, the ship would respond but would visibly shake (if the threshold is =< 3) or jitter (threshold > 3). Since the speeds are quite high the stopping force is proportionally high too.

I then created a 'fork' in my game by replacing force based movement with linear velocity (just like WOHD, ironically). This eliminated the problem completely since linear forces act on an individual axis (so you can disable x y or z axis movement by not simulating that axis). This approach was much cleaner movement wise, but meant I lost the ships mass values (as the speed was set directly), so when a ship dumps its weapon, it no longer gained speed. I could simulate this with maths (like I had done years ago!) but it added complexity that I just did not want when the force based version did this for free.

I even contemplated having a 'driving' object that jitters (but is invisible) and parent a visible ship mesh to this (but with an animation offset to 'cushion' the vibration)- again I rigged up simple demos and this approach was plausible too.

After many swear words I realised the solution was incredibly simple. In Blender there are several modes of movement- in the logic block motion is an advanced movement system (servo motion).

....''At the heart of the servo motion actuator there is a PID servo controller: it measures the speed error (= the difference between the target speed and the actual speed) and updates the force based on the error by applying a force that is proportional to the error (the 'P' coefficient) and proportional to the integral of the error (the 'I' coefficient). The higher the coefficients, the "harder" the speed control (= quick reaction); the lower the coefficients, the "softer" the speed control (=slow reaction, sliding effect). Additionally you can limit the force along each axis so that the accelaration (or braking) force is limited''....

I used this in the x axis (so the target speed was 0 (i.e. the ship not braking in the x axis at all), maximum braking was 1500 units (i.e. the ship drifting in the + x axis) and -1500 in the -x axis). I then made a simple velocity check (if the x axis speed > n) and when true activated the servo actuator. This works really well and is butter smooth, with no shaking at all with only two lines of code.....result!

In a way I am glad this problem cropped up....its forced me to think creatively and I've learned a great deal, not to mention teaching me to not overlook the logic blocks in Blender.