Jump to content

Devnotes Tuesday: Two sprints down, one to go!


SQUAD

Recommended Posts

tumblr_inline_obb25qDNp11rr2wit_540.jpg

Hello everyone!

The code cleanup we’ve reported a lot on lately is now almost completely behind us, marking the end of what is referred to by coders as a “sprint”, a development phase. The latest sprint was a particularly noticeable one from a developers perspective: a lot of systems were rewritten, code was optimized and deprecated systems removed. As you may be able to imagine a project that has run for more than five years tends to collect a lot of things you don’t need anymore.

One of these things (or rather two) consisted of our Stability Assistance System (SAS). Those of you who have followed our development over the years may know that there are two systems at work here: first, the system that controls Stability Assist (the old SAS mode), and second the Pilot Modes. These two systems are now combined into one piece of code, and the consolidated SAS system will adjust its aggressiveness based on the ship’s design, meaning it’s a bit less jittery now.  Additionally, the Pilot steering modes include a “coasting” phase and a “stopping” phase when switching steering targets, which helps conserve resources and limits overshooting.

Mike (Mu) has finished work on changes to the material property blocks, and reworked the game save file dialog: the list is now a lot faster to load items which was achieved by inserting a ConfigNode comment at the top of the file, which is then skimmed off by a header reader in the game. With that out of the way Mike and Brian (Arsonide) teamed up to implement a new, slick debug window which has some neat features for developers and modders such as allowing a user to input commands directly into the game. Brian’s argument that “a picture says more than a thousand words” leading to the conclusions that by posting four of them meant he would not have to contribute to the devnotes for the next couple of months were quickly and ruthlessly crushed by an overzealous Community Lead – but the end result is definitely worthy of showing off: http://i.imgur.com/U357GQM.png

After finishing up his part of the code cleaning, Nathanael (Nathankell) implemented an Advanced Tweakables settings option in Gameplay settings. This allows us to expose various advanced tweakable options (like setting tank priority, the existing actuation toggles for RCS and gimbals, the safe-deploy option for parachutes, and the like). In addition he refactored the wheel auto-strutting to be available for other parts, again leaving the option hidden unless Advanced Tweakables are turned on. Any mod can set its fields, events, and actions to advanced-tweakable-only as well.

Bill has been working on the orbital intercept algorithms. The code itself is working, but some details still need to be tweaked. One of the main issues we’re running into is fundamentally the same in the new code as in the old code, but by making better use of the information that is available Bill sees light at the end of the tunnel.

Last week we detailed the new fuel flow systems that Jim (Romfarer) has been working on. Progress continued on this front as well, and Jim added a strongly connected component graph with lookup sets for quick queries into reachable components from every part on the vessel. These are the sets the new fuel flow algorithm uses when checking which parts it can draw fuel from.

The Antenna Relay and Telemetry has seen some work done to the visualisations: Bob (RoverDude) was tasked with finding a way to represent the omnidirectional nature of a communications network and include details such as signal strength (which will be relevant for science returns) without cluttering the user interface. The end result is something to be proud of: http://i.imgur.com/NxprO2S.png. In this picture you can see the current relative signal strength and path, a strong signal shown in green, but all first hops of alternate paths are shown in blue.  You will be able to toggle whether you want to show no pathing info, current path only, or current path plus alternates via the user interface.

Kasper (KasperVld) was in Mexico for the last week, and by the time these devnotes will be published he’s most likely on his way to Mexico City’s international airport to catch his flight home. It’s been good to get to know each other in person, and to coordinate future plans for the community, marketing and PR directly. Those of you who are waiting for the results of the console key giveaway will be happy to know that Kasper has pledged to work on analysing the results while flying at 12 kilometers above the Atlantic on his way to Europe.

Speaking of European affairs, we’re still very much working with Sony to release Kerbal Space Program on PlayStation 4 in Europe as soon as possible. While that is being worked on Nestor has been working with Flying Tiger on the first patch for the console versions as well. Rest assured that more news on both topics will be available shortly.

Mathew’s (sal_vager) weekly poem closes off the dev-notes:

Wrangling with gamepads

PS4 and XBone

Playing with saves

And trying to home

In on the issues

Plaguing my friends

So FT can fix

And sad times will end

That’s it for this week, don’t forget to register on our forums, follow our social media or check out the community-driven KSP subreddit!

Link to comment
Share on other sites

24 minutes ago, SQUAD said:

Last week we detailed the new fuel flow systems that Jim (Romfarer) has been working on. Progress continued on this front as well, and Jim added a strongly connected component graph with lookup sets for quick queries into reachable components from every part on the vessel. These are the sets the new fuel flow algorithm uses when checking which parts it can draw fuel from.

Is there going to be some kind of visual that shows how (or rather, where) the fuel flow is, well, flowing? Would be good to have something that shows how you have it set up and view the system as a whole because large rockets will get complex.

Edited by smjjames
Link to comment
Share on other sites

21 minutes ago, smjjames said:

Is there going to be some kind of visual that shows how (or rather, where) the fuel flow is, well, flowing? Would be good to have something that shows how you have it set up and view the system as a whole because large rockets will get complex.

Yes, that specific goal for the flow overhaul was mentioned in the devNotes a couple of weeks ago

Edited by NoMrBond
Link to comment
Share on other sites

53 minutes ago, SQUAD said:

In this picture you can see the current relative signal strength and path, a strong signal shown in green, but all first hops of alternate paths are shown in blue.  You will be able to toggle whether you want to show no pathing info, current path only, or current path plus alternates via the user interface.

Once again I get frustrated trying to change the viewpoint of a KSP screenshot. :)

The active path and middle alternate path from the Mun satellite, are they terminating at KSC? Is there any plan to add an indicator for KSC, similar to RemoteTech's big red groundstation dot?

Link to comment
Share on other sites

1 minute ago, stibbons said:

Once again I get frustrated trying to change the viewpoint of a KSP screenshot. :)

The active path and middle alternate path from the Mun satellite, are they terminating at KSC? Is there any plan to add an indicator for KSC, similar to RemoteTech's big red groundstation dot?

That has been requested for as long as I can remember.

Link to comment
Share on other sites

14 minutes ago, Majorjim! said:

What is this?

 Thanks for the notes chaps, still no word on the Rocket part update though?

In Unity, if you change the color or texture of a material, for example...it will instantiate another material in memory and change the color of that, so you end up with two materials in memory. Sometimes we only need this second material for a moment, and suddenly it becomes garbage.

Material Property Blocks allow us to state that "Hey Unity, we only want one material in memory please, but this renderer is going to use the color blue, and this other renderer is going to use the color red."

Link to comment
Share on other sites

Just now, Arsonide said:

In Unity, if you change the color or texture of a material, for example...it will instantiate another material in memory and change the color of that, so you end up with two materials in memory. Sometimes we only need this second material for a moment, and suddenly it becomes garbage.

Material Property Blocks allow us to state that "Hey Unity, we only want one material in memory please, but this renderer is going to use the color blue, and this other renderer is going to use the color red."

Thanks for the explanation Arsonide.

Link to comment
Share on other sites

Yay! Devnotes! And meaty ones at that!

1 hour ago, SQUAD said:

Pilot steering modes include a “coasting” phase and a “stopping” phase when switching steering targets, which helps conserve resources and limits overshooting.

Yay! No more turning off SAS halfway through "automatic" turning. Does this fiddling also fix the problem where you say to aim at a point and the pilot rotates the ship in a direction not at that point?

1 hour ago, SQUAD said:

a new, slick debug window

I like that "create a kerbal" screen. Will make adding viewers to a LP even easier.

1 hour ago, SQUAD said:

Advanced Tweakables

Very interesting stuff. Can't wait to see it in-game.

1 hour ago, SQUAD said:

In this picture you can see the current relative signal strength and path, a strong signal shown in green, but all first hops of alternate paths are shown in blue.

What goes into deciding which path is "strong"? It doesn't seem to be (just) distance, as that satellite seems to be further away than Kerbin based on the angles, unless I'm interpreting the image incorrectly (which can happen in a 2d image of a 3d situation but I can't see how it would happen here). Oh, and I like the setup. Shows the information you need but doesn't go crazy with the lines.

56 minutes ago, Majorjim! said:

still no word on the Rocket part update though?

As weeks ago it was reported as "almost done" I wouldn't expect anything on it until release. These are devnotes, not things-already-donenotes.

53 minutes ago, stibbons said:

The active path and middle alternate path from the Mun satellite, are they terminating at KSC?

They are terminating at Kerbin, in its center. We don't need a marker for KSC (for the satellite network. I agree that it'd be nice in general) as the entire planet is wired for reception.

46 minutes ago, Alshain said:

why would they be irrelevant

Because they have nothing to do with how communication is going to be implemented in-game.

Link to comment
Share on other sites

11 minutes ago, 5thHorseman said:

I like that "create a kerbal" screen. Will make adding viewers to a LP even easier.

Or a twitch stream where you draft viewers. Though the 'Draft Twitch Viewers' mod would still have a use for those that don't want (or care) to fiddle with the details.

Edited by smjjames
Link to comment
Share on other sites

31 minutes ago, 5thHorseman said:

Because they have nothing to do with how communication is going to be implemented in-game.

Neither does his request.  It's the same purpose... to see where KSC is.  The fact that they have none of the reasons have anything to do with communications doesn't make them any less valid.

Edited by Alshain
Link to comment
Share on other sites

28 minutes ago, Alshain said:

Neither does his request.  It's the same purpose... to see where KSC is.  The fact that they have none of the reasons have anything to do with communications doesn't make them any less valid.

Neither I nor @stibbons said the other reasons for showing KSC were invalid. I actually said the opposite in a parenthetical.

But they are irrelevant for the communications network, which is the topic of discussion.

But anyway, these are very thin hairs we're splitting about something we ultimately agree on, so I'm personally not going to talk on it any more.

Link to comment
Share on other sites

1 hour ago, 5thHorseman said:

Does this fiddling also fix the problem where you say to aim at a point and the pilot rotates the ship in a direction not at that point?

It should, but if you pass me a specific example, I can check for certain.

Link to comment
Share on other sites

3 hours ago, SQUAD said:

In addition he refactored the wheel auto-strutting to be available for other parts, again leaving the option hidden unless Advanced Tweakables are turned on.

MuddrTech™ lives, courtesy of NathanKell! :)

If you watch EJ_SA or Das Valdez on Twitch, "MuddrTech" is the nickname given to using the wheel auto-strutting to essentially provide KJR-lite type joint reinforcement otherwise wobbly constructs.  On a Squadcast, @Arsonide suggested it would go away in 1.2 along with the other wheel workarounds, then more recently @NathanKell hinted that may not be the case, that it might be saved.  Well, it survives...and is EXPANDED as well to other parts?!  I mean, isn't this basically putting a form of KJR into stock? :wink:

Also, great pics of the telemetry system and the new debug screen :)

 

Edited by Laguna
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...