Stability - How Does it Work?

I’ve seen older threads that ask this question, but since the system has gone through a lot of tweaks, and I like nice new shiny threads I figured I’d start another one. This question is for Garry or any other FP person that’s in the know:

How does the stability system work?

Just a layman’s answer would work.

The reason I ask is because it just doesn’t make sense, and this comes with experience framing houses. Now I know the system is still being tweaked, but here’s some issues I’ve run into. This is a list of things that aren’t stable but should be.

A wood structure should be able to have a 1-2 story overhang/ledge sticking out 1 floor section and be 90-100% stable.

You should be able to build stairs that you can walk under. I have a set of stairs similar to this, but the 2nd flight are like 24% stable. Should be 100%!

I also noticed that reinforcing a weak area after you built it doesn’t seem to fix the stability. I had an overhanging ledge that was aroun 70% stable, I added a foundation under it, pillars, and walls and it’s the same number!

And finally, wood buildings should become unstable after about 4 or 5 stories. In the modern age you can build higher, http://www.vancitybuzz.com/2014/09/ubc-wooden-building/, but that requires industrial scale manufacturing. Something that doesn’t exist in Rust.

Haha, I was just going to make a thread about this. I completely agree with you, the stability system needs some work.

I’m on my phone and about to pass out right now but I’ll give you a short rundown.

When you attach an an object to another, it generates a list of supporting objects. This list has a limit and the stability of the objects in the list affects the stability of this supported object. The stability of each is multiplied by many variables and factors to create a final value. The problems: not all connected ojects are accounted for, the objects that are used in stability calculations sometimes shouldn’t be, the list of supporting objects is not updated the way you would want or think, and the displayed stability is not the same as the actual stability.
Height, like you said, should be considered in calculations but sadly it isn’t. Hopefully I was of any help. If you want more detail, I can be more specific.

I have noticed some anomalies too, (probably covered by “not all connected ojects are accounted for, the objects that are used in stability calculations sometimes shouldn’t be” bit).

I built a symmetric house, with an equal overhang, on the second floor, left and right sides. Although the house was perfectly symmetrical, walls that would stay up on the right-hand-side would collapse on the left-hand-side, and vice versa, even though theoretically both were supported exactly the same, due to them being mirror images of each other. This proves that the stability factor calculation isn’t purely mathematical, but has some anomalies or variables thrown in.

Thanks for the explanation! I do remember reading this somewhere else. When you say it generates a list of supporting objects does that mean objects it can support or objects that it already supports?

Also, is the stability system trying to emulate a real-life property such as weight or material strength, or is it just an arbitrary system created by the developers?

With my completely limited knowledge it seems that a system that emulates weight would be ideal. Basically each component would have a weight value and a strength value. As long as the total weight doesn’t exceed the total strength then you have 100% stability. The stability would decrease for for loads that exceed the strength value.

For example (keep in mind these numbers are totally arbitrary):

foundation = 1000 STR, 1000 WGT
pillar = 250 STR, 100 WGT
wall = 100 STR, 200 WGT
doorway = 250 STR, 200 WGT
window = 250 STR, 200 WGT
door = 0 STR, 50 WGT
floor/ceiling = 100 STR, 200 WGT

total STR for a 1x1 with a doorway at ground level = 2650
total weight for a 1x1 with 4 walls and ceiling = 1600

If calculated this way a single 1x1 could support a total weight of 2650. Placing a 1x1 on top of that would leave an extra 1050 of STR to support additional pieces. Stability would be calculated from the bottom up, and pieces would fall off the bottom floors first which would cause the strength to lower and could lead to a collapse of an entire building leaving only the foundations.

If done this way wood structures could be limited to just a few stories depending on how you do the numbers. Upgrading to wood and metal would provide additional support so if you had a metal first or second floor you could have additional wooden floors on top of that to go even higher.

Can any developer answer to this one? I have a wall at 34% stability in the middle of the house, second floor, and I don’t understand why or what are the consequences of this.

I think for right now the stability system seems to be completely disabled. I see floating houses, and I have built overhangs with <20% and they stay up fine.

This made me wonder if the stability takes into account what was constructed first. Even a perfectly symmetrical house would need to have a wall put up on one side first over the other. I’m wondering if that somehow affects the construction and lowers the stability of the next wall, even just a bit. This would accrue until the last wall’s stability you put up would be off just enough to make it fall down even though the building is symmetrical.
In other words, the system is taking into account the previous connection each piece makes/has made instead of what is directly under it.

it seems to. at very least, pillars placed after the fact have no effect on the stability of floor panels; they need to be placed first to provide more stability.