RimWorld

RimWorld

[JPT] Soft Warm Beds
 This topic has been pinned, so it's probably important
jptrrs  [developer] 13 May, 2020 @ 8:44pm
What modded materials come up with a weird softness value for you?
Following a comment by ladypotaty concerning a modded material, I started considering an improvement to the formula that calculates material softness. But before I do that, I decided to ask you players for advice. I usually don't do this, but I wanna hear your thoughts on this one, since it all comes down to the way other mods do textiles.

I believe the formula I originally came up with works very well with the vanilla textile materials and the modded ones that follow that same pattern. But every once in a while, people find something's odd. I can't possibly test all RimWorld mods out there, but you guys know the ones you play with better than anyone. I bet you can easily point out any inconsistencies, right? Well, here's your chance at it!

Some unavoidable nitty-gritty details on this:
As you know, Soft Warm Beds calculates a softness value on the fly for each textile on the game database. To do that, it uses some stats from each material and guesses what would be an appropriate softness value. More precisely, it judges three things:

a. The armor values for sharp and blunt damage. The higer the values, the harder the material is considered to be.
b. The insulation values. Roughly speaking, the bigger temperature offset it provides the furrirer and therefore the softer that material is considered to be.
c. The price. This is helpful because softer fabrics are usualy considered more luxurious, and this reflects in their price in-game. Ch-inchilla fur, for instance, gets bumped up because of this.

Since this works, it is likely we'll keep it as the formula basis. But that doesn't mean we can't refine it, right? What I'm looking for are outliers, modded materials that should be softer or harder, but for some reason it doesn't show up on the calculated softness stat.

What I want to know:
Beyond your thoughts, I need the material's armor, insulation and price values, as well as the name of the mod it comes from (even better if you can link it for me).

What I'm not looking for:
1. I don't want to pick specific materials and tweak their values so they fit neatly on some softness scale. I'm sticking to a single formula capable of resolving ANY material. Certainly, this method will leave room for some degree of imprecision. If X is 50% and Y is 55% and you feel it should be the other way around, I'm probably just going to say that's close enough for me and that you shouldn't bother either.

2. I'm also sticking to the mod's original intent: to make weaker materials more useful. This means any armor value will automatically reduce the softness value. If a modder decided his material should be both strong and a good insulator but describes it as something soft, the algorithm will completely ignore the text and probably place it somehwere in the middle of the scale. This is not a fluke, it's just the mod doing its job!

3. Keep in mind our "softness" is a completely made up concept, an abstraction. It doesn't exactly tells us if some textile is furry, silky, smooth or comfy, it can mean any or none of those things. What we're concerned with is how much, in-game, it should affect a bed's "comfort" value while serving the mod's objective. Let's not get too bogged down with "realism", ok? Doing so frequently works against game logic.

Please, also keep in mind I'm not making any promises. The end result from this discussion might very well be everything stays the same.

All things considered, please tell me what you think!

And if you can, please consider buying me a coffe.[ko-fi.com] ;-)
Last edited by jptrrs; 16 May, 2020 @ 10:07am
< >
Showing 1-7 of 7 comments
StormTAG 17 May, 2020 @ 12:19am 
I personally think the mod and math lines up pretty well.

I am curious to know if "sharp" and "blunt" defense are treated the same though. Intuitively I would figure "blunt" armor would imply a greater amount of softness than "sharp" armor would, since most IRL armor that affects "sharp" weapons does so by creating a hard surface to deflect the blow, while most IRL armor that affects "blunt" weapons does so by cushioning the blow directly.

As an aside, is there a way for another mod author to specify a softness value directly? This could let mod authors who have textiles that math out to be way less soft than they ought to to directly provide a value for the bed to use. VGP's linen springs to mind.
jptrrs  [developer] 17 May, 2020 @ 5:44am 
Yeah, currently sharp and blunt are simply averaged. This is the issue that started me thinking actually, starting from Alpha Animals's Chameleon yak wool. Some of its varieties have a really high armor vs. sharp, but 0% vs. blunt. I started wondering if this discrepancy should be considered as a clue to softness. But that's kinda hard to estabilish without a larger sample fo moddded materials.
I'm not sure if high sharp values always mean less softness. Take a chainmail for instance: very good against sharp and piercing weapons, not so much against blunt ones. Lots of padding, on the other hand, while good at absorbing blows, would inevitably mean a stiffer fabric. A "chainmail" cushion would be softer than one made out fo hardened leather.
A way for other authors to set their own fixed sotfness value could be a way out. But that's trickier to pull out. And that would make it harder for us to maintain a balance between materials good for armour vs. good for your bed. VGP's linen seems to fall on case 2 of What I'm not looking for, as I described above. It is trying to be good at everything.
Last edited by jptrrs; 17 May, 2020 @ 5:45am
tanyfilina 31 May, 2020 @ 2:36am 
Hello! I suggest you to consider materials from Animal Collab Project. https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2013243795&searchtext=animal
One material which softness looks wierd to me is Spidersilk. Its armor values are 55% and 15%, its insulation is 24.0 C (for cold) and 34.0 C (for warmth) and its cost is 8.00$. It has the same softness as cloth - 62%.

I also wonder, is there any material woth softness of 80 or 100%, if even Alpaca wool is only 67%?
Last edited by tanyfilina; 31 May, 2020 @ 2:37am
jptrrs  [developer] 31 May, 2020 @ 9:50am 
Thanks for your input, tanyfilina.
I'm not sure I follow, do you consider the Spidersilk's softness too high or too low?
With those numbers, it is more valuable and better insulator than cloth, but also has a higher armor value, so that balances out at the same softness value.
This is a good example of what I'm looking for, because the author decided spidersilk is much better at absorbing blunt damage than it is with sharp damage, but that doesn't matter to the current formula. If we want silk to be softer than cloth, then this difference could be a telltale sign to look for.
About the max value, it is around 70%. This isn't a ceiling, but we made the formula so the vanilla materials fall into that range. That's because it is added to the bed base value. A poor 30% comfort bed plus the best bedding would sum up to 100% comfort. Does it make sense?
tanyfilina 31 May, 2020 @ 9:55am 
Yes, if 70% is maximum, than it all make sense. It's just a bit confusing, since we see "67% softness", not "67% comfort". I would suggest that silk should be a little bit softer than cloth if it is not too hard to implement. Thank you for the answer!
Cozar 8 Jun, 2020 @ 10:34pm 
There are a few things I notice. The best materials for bedding, like Muffalo Wool, Alpaca Wool, and Cloth are all easily attainable at low cost. Two of them are on easily-tamed shearable animals and the third is a basic plant. Notably, Cloth is better for bedding than Devilstrand, which takes more research and more time to grow.

I also feel that patch leather, the frankenstein material, is better than multiple other materials because of its low armors.

I think a simple formula of (cold + heat/2) -12 yields a very intuitive result that presents interesting choices. It places materials harder to get in bulk (e.g. guinea pig + thrumbo), > the best in space-age materials (hyperweave) > other wools (muffalo + alpaca) > devilstrand > furry animals (bears, wolves, foxes) > cotton (cloth) > leathers.

Yes, it does put rhino/elephant leather better than light leather, but the difference is negligible (2-3 points) and makes a lot more sense than basic cotton being 20 points more comfortable than the most valuable synthetic fiber in the universe (hyperweave).

As an added advantage, the best material provides about half the softness (35 v. 68), which means the base comfort of the beds doesn't need to be reduced as much (maybe 40-50 instead of 25).

Finally, I suggest the above is more interesting. If I have hyperweave and cloth, the current mod makes the decision a no-brainer, hyperweave is better for clothing and cloth is better for bedding. Using the formula I proposed, you have to decide whether bedding or clothing is more important.

FYI - While I disagree with your particular choice in the softness formula, the concept and breadth of this mod is fantastic.
Last edited by Cozar; 21 Jul, 2020 @ 10:47am
Janowar Nishthur 9 Aug, 2022 @ 7:48am 
If you are still looking at this, I'm getting some very strange values using the monstergirls mod, which adds a variety of materials.
Just as an example...
dragon scales:
blunt armor 2.1
sharp armor 2.3
market value 6
heat insulation 25
calculated softness 46%

vs

thrumbo wool:
blunt armor 1.25
sharp armor 1.3
market value 10
heat insulation 25
cold insulation 25
calculated softness 32%

I like your intention of making weaker materials more useful for bedding, and understand that any armor value is automatically going to cause a big softness hit, but this seems decidedly backwards? is the fact that the scales don't have a cold insulation stat messing with the formula?
< >
Showing 1-7 of 7 comments
Per page: 1530 50