Jump to content

Devnote Tuesday: Smooth Transitions


SQUAD
 Share

Recommended Posts

<figure data-orig-height="92" data-orig-width="480"><img data-orig-height="92" data-orig-width="480" alt="image" src="https://40.media.tumblr.com/0ff9377afa68dc3ad3fe6844aaf1bd38/tumblr_inline_nlqiriiarD1rr2wit_500.jpg"/></figure><p><b>Felipe (HarvesteR): </b>This week was mostly devoted to bug fixing and integrating features which have gone through their initial QA phases, and also largely focused on migrating the build servers to their new home (we’re moving them out of the office into a new place which provides much faster pipes for them, so they’ll have plenty of room to run around and do their build server-y things… we trust they will be happy there). However, the move itself is a pretty large amount of work, so things have been a bit hectic this week, especially because we haven’t been able to run builds as well as we like to. Hopefully things will settle down over the next few days.</p><p>On my end, I’ve been mostly running around tying loose ends here and there, and fixing issues that came up during the integration of these recent features… Admittedly, not the most interesting thing to write about, but it did take up most of my time this week.</p><p>I have been able to do one thing which I’ve been really wanting to do for ages now: You may have noticed when vessels cross spheres of influence at high time warp, that the resulting orbit after the transition can be quite different from what was originally estimated. This is caused not by an imprecision with the estimation itself, nor is this a floating-point inaccuracy issue for once; the problem is with the way the actual orbit component in the vessel behaves when switching reference frames. That bit of code was written much longer ago than the patched conics system, and it was less accurate than the maths used to estimate your upcoming trajectories.</p><p>The inaccuracy came from the fact that, while the patch conics estimation is very precise in pinpointing the exact moment the vessel crosses SOI’s, the actual orbit code would simply react to the dominant body having changed between the last frame and the current one, and recalculate the new orbit based on the current position and velocity vectors. That is okay as long as you are not running the game at a high warp factor, but at very high time compressions, a vessel may move a lot in one frame. Quite enough to fly far past the true point of SOI transition, which means the state vectors it used to calculate its new orbit could be off by as much as an entire frame’s worth of movement.</p><p>The solution was simple enough: Instead of simply recalculating after a change in sphere of influence, the vessel orbit code now searches backwards between its position in the last frame and now, for the exact point where the it crossed over to the new SOI. This search finds the moment of SOI transition down to 1/100th of a second. We then calculate the new orbit from the state vectors at that point in time, which gives us much more accurate results, and is unaffected by the warp factor.</p><p>In practice, this means we will now be able to cross SOI boundaries without having to worry so much about warping down before the transition, as the orbit on the other side will be very much the same as the estimated one from before you crossed over.</p><p>In any case, however, there is also a new system in place which sets a time warp limit when approaching an SOI transition. This was something I added before this new fix, and even though it isn’t strictly necessary anymore, it is quite nice to have anyway, as it highlights the SOI transition event, and lets you know something important is happening.</p><p><b>Alex (aLeXmOrA): </b>After a really exotic weekend in which I got a wisdom tooth extraction surgery that gave me a hamster cheek (that I still have), I’m back to continue solving accounting issues and paperwork. Also, working on the license system… almost there.</p><p><b>Mike (Mu): </b>It’s been an exciting week. The aero/thermal branch was finally merged into develop and brings with it a load of performance improvements. The VAB/SPH scenes no longer require reloads when you clear/load a vessel, PQS reset/startup has been smoothed - lowering the time required to transition scenes, and lots of little tweaks to reduce the game’s CPU load and garbage collection. The QA team and myself have also been working on improving and balancing the new physics systems.</p><p><b>Marco (Samssonart):</b> I’m officially done with the implementation of the tutorials, I just had to get a number for the QA line and see how that goes. I moved back to the demo this week, I had an about 80% complete Sandbox and hadn’t started on the Career part yet, because there were a few things left to define, I proposed a rule set for Career on the demo and just started working on it.</p><p>Other than that I’ve been helping with a little build server maintenance we have going on at the moment. </p><p><b>Daniel (danRosas): </b>Animation is moving forward, we’re doing our first renders and testing out color palettes for the different environments that will need their own lights set up. We’re dangling with lots of frames here, I think it’s the most ambitious animation up-to-date, so we’re figuring out the best way to move those frames from the server into our workstations. And at the same time don’t die in the process. </p><p><b>Jim (Romfarer):</b> This week I’ve enabled the resource panel in the Knowledge Base. It was the first GUI project I worked on in KSP. At the time the Knowledge Base was created (two years ago) it came with a panel to show planetary resources. Long story short we decided to not release it so i flipped a checkbox and it has been hidden for all this time. This is the backstory, now then… a while ago RoverDude came to me asking to implement a panel in the Knowledge Base for the resource system he’s working on: “Is this possible to do given the current timeframe?†he asked, and I replied with a lengthy “Hmmmmm, yes†as i clicked the checkbox and uploaded it.</p><p><b>Max (Maxmaps): </b>Besides reading your feedback and looking over the development of 1.0, I’ve been neck deep in talks regarding distribution, marketing and merchandise for Kerbal Space Program. It’s been a lot of what you can call business-y work, and it’s not particularly fun to share in the devnotes but it has been absorbing my time recently.<br/></p><p>On my free time I keep popping into our internal alpha builds (every update goes through QA and Experimentals, essentially alpha and beta) and checking out how the stuff in 1.0 is looking. The fairings in particular are spectacular. Can’t wait to get this to our media group.</p><p><b>Ted (Ted): </b>Over the past week I’ve been working hard with the QA Team to get the develop branch checked over for issues. This is to ensure we’re not missing any features that should have been merged in but aren’t there due to bugging out.</p><p>We’ve been having a few build server issues, so there’s been a fair while spent on looking into those and working with the team to sort them out. Additionally, I’ve been doing a large amount of non-KSP related work which has taken up a fair amount of time, but should hopefully be over for a little while now.</p><p>Moving on, there’s been a lot of planning taking place for the rest of KSP 1.0’s testing process, with documents and processes for Experimentals getting a good eye over as well as the trackers that we have for storing issues that can’t yet be addressed due to either scope or time constraints, but hopefully will in the future.</p><p>All in all, 1.0 is really taking shape and it’s a lot of fun working with the QA Team on getting it straightened out with the fantastic features that the developers are putting out.</p><p><b>Rogelio (Roger): </b>I’ve been busy for the last two weeks playing around with the smoke simulation, it has been an interesting task but a little hard since I didn’t know too much about fluids in Maya. Before I could visualize how the smoke will look, I had to make some particle emitters to make them the emitting source for the fluid. It is a time consuming process but it’s worth it, finally I’m watching some results and I like them a lot. I will try different values for incandescence, density, and transparency to get more accurate results. </p><p><b>Kasper (KasperVld):</b> Make sure you tune into Squadcast on KSPTV this Friday, as Maxmaps will be showing off female Kerbals as they look in-game! Speaking of KSPTV, DigitalPsychosis has joined the group of streamers on our official channel and will be streaming Thursdays. Other than that there’s been a lot of media planning for 1.0, and I have no doubt that’ll continue right up until release, and a while after. Busy times, but it’s worth being a part of!<br/></p>

Link to comment
Share on other sites

Huzzah! The new devnotes!

<b>Felipe (HarvesteR): </b> You may have noticed when vessels cross spheres of influence at high time warp, that the resulting orbit after the transition can be quite different from what was originally estimated... The solution was simple enough: Instead of simply recalculating after a change in sphere of influence, the vessel orbit code now searches backwards between its position in the last frame and now, for the exact point where the it crossed over to the new SOI.

I'm not going to say I said this was possible a year ago. I'm just going to strongly imply it by stating it but putting "I'm not going to say..." in front of it. Great to hear, though. That was a huge annoyance.

<b>Kasper (KasperVld):</b> Make sure you tune into Squadcast on KSPTV this Friday, as Maxmaps will be showing off female Kerbals as they look in-game!

Awesome can't wait :)

Link to comment
Share on other sites

Thanks for another great progress report!

I think it would be helpful for future Devnotes, especially for new readers just tuning in - to always specify what the target is, for any work that is not clear by context.

Animation, effects, and modelling work can be done both for the game, and the pre-rendered trailer.

Link to comment
Share on other sites

<b>Felipe (HarvesteR): </b>In any case, however, there is also a new system in place which sets a time warp limit when approaching an SOI transition. This was something I added before this new fix, and even though it isn’t strictly necessary anymore, it is quite nice to have anyway, as it highlights the SOI transition event, and lets you know something important is happening.
Is there a way to disable that "feature"? Also, you guys should really unclamp the timewarp at low altitudes, it's terribly annoying to spin around Kerbin at 50x speed in a low parking/transition orbit...

Otherwise that's some really good news.

<b>Mike (Mu): </b>The VAB/SPH scenes no longer require reloads when you clear/load a vessel, PQS reset/startup has been smoothed - lowering the time required to transition scenes, and lots of little tweaks to reduce the game’s CPU load and garbage collection.
Fantastic! Is the ocean lag problem in the cards this update?
<b>Kasper (KasperVld):</b> Make sure you tune into Squadcast on KSPTV this Friday, as Maxmaps will be showing off female Kerbals as they look in-game!
:groan: Can we get some pictures posted to the forums too? Squadcast is just a cringe-worthy display of how badly Max plays the game...
Link to comment
Share on other sites

Mike (Mu): ...and lots of little tweaks to reduce the game’s CPU load and garbage collection.

Has this had any effect on the long-standing bug that creates a stutter in the game?

I seem to recall that GC was the suggested culprit.

Link to comment
Share on other sites

:groan: Can we get some pictures posted to the forums too? Squadcast is just a cringe-worthy display of how badly Max plays the game...

The pictures Max shows on Squadcast are always shared on our social media immediately afterwards. Keep an eye on those on Friday - although I'm sure someone will post them to the forums within minutes!

Link to comment
Share on other sites

:groan: Can we get some pictures posted to the forums too? Squadcast is just a cringe-worthy display of how badly Max plays the game...

If it's a picture, it will get posted her just like squadcast images always do, and if it's a video, you can just go to the archive and skip to the end.

Link to comment
Share on other sites

Seconded on hoping the new smoke effects make for more realistic exhaust. Essentially meaning.. yea.. RealPlume. Some transparency in the exhaust would be nice too as it increases velocity.

Edited by Motokid600
Link to comment
Share on other sites

I'm not going to say I said this was possible a year ago...

It certainly was possible a year ago... I've been wanting to get this done since I first noticed the issue, which was sometime around version 0.17 or so...

However, between wanting to fix something and taking the time to do it lies the big hurdle, which until now, has always been insurmountably obstructed by the myriad other things that needed to get done.

I'm very glad to have gotten a chance to do this one at last!

Cheers

Link to comment
Share on other sites

It certainly was possible a year ago... I've been wanting to get this done since I first noticed the issue, which was sometime around version 0.17 or so...

However, between wanting to fix something and taking the time to do it lies the big hurdle, which until now, has always been insurmountably obstructed by the myriad other things that needed to get done.

I'm very glad to have gotten a chance to do this one at last!

Cheers

By all means. I was more bragging than nitpicking :D At the time, I remember a few people saying that I was talking out my... hat. Let's say hat. To keep the forums child friendly.

And I'm excited to see it in action!

EDIT: OH! One thing, while I have your attention. Do you have code to handle what happens if you time warp though *TWO* SOI changes? Like if you're warping around Eve and go right through Gilly's SOI in a single tick?

Edited by 5thHorseman
Link to comment
Share on other sites

Thanks for the devnotes guys. Any specifics on which previously announced features are not making it into the next update? Also, any news on the "schmelta-vee like" feature and the new pilot, engineer and scientist skills (it's been some time now since these were announced).

<p><b>Rogelio (Roger): </b>I’ve been busy for the last two weeks playing around with the smoke simulation, it has been an interesting task but a little hard since I didn’t know too much about fluids in Maya.</p>

Is this for in-game animations or for the KSP cinematic?

Edited by Yakuzi
linkzzz
Link to comment
Share on other sites

So does SOI transition thing means we're going to get little notes that something, somewhere in the solar system is hitting a SOI change? That would be pretty useful if you ask me. If so, coule we get the same notes about probes and other stuff getting close to manouver nodes? Something like KAC but way more simple.

Anyway, glad to see that SOI change error is dealt with. It really was needed.

Link to comment
Share on other sites

Thanks for the devnotes guys. Any specifics on which previously announced features are not making it into the next update? Also, any news on the "schmelta-vee like" feature and the new pilot, engineer and scientist skills (it's been some time now since these were announced).

Max mentioned the delta-v feature specifically as something that probably won't make the 1.0 cutoff, but said that the features cut from 1.0 were very likely to turn up in 1.1. Basically, I got the impression that if it got mentioned in the dev notes, it was going to make the cutoff, if it hadn't progressed far enough to get a mention there, it was probably going to be on the delayed list. The first part of that has been confirmed, the second part of that implied.

I'm quite happy with that standard, as I feel the aero changes need to go into 1.0, but most of the rest of the stuff I care about is polishing or bug fixing.

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.

 Share

×
×
  • Create New...