Thanks for that, Terry.

So if I understand you correctly, you don't put in 'how a ship will behave under XYZ' you tell the computer 'this ship is x heavy y long z soonandsoforth' and let the computer work out how it actually behaves... The programme is trying to calculate in real time what the ship will do...

Pretty much.

I simplified it somewhat. Each element of the ship's performance has a number of things that describe it. For many of them I have to draw a graph, for instance, there is a graph of change of thrust. So, I have to plot points that control how fast the thrust increases/decreases when you slide the control forwards or backwards (one graph for each direction). It has to account for the speed at which the vessel is going now, where the thrust control was when you started the movement and where it is now. I also have to explain to the computer (by way of graphs/forumlae etc) that the amount of change is further affected by the speed of the ship at each instant.

And that's for a very simple thing: speeding up by pushing the throttle forward.

There are settings for everythng imaginable. How about this:

There are a set of curves for the efect that the waves have as they hit the side of the vessel. This changes according to strength of the waves (of course) as well as the angle at whch they hit and the forward speed of the vessel.

These are in turn affected by the curves that describe the moments of inertia of the vessel in each of 12-ish different ways - linear momentum/inertia, angular momentum/inertia on each axis, and the limiting factors ("damping") in each axis, both linear and angular.

And those are affected by things like the bow resistance, sides resistance, bottom resistance, all of which have their own curves. And so it goes round.

Then factor in the forward speed, rate of acceleration, mass of the vessel, centre of mass, centre of floatation, and all the other stuff.

I am truly amazed that the PC can do this for a single vessel, never mind every vessel, evey buoy, static, AI and player in the environment.

You get to understand why Ship Simulator needs a high-spec PC and why people roll their eyes when they read "Well, I can play {insert name of game} OK on my PC."

Actually, I think this is probably easier to do than to explain.

Maybe....