Jump to content

A KSP 2 question: I do not know if it's been answered


Recommended Posts

Feel free to chunk this into the appropriate thread - but I have question about something that bugged me early on in KSP: the inability to attach a something to another something if both are radially attached to the main something. 

 

Most notably, this applies to wing segments - like, when I try to make a big wing from a bunch of different parts, or say I wanted to build an OV-10 or P-38 lightning - with the tails being able to be connected to each other by a central wing.  Or to make pontoons that connect with the fuselage via two girders at the ends of the pontoon 

 

With rockets and other parts, we use struts to keep stuff from flexing - but that could be fixed by allowing parts to connect in non linear / non branching ways 

 

Has this been addressed in KSP 2?

Link to comment
Share on other sites

There isn't a reason why this can't be allowed; after all, there are struts. But there are some reasons for why it's not done in KSP and why they might not change that in KSP2.

With exception of struts and fuel lines, all parts in a craft are arranged into a tree. That is, every part has a unique parent, which has its own parent, and so on until you get to the root part. This creates a unique path from any part to the root. In turn, this allows for a number of simplifications.

  • Resource logic likely started out entirely using this tree structure. Even with fuel lines, the way the tank vs fuel line priority system worked, it effectively worked back along the tree. Modern implementation of fuel consumption is more balanced, so it might not strictly depend on the tree, but I bet it still uses it for optimization. Technically speaking, not a requirement for KSP2, depending on how they chose to manage fuel.
  • Stresses distributed around loops are generally bad for numerical stability. That's at least partially solved, because, again, struts, so might not be a factor for KSP2, but it certainly used to be a big part of the problem.
  • It's very easy to edit the craft. If you pick up a part, everything attached to that part moves. If you have 3 parts attached to each other in a circle and you selected one to move, it's not clear what your intention is - to move one part or all three. Though, that can be worked around with a different UI for assembling parts.
  • Perhaps, most relevant, logic for keeping track of what still constitutes a single craft. This is relevant if a part breaks or if there is staging. In general, if you allow parts to connect any which way, process of figuring out if two parts are still part of the same craft is a bit complicated. So you'd have to do a lot of expensive checks any time there's destruction or stage separation. For reasonable sized craft and with single separation events it's not so bad, but if you think framerates get bad for big rockets during a crash now... Having parts connect in a tree solves this problem. Two parts are on the same craft if they share an ancestor. It's a very quick check. And when staging happens, part to one side of the stage separator becomes a root of a new craft, and everything down that branch is removed from original craft. Simple, clean, easy to maintain.*

That last point is the reason I would expect KSP2 to keep this design. In light of that, I propose an alternative solution. Allow us to hide struts. If you simply arrange parts into the shape you want and hold them with struts, then make struts invisible, it gives you the same visuals that you wanted with all the structural strength you wanted, while the game gets to keep the simple logic of tree traversal.

 

* A caveat worth mentioning is docking. When you dock to a station, the docking port of one craft or the other has to become a new root for that craft, so that after the attachment, it makes up a branch of the new, combined tree. Fortunately, trees can always be re-rooted. And you might have noticed that we even have a widget for it in the VAB that does the same thing. I don't actually know what's the logic on picking which craft gets re-routed during docking, and whether the new root persists after you undock, but either way, even here we see trees being cleverly utilized to simplify game logic.

Link to comment
Share on other sites

15 minutes ago, K^2 said:

That last point is the reason I would expect KSP2 to keep this design. In light of that, I propose an alternative solution. Allow us to hide struts. If you simply arrange parts into the shape you want and hold them with struts, then make struts invisible, it gives you the same visuals that you wanted with all the structural strength you wanted, while the game gets to keep the simple logic of tree traversal

You can hide struts now by clipping them into the part

Link to comment
Share on other sites

3 hours ago, linuxgurugamer said:

You can hide struts now by clipping them into the part

You also have the virtual struts in KSP 1.0 replacing lots of the old struts, I say the places there I use struts I would want them visible like tip of bosters to core or with grinders. 

Link to comment
Share on other sites

×
×
  • Create New...