Its… a bit more complex than this… but basically, the reason why the simulation tends to act more insane the further out in space you are, is because of you are getting closer to the limits of floating point data type precision used for location coordinates.
Literally the simulation error becomes greater and greater the more extremely distant you get from the world origin point, basically the rounding errors get worse.
You end up with different parts of what is supposed to be one big connected thing… having different amounts of error applied to them, to their locations… so your craft will tend to… lose local relative spatial coherence, then the constraints in the physics system try to react to this kind of error by pulling or pushing things apart, then that calc also suffers rounding errors, then this all starts an uncontrollable feedback loop and runs away into an angry ball of madness convulsing and whiplashing at seizure inducing levels.
I remember switching from 32 bit KSP to 64 bit KSP significantly allevisting this problem, way back in the day.
But you are also correct that many things are designed to kraken at basically any distance near or far, and… mostly this is done by intentionally utterly overwhelming the physics engine with waaay too many concurrent collisions or elastic connections to attempt to process at the same time, but there are also a bunch of other ‘wierd tricks’ that … basically are ‘Super Effective’ against peculiar weaknesses of the physics engine.
This is why there are mods that do things like simplify various parts (usually very small ones) down into just having a totally perfect, non wobbling, non elastic connection to their adjacent parts, to reduce the overall physics compute cost.
Also, just generally, game engines tend to have a hard time with rotational momentum in 3d, as compared to lateral translations in 3d… especially when an object … or conglomerate object… does not have its weight uniformly distributed.
You wanna make a game physics engine cry?
Try spinning (extremely fast), that’s a neat trick!
Its… a bit more complex than this… but basically, the reason why the simulation tends to act more insane the further out in space you are, is because of you are getting closer to the limits of floating point data type precision used for location coordinates.
Literally the simulation error becomes greater and greater the more extremely distant you get from the world origin point, basically the rounding errors get worse.
You end up with different parts of what is supposed to be one big connected thing… having different amounts of error applied to them, to their locations… so your craft will tend to… lose local relative spatial coherence, then the constraints in the physics system try to react to this kind of error by pulling or pushing things apart, then that calc also suffers rounding errors, then this all starts an uncontrollable feedback loop and runs away into an angry ball of madness convulsing and whiplashing at seizure inducing levels.
I remember switching from 32 bit KSP to 64 bit KSP significantly allevisting this problem, way back in the day.
But you are also correct that many things are designed to kraken at basically any distance near or far, and… mostly this is done by intentionally utterly overwhelming the physics engine with waaay too many concurrent collisions or elastic connections to attempt to process at the same time, but there are also a bunch of other ‘wierd tricks’ that … basically are ‘Super Effective’ against peculiar weaknesses of the physics engine.
This is why there are mods that do things like simplify various parts (usually very small ones) down into just having a totally perfect, non wobbling, non elastic connection to their adjacent parts, to reduce the overall physics compute cost.
Also, just generally, game engines tend to have a hard time with rotational momentum in 3d, as compared to lateral translations in 3d… especially when an object … or conglomerate object… does not have its weight uniformly distributed.
You wanna make a game physics engine cry?
Try spinning (extremely fast), that’s a neat trick!