Jump to content

Time Dilation at High Speed to not Break Physics


Recommended Posts


Abstract
I hereby propose a system to avoid players breaking physics by traveling faster than the speed of light using futuristic drives.

 

Introducing futuristic engines in KSP is needed to deal with the insane distances between stars in order to avoid mega time warps that would fast forward time by hundreds of years.

From this arises a problem. Namely, people abusing said engines to break known physics to travel faster than the speed of light - even if using cheats. As an educational game this should be prevented to not spread misinformation about the cosmos. 

A simple yet realistic (relativistic haha) system to deal with that is time dilation! A space ship approaching the speed of light experiences time more slowly. Down to a full stop at the theoretical limit of the speed of light. At that point chemistry stops working (no time -> no chemical reactions etc.) and a space ship could not accelerate faster. You'd be trapped actually, hence only a theoretical limit. You can't reach it.

Since the player is not part of the ship just an observer from a different dimension, time dilation would only affect the ship. Not the ingame clock. 

How this could be implemented: Reaching a threshold of lets say 30% of the speed of light every engine would start to lose thrust in tangential-exponential fashion. Optionally also reaction wheels and even Kerbals themselves for the player to notice that something strange is going on and he is not just running into a bug. This could be solved with a local time-warp factor <1 that only affects the craft and everything in physics range. If you'd EVA a Kerbal at 99% the speed of light he would also move 7 times more slowly. The ship would rotate 7 times more slowly and produce 7 times less thrust. Or 0.14x thrust:

t = t0 / sqrt(1 - (0.99c)^2/c^2)
t = t0 / sqrt(1 - 0.99^2)
t = t0 / 0.1414

The bottom figure shows the relation between the time of the player and the time of the Kerbal as our velocity is approaching the speed of light c. The closer to the speed of light the more time it takes for the Kerbal to do anything the player asks it to. Up to about 0.3 or 30% of the speed of light the graph can be simplified as linear. This means time passed for the player and time passed for the Kerbal are equal. Hence no calculation is needed for optimization.

f(x) = x/sqrt(1-x^2)

UX5TsHo.jpeg

 

Conclusion
Adding Time Dilation into KSP is necessary to deal with problems that arise from the educational nature of the game and from players being players trying to break physics. Those who dare would be surprised and left in awe as to how much attention to detail the developers put. There are simply no cons besides a few minutes of development time. Thank you!

 

Sources:

  • Calculation by ChatGPT
  • Graph by GeoGebra Calculator
  • PhD. in Kerbal Astrophysics and Goo Dynamics. 


 

Edited by kicka55
Link to comment
Share on other sites

I don't like it from a gameplay perspective -  If I control a Kerbal I don't see myself as an external observer, I see myself as playing that Kerbal from his perspective. It's also not fun to play at 1/7 normal speed.

But what's worse is it would make the game physics incoherent. With your proposal you would have time dilation based on your absolute speed in a fixed frame of reference.

That violates both Relativity and Newtonian Physics since in either theory all inertial reference frames are equally valid. Just consider that if you have two vessels moving away from Kerbin in opposite directions at 0.7c will have a relative velocity of 1.4c to each other in KSP. So what's the speed you want to plug into your formula exactly?

The problem with implementing only one aspect of special relativity is that you will always end up with a mess. It's much better to have fully working Newtonian mechanics based on the corresponding axioms than have one specific feature of special relativity (time dilation) without full implementation of the Lorentz transformations required to switch between inertial reference frames in special relativity.

Edited by MarcAbaddon
Link to comment
Share on other sites

13 hours ago, VlonaldKerman said:

I was going to upvote this, but then I saw you made your graph with GeoGebra, not Desmos. Reported.

Haha, didn't know the other. Is it better? I know GeoGebra from school lol. 

7 hours ago, MarcAbaddon said:

I don't like it from a gameplay perspective -  If I control a Kerbal I don't see myself as an external observer, I see myself as playing that Kerbal from his perspective. It's also not fun to play at 1/7 normal speed.

But what's worse is it would make the game physics incoherent. With your proposal you would have time dilation based on your absolute speed in a fixed frame of reference.

That violates both Relativity and Newtonian Physics since in either theory all inertial reference frames are equally valid. Just consider that if you have two vessels moving away from Kerbin in opposite directions at 0.7c will have a relative velocity of 1.4c to each other in KSP. So what's the speed you want to plug into your formula exactly?

The problem with implementing only one aspect of special relativity is that you will always end up with a mess. It's much better to have fully working Newtonian mechanics based on the corresponding axioms than have one specific feature of special relativity (time dilation) without full implementation of the Lorentz transformations required to switch between inertial reference frames in special relativity.

We use planets on rails and 2 body physics. Don't have to be too strict about all that. The point here is to prevent players from reaching speeds faster than the speed of light. What would be your solution? Just stop all thrust? Or just let them have it?

The 1/7 Kerbal thing would be a super niche case if anyone actually get to 99% the speed of light using cheats. It won't be possible in the normal game I assume. And then you only experience that slow motion effect as long as you EVA in space at that speed. But as I mentioned it could be optional. Now that we have interstellar travel why not make the travel itself interesting as well? Otherwise it's just a loading screen. And the speed that counts would be of course the speed displayed on your Navball. 

My proposal is not perfect but I wanted to get the idea out there. Maybe they already thought of that before. No idea. 

Edited by kicka55
Link to comment
Share on other sites

  • 3 weeks later...
On 3/9/2023 at 4:26 AM, VlonaldKerman said:

I was going to upvote this, but then I saw you made your graph with GeoGebra, not Desmos. Reported.

As a GeoGebra entusiast i am more upset with using GeoGebra calculator, classic 5 is the only version of GeoGebra for me.   

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...