CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.34k stars 4.14k forks source link

More uses for silk-producing mutations #70837

Closed SunnyOpossum closed 7 months ago

SunnyOpossum commented 9 months ago

Is your feature request related to a problem? Please describe.

It is disappointing that the silk-producing mutations only make ropes and cobwebs.

Solution you would like.

The silk mutations should also make spidersilk thread for use in sewing and weaving as well as silk bandages. Thread is used in a high number of recipes so these mutations would become much more useful. Products made from spidersilk would be more durable than other textiles. Spidersilk has high amounts of vitamin K and surface area, encouraging blood clotting when used as a bandage.

Describe alternatives you have considered.

The silk mutations could alternatively just produce regular thread and bandages instead of new types.

Additional context

No response

fairyarmadillo commented 9 months ago

I think the way to go here is to have the silk ropes mutation open a prompt to produce spidersilk thread, string, rope, or patches. #70088 added a way for mutation abilities to work off of a cooldown system, so that we could also prevent the player from pulling 100000 ropes out of their ass in clear defiance of conservation of mass.

This would require adding a spidersilk material, but we have giant spiders and spider mutants running around, seems like something we'd want anyway.

Maddremor commented 9 months ago

You could also have more mutations representing the character developing the ability to make finer strands and something that functions as an adhesive.

I would not go into making extra powerful silk garments as that would double the number of clothing items needed for the benefit of something most players won't see.

SunnyOpossum commented 9 months ago

I think players without the mutation could still access spidersilk through harvesting it from giant spiders.

You could also have more mutations representing the character developing the ability to make finer strands and something that functions as an adhesive.

I would not go into making extra powerful silk garments as that would double the number of clothing items needed for the benefit of something most players won't see.

fairyarmadillo commented 9 months ago

I would not go into making extra powerful silk garments as that would double the number of clothing items needed for the benefit of something most players won't see.

I am not sure a person with a hand loom, even if they had a spider's super-powered understanding of weaving, would be able to weave fabric that had the super-armor qualities you hear about with spider silk, not any more than a human could do that with a bunch of kevlar thread anyway.

I brought up patches because they're usable as bandages.

I think players without the mutation could still access spidersilk through harvesting it from giant spiders.

Spidersilk isn't pre-made inside of a spider. There are liquid proteins which solidify as the spider excretes them from several openings inside their spinnerets, which are filled with hundreds of little fingerlike projections that form the fiber as it spools out. It can only do this while it's alive.

There is spidersilk strung up around, and since it's strong enough to capture the player, it should be harvestable in some form, but I'm not sure we need 30000 spidersilk gambeson types.

Spicyshadow commented 9 months ago

I am not sure a person with a hand loom, even if they had a spider's super-powered understanding of weaving, would be able to weave fabric that had the super-armor qualities you hear about with spider silk, not any more than a human could do that with a bunch of kevlar thread anyway.

Silk was used as armour in asia since antiquaty. The earliest non-metal bulletproofvests where also handmade from silk. A survivor would probably be capable of recreating medieval style silk armour and maybe some early form of bullet proof vest. This might require specialist knowladge however.

fairyarmadillo commented 9 months ago

I guess I'm of two minds here -

I would like to see materials be something that modifies a base item rather than having a new distinct json entry for every single type of gambeson. That way instead of low, mild, high, hardened, and tempered versions of every sword, we just have 'sword' and it gets modifiers from its material automatically. Ideally we could optionally manually write out jsons for variants where the automatic modifiers would be inappropriate. That would make adding new materials a breeze and it would save a lot of work down the line for people who want to add a new type of hat and don't want to make 50 json entries for it.

I don't think hand-woven silk, or silk found in places like fabric stores would perform much differently from some of our existing fabrics. That doesn't mean it would be bad - cloth armor can be quite good - but adding it using the system we have now would be a lot of work for little benefit.

The design doc does say that if something is reasonable, the answer to whether it can be added is, 'sure, why not?' I think silk, being a relatively common and useful material IRL, counts as reasonable, but manually adding it like we would have to do now is a big ask.

As for the difference between silk and spider silk in the context of our game, I'm not totally sure whether hand-woven spider silk would be stronger than or even appreciably different from factory-woven silk. The fibers individually have high tensile strength, but that may not translate directly to a stronger weave - every news story I've read on spider silk being used for industrial applications talks about some pretty high-tech manufacturing.

Maddremor commented 9 months ago

I would like to see materials be something that modifies a base item rather than having a new distinct json entry for every single type of gambeson. Agreed, but doing so would be quite a challenge and very much out of the scope of this PR. I felt that it would be send SunnyOpossum off on a major infrastructure quest just to get this in. Better to just have it make regular textiles instead and add the material stuff as a broader feature.

SunnyOpossum commented 9 months ago

I would like to see materials be something that modifies a base item rather than having a new distinct json entry for every single type of gambeson. That way instead of low, mild, high, hardened, and tempered versions of every sword, we just have 'sword' and it gets modifiers from its material automatically. Ideally we could optionally manually write out jsons for variants where the automatic modifiers would be inappropriate. That would make adding new materials a breeze and it would save a lot of work down the line for people who want to add a new type of hat and don't want to make 50 json entries for it.

Ah okay, I didn’t know how exactly that works thank you for clarifying! :> Yeah if its just completely unfeasible to add a new silk material right now I would be more than happy with the mutations making regular textiles. Hopefully materials modifying the base item will be something the game can do in the future! Theres a lot of benefits for both modding and gameplay there.

IdleSol commented 9 months ago

By tradition, I apologize for the quality of the text. Deepl translate is used.

Spidersilk isn't pre-made inside of a spider. There are liquid proteins which solidify as the spider excretes them from several openings inside their spinnerets, which are filled with hundreds of little fingerlike projections that form the fiber as it spools out. It can only do this while it's alive.

Off the top of my head, I can think of two ways, fun and boring.

The fun way. Upgrade medicine, electronics, mechanics, computers. Complete a specialization in spider anatomy. Assemble a device to stimulate a dead spider from some wire, wires, electronic components, and blue duct tape. And thus make it secrete a web, obtaining a certain amount of spider silk in the form of thread. Which it uses to make sheets.

Since they're damn giant mutant spiders, this material can have any number of properties. For example, a natural analog of Kevlar, especially for innawood. Or something new with its own pros and cons.

The boring way. Kill the spiders and take away their cocoons. Half an hour in boiling water and you can unwind them into thread. One cocoon = 1,000 threads. They're not used for anything now anyway. But silk is made this way, not from spiders, but from silkworms.

An alternative. I remember I came across a big flying insect with pollen falling from it. True I do not remember, in the game with mods or without. So in the summer you can add the generation of cocoons of this butterfly.

I would like to see materials be something that modifies a base item rather than having a new distinct json entry for every single type of gambeson.

By way of rambling. How feasible is it to have two "databases"? The first database is filled by the developers, and the second database is filled through a script and used by the game.

Using weapons as an example, as a simpler option.

"id": "rapier",
"material_diff_1": [
    { "type": "mc_steel", "portion": 112 },
    { "type": "hc_steel", "portion": 112 },
    { "type": "qt_steel", "portion": 112 }],
"material_diff_2": [
    { "type": "leather", "portion": 1.1 }
    { "type": "kevlar", "portion": 1.1 }],

And the script from that, will create items for the game, according to the template: rapier_ [material_diff1] [material_diff_2]. For example:

"id": rapier_ mc_steel_kevlar
"id": rapier_ mc_steel_leather

And shorten the mention of the material where possible. For example, there is no big difference between the name and the description. A rapier is a rapier no matter what it's made of. Defined as: «A thin sword with an ornate hand guard».

We already have a field that specifies the material. If necessary, you can make a composite description: «A thin sword with an ornate hand guard. Made of [material_diff_1] and [material_diff_2].»

The only problem is that it works with identical items, just made of different materials. It's perfect for color and size. But not so good for materials.

Take gambeson as an example. They differ not only in materials, but also in many other parameters (encumbrance, warmth, weight, etc.). https://cdda-guide.nornagon.net/item/gambeson https://cdda-guide.nornagon.net/item/gambeson_wool https://cdda-guide.nornagon.net/item/gambeson_canvas https://cdda-guide.nornagon.net/item/gambeson_nylon

Setting it all in this form... will only lead to additional errors. Ideally, in my opinion, table templates would be suitable. Just fill in the fields. But is it possible to implement this?

github-actions[bot] commented 8 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.