Fwiffo

Struts, Fairings and Inconsistent Behavior (1.3.1)

Recommended Posts

Can someone tell me definitively how struts and fairings in the stock game are supposed to interact?  I recently found myself fighting against KSP 1.3.1 to keep my struts where I want them.  The game seems to treat these interactions inconsistently depending on the order you place/edit parts, whether you use Undo, etc.  Some scenarios I've observed on a recent craft I was constructing:

  • Connecting struts before fairings built
    • Works fine
  • Connecting struts through fairings after they are built
    • Works in the editor most of the time, except:
      • Occasional inconsistency within symmetry groups
        • e.g. Sometimes when connecting the end of a strut to a surface inside a fairing, even though the "seed" strut I'm placing goes right through the fairing, I notice the mirrored strut terminates prematurely when it hits the fairing surface.  The ship in question is symmetric across the relevant planes so there's no good reason I can see for the behavior to be inconsistent.  Manually placing the struts individually at the same locations, without using symmetry, works fine.
          Spoiler

          An example of the problem.  Here I'm placing a strut endpoint:
          vlo4jdx.png

          And here's how it looks right after the end was placed.  Note strut on right terminates prematurely:
          xWBBBXZ.png

      • Trying to strut from a part inside one fairing, to a part inside a different fairing, usually doesn't work.
        • Varying behavior, either:
          • The game simply "deletes" the strut when you try and place it
            Spoiler

            When I clicked to place the end of this strut, the editor simply deleted it and acted as if I never tried to place it.
            bpK4TPM.png

            Placing the strut in the reverse direction worked fine (at least in this example; but note sometimes it doesn't work in either direction):
            5qWPpqg.png

            kl19Bmb.png

          • Or the editor "picks up" the part you are trying to pin the end of the strut to, detaching that part (and its children) from your craft (very annoying).
          • Or it works in one direction but not the other (e.g. see above spoiler).
        • Not sure if this is intentional.  If so, it's a pretty naive attempt to prevent prevent the player from doing this as there are many ways around it.
        • I've noticed cases where if you've already set up a situation like this (e.g. by running the strut before the fairing was built) then it totally screws up your ability to place struts anywhere on your craft afterward.  All new placements start exhibiting one of the two aberrant behaviors above (strut is immediately deleted, or picks up target part instead of pinning strut).  When I started seeing this, it seemed consistently reproducible.  Reloading the game / craft didn't help.  You need to delete the offending strut(s) to make new struts work properly again.
  • Disconnecting and reconnecting a fairing base without deleting / rebuilding the fairing
    • Doesn't seem to affect struts that pass through it
  • Undo / Redo
    • DISASTROUS results - seems to trigger "regeneration" of all struts in a manner that makes them consistently end at the first fairing surface they hit.
  • Launching from VAB/SPH
    • Maintains strut connections / orientations from VAB? (I know older versions sometimes reoriented your struts sending them flying out at weird angles but I think they fixed this one).
  • Loading craft in Editor
    • Maintains the saved strut connections (no "regeneration" trigger).
  • Loading / Quickloading craft in flight
    • Maintains the strut connections the way they were on your craft when you saved (I think).

Much of the red behavior feels buggy and ill defined.  If it's the intent that struts aren't allowed to pass through fairings, then all of the above user actions (except loading a craft in flight) should act the way the Undo button does - i.e. trigger strut "regeneration" and check for collisions, truncating them at the first surface they hit.  Otherwise, the Undo thing really needs to be fixed, as well as the edge cases above.  I'd be OK with defining different behavior for struts placed before / after fairings are built (this would seem to offer the player the most flexibility as to whether they want to strut through a fairing, or to the surface of one) but then the game shouldn't go mucking around with previously placed struts which I connected before I built my fairings.  If it does want to re-evaluate my preexisting struts for new collisions (e.g. when placing a new part that may intersect the strut),  then maybe it ought to keep track of which collisions existed before the operation began so those can continue to be ignored when the operation completes (particularly when less straightforward actions re-trigger said analysis).  I think that would result in a more consistent and predicable player experience, where KSP wouldn't shoot you in the foot later by "helpfully" deciding on a whim to rejig your struts.

I don't know if this behavior is new to 1.3.1.  IIRC from the changelogs it looked like Squad was doing some work with struts in 1.3.0 and 1.3.1.  I generally avoided stock fairings and tended to use Procedural Fairings instead (which seemed to behave in a more deterministic manner).  But when the new release dropped, I decided to try playing without mods for a while (for unrelated reasons: to see if mods or the stock game was responsible for some performance issues I start to see after doing lots of launch / reverts in a row).  The only mod I had loaded when I investigated all this was Kerbal Engineer Redux (KER) and I'm pretty convinced it's not causing the problems.

I am not submitting a formal bug report, I just want to know how things are supposed to work and whether others are seeing similar behavior.  (If so, I'd love it if a QA person from Squad could pick this up and run with it from here.  Feel free to move this topic to another forum if appropriate).

Edited by Fwiffo

Share this post


Link to post
Share on other sites

I have the same issues each time I use struts going inside fairings. Thanks for reporting this problem :)

 

Share this post


Link to post
Share on other sites

Thanks @HerrCrazi for corroborating.

Here's the craft file I was working with that consistently reproduces one of the issues ("all struts get deleted on placement").  If you have time, could you see if it reproduces that problem for you, too?

  1. Load the craft.
  2. Try placing a strut anywhere on the ship.  You can't.
  3. To resolve, delete the strut pair near the top of the craft, highlighted in green in this screenshot:
    Spoiler

    426yW7O.png

    Now you can place struts again.
  4. Trying to recreate the strut you just deleted demonstrates the "this strut gets deleted on placement" issue.

I was also able to intermittently reproduce the "part you are connecting a strut to gets picked up" issue on this craft (once by deleting several parts from the craft and playing with struts), but haven't found a consistent set of steps to trigger it.

I know this isn't a nice, small demonstrator craft - but it should be possible for someone to distill it down to a sample with fewer parts.  I didn't, because I'm trying to spend more of my time playing and less debugging!  (Seems like every time I fire up Kerbal lately I wind up spending more time tracking down and isolating problems than actually playing the game).

The "inconsistent symmetry" issue is fairly trivial to reproduce by creating a simple craft like the one in the screenshot from my OP.  The Undo issue is likewise trivial to reproduce.

Edited by Fwiffo
Fix link

Share this post


Link to post
Share on other sites

I'll try to check this for you under a few days, but I'm currently busy. I'm still on 1.2.2 though.

Share this post


Link to post
Share on other sites

@HerrCrazi No problem.  I understand we might get differing results due to different versions, but comparing them might still be revealing :-).

Edited by Fwiffo

Share this post


Link to post
Share on other sites

As I understand it anything inside a fairing is auto-strutted to the fairing itself so there shouldn't ever be a need to strut to anything inside a fairing?

(Although, I still find all this fascinating.)

Edited by Rocket In My Pocket

Share this post


Link to post
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.