Jump to content

Analysis of the buoyancy of parts and how to improve things


Recommended Posts

Some people like to build ships, others submarines, even others dream of a base on the bottom of the ocean.

We all know building ships is incredibly easy, much too easy in fact. Building a sub or a base, that's a different story. We need to make them excessively heavy using lots of ore tanks. So I started to look at most parts and their buoyancy values.

The game uses a formula which, as far as I can tell, involves basic part mass, density/mass of resource(s), volume and funny enough, sometimes surface area instead of volume. More about that later.

The most striking conclusion from these tests is that there's no logic behind most of these parts. This can be solved by testing each part and adding a simple line to the part.cfg: buoyancy = 0 (or whatever value seems plausible, sometimes even negative values are needed).

Parts I haven't included in the tests:

  • Command pods/cores, I think we can all agree these parts need to float.
  • Fuel tanks/SRB's. While most tanks are too buoyant, changing their buoyancy values would need some/lots of math and unfortunately I'm unable to do these calculations. However, I think we can all agree empty fuel tanks should be the source of buoyancy for all ships.
  • Cargo bays - tricky subject. I feel they're much too buoyant but we might need to discuss this further. Maybe closed cargo bays (contents occluded) should be very buoyant, open they should sink. This can't be changed with adding a single parameter, my guess some code would need to change. One heavy offender is the MK3 cargo ramp ... you lower the ramp and instead of sinking, pushes the rest up.
  • Wing parts. We all know they float, to the absurd. While I can see the logic of wings with empty fuel tanks floating, the rest should not.
  • Structural parts like I-beams, girders and panels. We know they sink.

Due to a problem with Imgur, I'm unable to include all pictures at the moment. More will come later.

Test 1: engines.

Bc6Lv6W.png

There are multiple offenders in this category. Some sink to the bottom as expected, others float like maniacs.

The ones that float are the

  • Goliath
  • Rhino
  • Panther
  • Whiplash
  • Terrier
  • Mainsail
  • Poodle
  • Skipper
  • Puff.

Test 2: structural & control parts.

Almost all of them have excessive buoyancy.

  • All SAS modules float which is odd, heavy metal wheels inside a small enclosure.
  • The Fly-by-Wire avionics hub floats, maybe it's logical because it's just electronics and almost works like a probe core.
  • All adapters for rockets float as if their lives depend on it.
  • Same with the MK3 engine mount.
  • The structural pylon floats (0.2t), curiously enough the small hardpoint (0.05t) sinks.
  • The Mk1 structural fuselage floats like bricks do not.
  • The Rockomax Hubmax floats which is odd, 1.5t and such a small volume, considering all the internal reinforcements needed for station building.
  • The cubic and octagonal struts float.

Test 3: docking ports and decouplers.

This is a mixed bag without any logic.

  • All standard docking ports float. Looking at the fact in real life they're just doors without a volume, very peculiar.
  • All Clamp-o-Trons float excessively.
  • The 3.75m and 2.5m decouplers float, the others sink.
  • The 2.5m and 0.625m separators sink, the 1.25m floats.
  • The Claw floats like something out of a movie, barely touches the water.
  • The TT38K radial decoupler floats as well ... odd.

Test 4: nose cones, air intakes, fairing bases and fairings.

Some very odd results here.

  • A real life nose cone is hollow and open and would therefore sink. All nose cones in KSP, because they're not hollow, float like it's a horror movie. But let's forget that collider at the bottom. They should sink.
  • Same story with the tail connectors.
  • All air intakes float. Odd. Just hollow tubes made out of metal with some internal guidance for air. They should sink.
  • All fairing bases float. Again against all logic.
  • A complete fairing floats but is so happy it even bounces up and down.
  • A decoupled fairing does what it's supposed to: it sinks.

Test 5: Wheels & legs.

Once again strange results.

  • Of the retractable landing gear department, the LY10 and LY35 sink, the others float, both barely touching the water and exposing their naked parts towards the sky. Yuck.
  • When I did the test again with wheels retracted, both the LY10 and LY35 became torpedoes, pointing straight down and traveling with speeds over 20m/s. The others stayed at the surface.
  • Both non retractables float.
  • All rover wheels except the S2 float.
  • Only the LT-05 landing strut sinks ... but only when extended (?)

Test 6: thermal.

Strange results? You guessed right! So I mentioned earlier the buoyancy calculation sometimes takes in account surface area instead of volume. Look at what we have here.

  • Of the normal heat shields only the 0.625m sinks, but not without ablator.
  • The expandable heat shield sinks like a stone when closed however it makes a pretty good life raft when open.
  • All fixed radiators float. Odd. Metal filled with coolant. They should sink.
  • The deployable radiators are even weirder. The smallest one sinks, the medium just falls apart and the big one floats.
  • When deployed, the small one floats, the medium still falls apart and the big one points straight up and starts bouncing off the water until it falls apart as well. I guess radiators are really allergic to water. Not a pretty sight. I don't recommend it.

Test 7: electrics.

Once again, no logic.

  • All batteries float. Ever seen a floating battery? Me neither. Except a lemon. Also a potato.
  • All solar panels float. It's magic, really.
  • The fuel cell sinks but ... the fuel cell array floats!
  • At least the RTG sinks.

Test 8: comms & science

Yep, no logic.

  • All dishes except the 88-88, the DTS-M1 and the small antennae float.
  • Both ore scanners float excessively.
  • All experiments except the Mystery Goo and the Double-C, float.
  • The lab floats but maybe too much.
  • The science container shouldn't sink ... and guess what:  it doesn't.

Test 9: utilities.

Realm of fantasy.

  • Both drills. They float. Seriously.
  • Both ISRU's float.
  • The extendable ladders float. The short ladder however, sinks.
  • The lamps float.
  • All crew modules are excessively buoyant, especially the MK2.
  • The launch escape system floats.
  • The parachutes are the weirdest: the MK16-XL and MK25 float, the radials and MK16 sink with the MK12-R having the speed record: 28m/s!

 

So ... what's the next step?

In the future I'll update this post with adjusted values for all parts to make things ... a little bit more realistic and most of all: fun.

If/when we all agree, I'll offer them to Squad.

 

Edited by Azimech
Link to post
Share on other sites

Hi, great little report and matches pretty much my findings too.  

The odd thing is how much variance there is over stock parts of the same size and similar mass. As you say there appears no logic,  which has lead me to believe that a lot of the oddness is being generated by the one thing we cannot (very) easily change, the drag cubes. 

One thing to account for is that unless the part Database is refreshed after every change ( or you have an altered drag cube in your part cfg)  then it appears that cfg changes are ignored, so it's possible to completely change the cfg and have the part behave exactly as before ( something created by @Fengist and very useful for experimenting  is an online drag cube modifier LINK)

In my testing  an approximate rule of thumb has developed, that being, 0 buoyancy will on most things give the part neutral buoyancy, what this means in reality is that the part will sink to X depth and stop sinking, I'm sure by now we've all seen the parts dancing lazily in the water column by now.    To reliably make something  (stock parts btw)  sink I've found that negative values are needed sometimes large ones and a mass increase, to an amount commensurate with dimensions and nature of the part.

 

Link to post
Share on other sites
10 minutes ago, SpannerMonkey(smce) said:

Hi, great little report and matches pretty much my findings too.  

The odd thing is how much variance there is over stock parts of the same size and similar mass. As you say there appears no logic,  which has lead me to believe that a lot of the oddness is being generated by the one thing we cannot (very) easily change, the drag cubes. 

One thing to account for is that unless the part Database is refreshed after every change ( or you have an altered drag cube in your part cfg)  then it appears that cfg changes are ignored, so it's possible to completely change the cfg and have the part behave exactly as before ( something created by @Fengist and very useful for experimenting  is an online drag cube modifier LINK)

In my testing  an approximate rule of thumb has developed, that being, 0 buoyancy will on most things give the part neutral buoyancy, what this means in reality is that the part will sink to X depth and stop sinking, I'm sure by now we've all seen the parts dancing lazily in the water column by now.    To reliably make something  (stock parts btw)  sink I've found that negative values are needed sometimes large ones and a mass increase, to an amount commensurate with dimensions and nature of the part.

 

Hmmm ... so far with the parts I've adjusted (over 50 by now) they all behave predictably, and sink to the bottom without problems, just by adding buoyancy = 0. I might give some parts negative values, I won't touch the mass, however.

Link to post
Share on other sites

Another thing that doesn't make sense is that fairings float like a balloon, but they don't retain air. If Squad would like to make the fairings retain air I am happy with that too, makes for good bases and stations with interiors, if not make them sink please. Also when deployed fairing peices descend slower than a parachute which does not make sense either.

Link to post
Share on other sites
1 hour ago, selfish_meme said:

Another thing that doesn't make sense is that fairings float like a balloon, but they don't retain air. If Squad would like to make the fairings retain air I am happy with that too, makes for good bases and stations with interiors, if not make them sink please. Also when deployed fairing peices descend slower than a parachute which does not make sense either.

Yes, the only problem is that I can only adjust the buoyancy of the fairing bases, the rest is part of the code.

I could however, give the bases a negative value and test the effect.

Edited by Azimech
Link to post
Share on other sites

I don't boat, but I'm glad that you're putting all the parts through floatation testing, because it was aboat time.

I never really understood why huge aircraft filled with fuel would remain afloat. Even if you drop something like a Mk3 pod into the water it just floats completely unrealistically... So hats off to you.

Edited by Adelaar
Link to post
Share on other sites
  • 1 month later...
2 hours ago, nhnifong said:

Rather than fix every part, wouldn't it be quicker to scale down the density of water on all planets, and then fix a few parts that should still float?
Is there any configurable way to do that?

Looking at the fact @NathanKell and others worked very hard to find reasonable values that work after a lot of complaints by the community, I don't think tampering with the water would be a good idea. But I could be wrong.

Link to post
Share on other sites

@Azimech did that, then scaled up water density by something like 50%. Because floating. If you (or @nhnifong ) want to play with that, there's a very obvious water density scalar in Physics.cfg (RO obviously sets it to 1.0).

 

EDIT ok actually there was a reason--KSP parts can be *insanely* heavy for their volume. Part of the whole scaled-down universe thing. Not as dense as the planets, but denser than real life for sure. You can make a plane that looks like it would mass 5 tonnes in real life and it could easily be 25 in KSP. People just don't realize it. So in order to make water landings non-sinking affairs, we scaled up water density.

Edited by NathanKell
Link to post
Share on other sites
1 hour ago, nhnifong said:

Really? That sounds like good news. Pardon the stupid question, but what do I need to do to use NathanKell's improvements?

They're already part of the game. Like he said, take a look at Physics.cfg, line 58.

buoyancyScalar = 1.2 

You could try changing the value to 1.1, see where it brings you. After that compare with 1.15 or 1.05 ... experiment.

Suddenly I'm thinking, this could be a very nice slider in the options menu @JPLRepo. I'm only wondering if it would solve the volatile behaviour of the wing parts (they tend to SMEF a craft - Sudden Massive Existence Failure).
 

Link to post
Share on other sites
2 hours ago, Azimech said:

They're already part of the game. Like he said, take a look at Physics.cfg, line 58.

buoyancyScalar = 1.2 

You could try changing the value to 1.1, see where it brings you. After that compare with 1.15 or 1.05 ... experiment.

Suddenly I'm thinking, this could be a very nice slider in the options menu @JPLRepo. I'm only wondering if it would solve the volatile behaviour of the wing parts (they tend to SMEF a craft - Sudden Massive Existence Failure).
 

Here is the process for raising feature requests such as this:

Raise a report on the official bug tracker.
Set the type of the report to "Feature"
Record your details.
Cheers.

Link to post
Share on other sites
  • 3 months later...
  • 2 weeks later...

I've been playing around with an underwater base for the first time.  I happened to leave the gigantors deployed and found this when I arrived:
V3hkqi3.png
It floats????  After stowing the panels the base settled to the surface again.

Due to a lapse in concentration I forgot to test the docking point height on my sub and found I couldn't dock.
qXvsnB1.png

Gigantors for the underwater win:
StaQTB4.png

Link to post
Share on other sites
On 7/13/2017 at 6:00 PM, Azimech said:

They're already part of the game. Like he said, take a look at Physics.cfg, line 58.

buoyancyScalar = 1.2 

You could try changing the value to 1.1, see where it brings you. After that compare with 1.15 or 1.05 ... experiment.

Suddenly I'm thinking, this could be a very nice slider in the options menu @JPLRepo. I'm only wondering if it would solve the volatile behaviour of the wing parts (they tend to SMEF a craft - Sudden Massive Existence Failure).
 

what would happen with a negative buoyancyScalar value?

Link to post
Share on other sites
2 minutes ago, Azimech said:

Never tested an insanely high negative value but with a high positive value parts would bounce of the water, until the impact destroys them.

 

Ok, create a part with a value in the billions and an absurd strength, then use that as a first stage of a rocket :D just put it in a sub or boat or something XD

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.

×
×
  • Create New...