Jump to content

Warping through SOI changes: Nope


munseeker

Recommended Posts

Currently working on my first interplanetary mission with multiple craft on way to Duna - or so I thought.

As it turns out I had warped each craft out of Kerbin's SOI and when I checked in with each craft dozens of days later, they were all in solar orbits not even close to intersecting with Duna. One of them has a crew of five Kerbals with TAC Life Support, so I have some pretty hard deadlines on when they will need to be resupplied. Doh!

So I have now at least four craft that need refueling in deep space and next time I will make sure to go through those SOI changes in real time.

Link to comment
Share on other sites

I've found that you can do 10x warp over an SOI without affecting anything, but at 100x and above things can get screwed up.

People... Actually play this game without alarm clock? Oi, do yourself a favor. Get it. Use it.

Haha, I used to have that one but didn't reinstall it since I've learned how to eyeball transfer windows. But I think I will need to reinstall it to handle SOI changes for me.

Link to comment
Share on other sites

You can (or at least I can and I assume it would work for everybody) go up to 50x with no ill effects. 100x? No way. 50x is fine though.

And KAC is required for me to enjoy the game, not just because of this but also for stopping my accidental warping past maneuver nodes and periapses.

Link to comment
Share on other sites

I second the assertion that low warps are harmless. In fact, if I have a wobbly ship with lots of parts, I find that warping through the SOI change at 5x is friendlier than no warp at all, since physics calculations don't screw up your orbit during timewarp.

Big warps, on the other hand, are certainly dangerous as far as precise encounters go. I always slow down to 5x or 10x when I get close to the SOI boundary.

KAC also does help, but more so with other things.

Link to comment
Share on other sites

Thanks for all the responses. I'd set up and executed maneuvers inside Kerbin's SOI for all ships and sent them off and had then been on max warp back on Kerbin's for about 20-30 days. I had planned to stop at the Duna SOI change, but had not even considered that the Kerbin-solar orbit transition would mess things up.

And yes, Kerbal Alarm Clock is necessary, but this was a user error.

Link to comment
Share on other sites

Warping though an SOI change at more than 1x speed will change your trajectory. Very old bug.

This. Those who report that it works fine at low warp settings are not noticing the changes, which is fine as the changes likely aren't significant enough to upset their plans. But if you have a very precise encounter set up, like if you set your aerobraking altitude before the SOI change, warping through that change will affect it.

KSP needs to either fix it or include KAC-like functionality. Or, at the very least, a key that sets time warp to 1x in a single keystroke (similar to "x" for the throttle). I hate feeling like a panicked space ape mashing the comma key.

Link to comment
Share on other sites

The reason why high warp shifts your result whereas low warp (or real time) does not is important to understanding why it is like it is and what would be required to fix it. Particularly, the impotant thing is not "whether or not you are in rails warp", but what it means to be in high value rails warp.

Like all games, KSP will do its calculations every frame. So at say 50 frames per second, it is updating your position 50 times a second. Let's say you're travelling at 10,000 km/h in solar orbit (close enough to a realistic in-game value and an easy number to work with). That means that every 1/50th of a second you move 167 km/minute, or 2.7km/second, or 0.05km every 50th of a second. So the game will "see" you cross the SOI boundary within about 50m of the actual SOI boundary position. And all is well. Not much changes at 5x, or 10x, or 50x warp.

But if you are warping at 100,000 times you move over 5000km every 50th of a second, which means you might be well past the SOI boundary by the time the game "notices" and recalculates your trajectory for the new SOI. This in effect means you are entering the SOI from a completely different position, and with a completely different trajectory.

The best (and possibly only) way to fix this would be for the game to look ahead to where the SOI change occurs and make sure that it does a new trajectory calculation at the boundary point. Ideally, the game would adjust the warp value perfectly as you got near the boundary, dropping the warp value if the current warp puts your position more than, say, 1km beyond the SOI change in the next frame based on the current predicted ETA (which is pretty easy to do). A similar sort of calculation should probably be applied to atmospheric entry, otherwise you can completely bypass an aerobrake because you've whizzed past the planet before the game notices (for the same reason).

Edited by allmhuran
Link to comment
Share on other sites

Did you know that if your ship is on a collision course with a planetary body you can just go to extreme time warp and fly through the planet like it was a hologram. Kinda stupid, but it's saved more than one of my ships.

Link to comment
Share on other sites

Did you know that if your ship is on a collision course with a planetary body you can just go to extreme time warp and fly through the planet like it was a hologram. Kinda stupid, but it's saved more than one of my ships.

I'm pretty sure that bug was fixed in the latest version, hasn't happened to me again yet.

Link to comment
Share on other sites

Considering the fact that it is not so much a bug but rounding errors in the floating point variables used to calculate the orbit I'm not so sure it can be fixed completely.

All that can be done is minimize the effect by forcing low timewarp (thus smaller values and smaller error in calculations) through SOI changes.

It would basically be a light version of KAC implemented stock.

Link to comment
Share on other sites

Considering the fact that it is not so much a bug but rounding errors in the floating point variables used to calculate the orbit I'm not so sure it can be fixed completely.

All that can be done is minimize the effect by forcing low timewarp (thus smaller values and smaller error in calculations) through SOI changes.

It would basically be a light version of KAC implemented stock.

It's not rounding errors that cause this, it's that the ticks in timewarp are much longer. When crossing an SOI boundary in normal time, your trajectory gets recalculated at most 1/60th of an game-time second after the transition; under higher timewarp the time is much longer (at most 1/60 * timewarp factor seconds), so your ship is unaffected by the new gravity situation until it is deeper in the well.

Link to comment
Share on other sites

Considering the fact that it is not so much a bug but rounding errors in the floating point variables used to calculate the orbit I'm not so sure it can be fixed completely.

All that can be done is minimize the effect by forcing low timewarp (thus smaller values and smaller error in calculations) through SOI changes.

It would basically be a light version of KAC implemented stock.

It doesn't have anything to do with floating point rounding errors. The problem is caused by the game engine treating the whole of the time step of the current "frame" as being in one SOI. If you imagine a situation where you are flying outward from Kerbin to Duna and will enter Duna's SOI on the sunny side, while outside Duna's SOI the gravitational force acts towards the sun but inside Duna's SOI gravity is pulling in the other direction. If one time step ends with you just outside Duna's SOI then the game will calculate the trajectory as if the whole of the time step has gravity pulling towards the sun but at high warp a considerable amount of the time could be inside Duna's SOI and should have gravity pulling the other way.

This can be fixed as allmhuran said, by the game calculating if an SOI change is going to happen during the current time step and splitting the calculations into two parts, one before the change and one after. It is actually possible at high warp to cross more than 1 SOI boundary, either entering and leaving an SOI (a grazing touch on the edge of the SOI) or even going from one SOI to a second and then to a third, e.g. from solar SOI, into a planetary SOI and then into a moon SOI (and possibly back out of the moon SOI). So, the game would simply look ahead from the start of the time step for the next SOI change and calculate to that point, and then repeat for the remainder of the time step...

Link to comment
Share on other sites

Did you know that if your ship is on a collision course with a planetary body you can just go to extreme time warp and fly through the planet like it was a hologram. Kinda stupid, but it's saved more than one of my ships.

Yep, that happends for the exact same reason we have this SOI problem

At really high warp speeds, it will take less than a single frame for the ship to pass through the planet and come out on the other side. So at no point does the game ever notice you entering atmosphere, which is what would normally kick you out of warp

Wow, i'll have to make sure i look out for it!

It's pritty easy to setup.

The next time you return from Mun (or Minmus), set your orbit to crash with Kerbin (you probably already do this. Atmosphere + parachutes already makes you land in this case).

Now set the game to max warp.

Link to comment
Share on other sites

This. Those who report that it works fine at low warp settings are not noticing the changes, which is fine as the changes likely aren't significant enough to upset their plans. But if you have a very precise encounter set up, like if you set your aerobraking altitude before the SOI change, warping through that change will affect it.

You are a better player than I, if you can nail a Jool aerobraking altitude from Kerbin's SOI. I find that, from that far away, rotating my ship has far more affect on periapsis than time warping at any speed but the highest would.

That said, I'd have to recheck but I did some testing and at 50x speed, the periapsis at my destination planet did not change a single km when passing through SOIs.

I think this requires moar science.

Link to comment
Share on other sites

You are a better player than I, if you can nail a Jool aerobraking altitude from Kerbin's SOI. I find that, from that far away, rotating my ship has far more affect on periapsis than time warping at any speed but the highest would.

Heh, no way I'm that good. I was referring to setting the aerobraking altitude in Kerbol's SOI, then having it change when you enter the planet's SOI.

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...