Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FABRIC_CUT Tool Quality and tailoring recipe tool audit #53436

Closed
6 tasks done
a-chancey opened this issue Dec 14, 2021 · 27 comments · Fixed by #54256
Closed
6 tasks done

FABRIC_CUT Tool Quality and tailoring recipe tool audit #53436

a-chancey opened this issue Dec 14, 2021 · 27 comments · Fixed by #54256
Labels
Items / Item Actions / Item Qualities Items and how they work and interact [JSON] Changes (can be) made in JSON <Suggestion / Discussion> Talk it out before implementing

Comments

@a-chancey
Copy link
Contributor

a-chancey commented Dec 14, 2021

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

While working on the suggested changes to #53366, I noticed a draft PR that had been filed shortly after mine that is working on overhauling CUT quality - #53385. My initial solution was to change Kevlar to require CUT 2, but #53385 is far more ambitious, and honestly a better representation of the cut quality, so I went back to the drawing board. Simply put - different fabrics require different cutting methods, and tools that are good at general cutting are not always suitable for cutting fabric to a size or pattern. Some leeway will be taken to avoid too much additional clutter

I brought it up on discord and decided to put a brief hold on the Kevlar shears, and to instead work on a different set of solutions to #53315: a new tool quality, FABRIC_CUT, an audit of sewing and cutting tools, updates to material requirements and more.

Solution you would like.

This will take place across a few PRs, as there's a lot I'd like to accomplish - however, I will do my best to not lock anything behind an unavailable tool or quality as the new features are implemented. The breakdown is as follows:

  • Add FABRIC_CUT as an available tool quality
  • Add FABRIC_CUT 1 and 2 as appropriate to existing cutting tools
  • Add FABRIC_CUT 2 to Kevlar shears and merge them
  • Adjust material requirements for tailoring
  • Adjust reverse requirements method when uncraft recipe is nonexistent to use FABRIC_CUT instead of CUT
    In Progress, no longer a stretch goal:
  • Audit clothing crafting materials and dissasembly #53059 raises a lot of important issues. I'd like to add a lot of uncraft recipes for some of the more advanced fabrics at a minimum. I'd also like to rebalance disassembly/salvage, but I've got a lot ahead of me already.

I do want to ensure that things can still be cut up with a standard CUT tool, since damaged materials are expected - I'll be watching #53385 and be seeking feedback on what should be able to be cut at each quality.

I do NOT want things to get cluttered up with super specialist tools unless there's a real desire to have it - things like plinking shears are neat, but I have no problem believing they're part of a tailor's kit.

Describe alternatives you have considered.

Letting someone else mess with it while I work on something else?
Or justifying cutting the panels for making a duster with a machete.

Additional context

Individual Fabric Cut 2 tools will be more limited, but I plan on adding scissors as an ingredient for the sewing kit to give it FABRIC_CUT 1, and Kevlar shears being added to the Tailor's Kit to give it FABRIC_CUT 2. This should minimize impact to the player experience other than possibly delaying access to working on more difficult to cut materials.

The planned FABRIC_CUT 2 required materials are Nomex, Synthetic Fabric and Kevlar

Fur, Faux Fur and nylon will have special working requirements as well.

@NetSysFire
Copy link
Member

iirc Synthetic Fabric is like polyester, so it might not need its own cutting quality, see #53277 and related.

@NetSysFire
Copy link
Member

Oh and one more thing, we have grass yarn which is only used for one thing but I would like to see it expanded. Just CUT 1 might suffice for stuff made from this (e.g just grass skirt and shirt for now)

@NetSysFire NetSysFire added <Suggestion / Discussion> Talk it out before implementing [JSON] Changes (can be) made in JSON Items / Item Actions / Item Qualities Items and how they work and interact labels Dec 14, 2021
@a-chancey
Copy link
Contributor Author

Oh and one more thing, we have grass yarn which is only used for one thing but I would like to see it expanded. Just CUT 1 might suffice for stuff made from this (e.g just grass skirt and shirt for now)

I just looked, grass yarn is a DRY_PLANT material, and isn't listed within tailoring materials. I don't know that it makes sense for me to make any changes to it at the moment, but feel free to modify it if you'd like.

@a-chancey
Copy link
Contributor Author

As part of the material requirements and looking at recipes, #53059 is no longer a stretch goal, it is being included.
A PR for the material requirements will be made later today after i finish testing, and the disassembly and salvage will be a part of the work for #53059

@a-chancey
Copy link
Contributor Author

Oof this is coming along slowly. I'm still at it, it's just been a busy time at work. Cotton is partly done, the rest should fall in line as i get adjustments made.

@a-chancey
Copy link
Contributor Author

Still plugging away at this. Fabric items are all genericized and standardized to the new weights now, a few new items were added to fill in gaps (leather and fur patchwork and I think synthetic fabric patches).

Patchwork clothing parts have been changed to patchwork sheets. Scraps will break down to thread where appropriate.

There's like half a billion recipes that are impacted by these changes, I'm plugging along at them every day. There might be some large looking changes, but they're being done to maintain weights and volumes with the new fabrics.

@anonym
Copy link
Contributor

anonym commented Mar 22, 2022

IMHO it doesn't make sense that FABRIC_CUT is required for most leather and fur recipes (but not a few, like leather cloak for some reason) making them impossible with primitive stone tech, contradicting reality. IMHO they should just require CUT. Also, fur requires CUT_FINE for the same problematic reason, so it should be dropped.

An alternative to consider is to make fur and leather drop FABRIC_CUT but keep/get CUT_FINE but then add a new stone tool with CUT_FINE (stone razor?) that's obtainable with primitive tech.

(Honestly, I'm kinda skeptical to FABRIC_CUT over all: am I wrong, or isn't it entirely possible to cut cotton, felt and similar fabrics with a sharp stone blade? I can imagine it just might look a bit worse and/or take longer time compared to using some nice metal scissors.)

@a-chancey
Copy link
Contributor Author

a-chancey commented Mar 23, 2022

Hi, I’m responsible for FABRIC_CUT and am working on the full tailoring audit with the assistance of a close friend who is a seamstress.

FABRIC_CUT was added due to the insanity that was tailoring with just CUT. Prior to its implementation, you could craft a fitted Heavy Survivor Suit with a combat knife just as easily as you could with a katana, both of which had the same cut qualities of scissors. And NONE of them are suitable for cutting woven Kevlar sheets.

Most fabric working is going to require a lot of semi precise trimming work. You’ll need to cut things to complex patterns which are drawn to size, which would be quite difficult to do with an unwieldy tool.

but you’re not doing tailoring work with a katana. Full stop. It’s unwieldy, it’s long, and many fabrics would actually dull the blade over time. This alone makes the Cut quality unsuitable for tailoring.

The problem honestly lies with the recipe system. While proficiencies can affect time and failure rate, tools can do neither. Additionally we need item quality modifiers. A fur coat made from pelts cut with a stone is going to be lower quality, and shouldn’t function and fit as well as one made with proper tools.

In a perfect world where tools could affect quality, speed and failure, we’d have requirements scale based on tool quality, with some things being outright impossible due to failure rates with the wrong tool. Kevlar won’t be cut cleanly without shears or a rotary cutter and you won’t convince me otherwise.

So yes, fabrics like cotton and leather could be cut with a sharp rock. The current solution for items that are realistically able to be made at a primitive level would be to add a new recipe that has an increased crafting time, additional components and more byproducts. That would represent the wasted material from screwing up all your cuts because your rock is not suitable for tailoring.

Edit: I’ll note that FABRIC_CUT implies a high level of control, and a blade edge suitable for various types of fabric. FABRIC_CUT 1 is a sharper edge, where FABRIC_CUT 2 is a shear (flat cutting edge), which is more suitable for synthetics and required for aramids like nomex and Kevlar to prevent thread pulls from the middle of the sheet, harming it’s protection rating.

with regards to fur, have you ever tried to cut it with scissors? It bunches up and the scissors either cut the hairs, or it won’t cut, but will rotate and spread the scissors apart. A knife can be used for rough cuts, but to get accurate cuts through a pelt requires multiple cuts if not using an incredibly sharp blade or a type of rotary cutter. A sharp stone would destroy the edge of the pelt with the number of repeated cuts and thus require you to start with more material.

Again, for some select recipes, cut would be fine. hell, some just use full sheets that are wrapped around the body where precise trimming and cutting to a pattern is not necessary.

IRL fur for tailoring is cut on the hide facing and with a rotary tool (preferably, I’ll add it if tools ever actually matter for quality or speed) or an xacto when a rotary cutter isn’t available.

There’s actual, real life reasoning behind the tool quality. A meat cleaver would not be an appropriate tool to cut cotton in a patterned shape. I’m not opposed to alternate recipes for primitive tech, where inferior tools impede crafting speed or require excess materials, but until tools and qualities can impact both speed and failure rates, I can’t see a single reason to get rid of the quality.

@anonym
Copy link
Contributor

anonym commented Mar 23, 2022

First of all, I totally agree with your end-goal, and that it's a pity that the "tool qualities"-system is so crude (imagine if we optionally could pass flags like ["DRILL", 1, ["SLOW", "BRITTLE", "CRUDE"]] which means that the tool will decrease the crafting speed of any recipe it's used in with some factor, that there is a risk that the tool suddenly breaks from normal usage, and that (when the item quality system) the results will of lower quality).

However, as a player I find the current situation pretty frustrating and immersion breaking; IRL I can cut leather with a flint blade (to answer your question: no, I've never done so with fur, only leather) so in the game I should be able to cut some leather pieces into shape so I can sew them into a leather pouch (which currently is impossible without metal tools for the cutting). The fact that we currently cannot make the crafting just take longer and/or the result to be cruder/lower quality is a shame, but disallowing the crafting altogether is the less realistic and more frustrating option here, IMHO.

Try an "innawoods" playthrough if you want to experience these silly limitations yourself! :)

@anonym
Copy link
Contributor

anonym commented Mar 23, 2022

Hmm. Perhaps a nice middle-ground is to leave things as is in vanilla cataclysm and instead fix things in the innawoods mod? It's easily solved by adding a tool, say flint razor blade, with qualities [ ["FINE_CUTTING", 1], ["FABRIC_CUTTING", 2]]. I like it!

@NetSysFire
Copy link
Member

will decrease the crafting speed of any recipe it's used in with some factor

See #49525

@a-chancey
Copy link
Contributor Author

First point:

tools can't impact crafting time or failure rate, and items don't have varying quality (outside of clothing being poor fit), so there's not a lot of room to play with tool requirements.

There's an open issue to change how recipes work - making them into routines instead of just requirements listings. I don't think anyone has volunteered to tackle this yet, as it's a big project. As an example, to make a tshirt you'd first gather materials and tools, then trim the fabric, then sew it, with each step having a passed in time that can be modified by tool selection. Each of those steps could be reusable in pretty much any tailoring recipe by changing components and time factors.

Additionally there's been discussions around items having varying qualities. This could impact encumbrance, coverage or protection for armor/clothes when implemented, at which point, a bunch of new recipes could be added in vanilla that make poor quality items with poor quality tools, but can help bypass some requirements.

Second point:

I highly suspected innawoods would come up. In the instance of the pouch, that sounds like something that should be taken into consideration by the innawoods maintainer. FABRIC_CUT was merged a month before innawoods - in fact, the PR was made almost a month before the innawoods mod PR even existed. I couldn't balance for a mod that didn't exist, and I wouldn't balance a core feature against a mod anyways.

The best option is to either add alternative recipes with higher material needs, primitive tools and longer crafting time, or to override the recipes or even add new items with the qualities within the innawoods mod.

Since item qualities aren't implemented, I'd be more inclined to go with option 2, as well as overriding the item to make it slightly more encumbering to account for being made with less than ideal tools that can damage the materials

@stale
Copy link

stale bot commented Apr 27, 2022

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.

@stale stale bot added the stale Closed for lack of activity, but still valid. label Apr 27, 2022
@a-chancey
Copy link
Contributor Author

Blowing the dust off of this and bumping it only because I've got #54256 ready to merge which knocks off both of the remaining tasks on this PR. I should try to grab all the issues that PR will close before it gets merged.

@stale stale bot removed the stale Closed for lack of activity, but still valid. label Jun 15, 2022
@Getenari
Copy link

Getenari commented Jun 23, 2022

Blowing the dust off of this and bumping it only because I've got #54256 ready to merge which knocks off both of the remaining tasks on this PR. I should try to grab all the issues that PR will close before it gets merged.

why don't you just add a negative level to all cutting tools if they're not quite right for it? i understand that a knife or katana is harder to work with than scissors - but it's definitely not impossible. it ends up creating a situation where you have thread, rags, needle, everything in sight - but you can't put it all together with a trivial scarf

and a negative level can be expressed in the fact that the final product is no longer 100% quality, that is, having damage for example, or during the crafting process, there were failures, depending on how negative it is

@a-chancey
Copy link
Contributor Author

What PR added the ability to give negative quality levels that will produce damaged goods? I’m searching for it but can’t find it.

@Getenari
Copy link

What PR added the ability to give negative quality levels that will produce damaged goods? I’m searching for it but can’t find it.

as an example - freshening tools with a negative value of the property, such as a ceramic shard, or glass sharpening. i meant that it is possible to make the same negative value, that the output would be something damaged or have a large number of failures in the process depending on the degree of negative level, but still it is quite logical if it were so. that is, if i try - somehow but make myself a scarf katana. and it will be so - i mean you can say 50% good or less, and this is quite logical and realistic

@a-chancey
Copy link
Contributor Author

There was a recent PR to make a handful of recipes use regular cutting instead of fabric cutting, and scarves are part of that. But I figured I’d give your suggestion a shot.

I tried adding a negative fabric cutting to a katana, so it had FABRIC_CUT -1. It wasn’t valid for any recipes as a fabric cutting tool. So I changed the requirements of tailoring_cotton_patchwork to FABRIC_CUT -1. The katana could be used but didn’t introduce any failure. I crafted 10 of them in a row without issues.

So I just changed it back to what it was. I laid out my reasoning for adding fabric cut, and I have no problem using regular cut on a case by case basis.

Nothing has been merged for crafting damaged items or negative tool qualities from what I can see. Butchering can have a negative value because it’s calculated differently than crafting.

@Getenari
Copy link

Getenari commented Jun 24, 2022

There was a recent PR to make a handful of recipes use regular cutting instead of fabric cutting, and scarves are part of that. But I figured I’d give your suggestion a shot.

I tried adding a negative fabric cutting to a katana, so it had FABRIC_CUT -1. It wasn’t valid for any recipes as a fabric cutting tool. So I changed the requirements of tailoring_cotton_patchwork to FABRIC_CUT -1. The katana could be used but didn’t introduce any failure. I crafted 10 of them in a row without issues.

So I just changed it back to what it was. I laid out my reasoning for adding fabric cut, and I have no problem using regular cut on a case by case basis.

Nothing has been merged for crafting damaged items or negative tool qualities from what I can see. Butchering can have a negative value because it’s calculated differently than crafting.

Maybe I misunderstood something, because I translate through the translator - but aren't you involved in the development of the game? I did not mean that such a possibility exists, but that it would create it because it is logical

@a-chancey
Copy link
Contributor Author

The way you worded it made it seem like the feature already existed. I apologize if I came off as brash, but I did test to make sure that this feature wasn’t added when I wasn’t looking.

It does not exist.

my solution was the best solution given the state of the code base.

Tools impacting crafting quality or time and producing damaged goods is something that is certainly desired, but the desired solution also involves a complete overhaul of the crafting system.

Until someone braver than I attempts that, we can write exceptions into recipes where it makes sense to do so.

@Getenari
Copy link

Getenari commented Jun 25, 2022

The way you worded it made it seem like the feature already existed. I apologize if I came off as brash, but I did test to make sure that this feature wasn’t added when I wasn’t looking.

It does not exist.

my solution was the best solution given the state of the code base.

Tools impacting crafting quality or time and producing damaged goods is something that is certainly desired, but the desired solution also involves a complete overhaul of the crafting system.

Until someone braver than I attempts that, we can write exceptions into recipes where it makes sense to do so.

And yet, even so - it seems to me that recipes and qualities should be redesigned, if such a possibility is not available. As an example, a simple cloth scarf. To make it I can not use a knife - although I could because it is simple. Or any other thing made of fabric. Roughly speaking that would start to make the minimal things out of fabric need scissors. And if you don't have them, it's a week of crafting and a ton of resources to make them with metalworking. I mean, you can give, for example, normal cutting objects the quality of cutting fabric 1. You could give scissors and scalpels cutting quality 2, and you could give those with cutting quality 2 cutting quality 3. And make the simplest objects on demand with cutting quality 1. Those that are more difficult, give them cut quality 2, and so on. It's just that I'm sitting here in rags but have to do a whole complex of metal fabrication that would make scissors and rags to tie into a scarf. Or to make it simpler - not to redo all the recipes, but to add some recipes for primitive things from scraps

@a-chancey
Copy link
Contributor Author

all of my reasoning is laid out in the PR. It makes more sense to handle exceptions on a case by case basis because of how the crafting system works. Yes, you can cut fabric with a combat knife. No, you’re not going to use it for most tailoring applications. The lack of control will prevent you from trimming a sheet of cotton to a pattern without damaging the fabric - so while it would work for cutting a sheet down for a scarf, it is not a tool that should be considered for tailoring work.

The modified recipes are in place to make scarves use cutting instead of fabric cut, anyways, so all of this is a moot point.

It’s not like scissors are rare, and they’re suitable for everything but Kevlar and Nomex. On top of that, sewing kits and tailor’s kits both have fabric cutting.

If you’re doing an innawoods run, then the balance issues lie within the innawoods mod. I’m not going to balance changes to the vanilla game around a mod.

@Getenari
Copy link

Getenari commented Jun 26, 2022

all of my reasoning is laid out in the PR. It makes more sense to handle exceptions on a case by case basis because of how the crafting system works. Yes, you can cut fabric with a combat knife. No, you’re not going to use it for most tailoring applications. The lack of control will prevent you from trimming a sheet of cotton to a pattern without damaging the fabric - so while it would work for cutting a sheet down for a scarf, it is not a tool that should be considered for tailoring work.

The modified recipes are in place to make scarves use cutting instead of fabric cut, anyways, so all of this is a moot point.

It’s not like scissors are rare, and they’re suitable for everything but Kevlar and Nomex. On top of that, sewing kits and tailor’s kits both have fabric cutting.

If you’re doing an innawoods run, then the balance issues lie within the innawoods mod. I’m not going to balance changes to the vanilla game around a mod.

I'm not in the woods, I'm on an island. I have a script about a prison break. And I can give you a little rundown. It's day 28 of my survival and I'm still trying to make scissors. The steel scraper is a useless thing because it has a grind quality of 2, and requires a metal file which has a grind quality of two. The question is, what is a steel scraper for then? But that's okay. A file needs a chisel 3. And to do a chisel tool 3, you need a metal chisel that needs a grind 2. The way out of this vicious circle is a polishing stone, which takes a WEEK to make. Total - I make a polishing stone a week, file another 16 hours, chisel 2 hours, hammer 5 hours, hot cutting chisel 3 hours, metal file 5 hours and scissors 6 hours - total 28+11=39 days when you have endless water, food and heat to make a simple fabric scarf because you can't make it with a knife

@a-chancey
Copy link
Contributor Author

Update your game. You can make a scarf with a knife now. It was added in the past two days or so

@Getenari
Copy link

Update your game. You can make a scarf with a knife now. It was added in the past two days or so

Thank you very much, but it's not about the scarf, it's about how many days and resources it takes to create scissors - because there are no alternatives. In the end, they have to look for them, and if they can not be found - 95% of the clothes are simply not available to create, and in addition to clothing and other things

@Zireael07
Copy link
Contributor

Hm, I think a knife should substitute for scissors in like 95% of cases.

@a-chancey
Copy link
Contributor Author

If your choice in tool could affect crafting quality or failure rate, or cause it to be crafted damaged and without the "FIT" flag, I'd happily agree that some knives could be used as a substitute when you'd don't have scissors. Even in the most controlled cases, however, a knife, outside of an xacto, is not even a good tool for the job, let alone the desired tool.

I did a LOT of research into this even before implementing FABRIC_CUT, and consulted with a seamstress friend to make sure I was understanding correctly. The agreed upon interpretation for FABRIC_CUT was that it had to be suitable for cutting fabrics to patterned shapes with minimal failure outside of user error. Level 2 is for specialty fabrics like Aramids, specifically something with a shear edge. If I missed some tools that would fit the above description, i'm open to adding fabric cut to more things.

For recipes where it's as simple as folding the cloth and dragging the knife through it, sure, cotton, felt, leather, and fur could be cut pretty easily with a knife. That's why I'm fine with there being exceptions for some recipes. But a pocket knife isn't going to do the job without damaging materials and taking much longer.

Scissors work for cutting most fabrics precisely because of the hinged cutting action - the two blades sever the fibers cleanly, and in very small increments with minimal effort. This helps you maintain control of the cut all the way through, and is why scissors (often specialty scissors with sharper blades) are the go-to tool for most tailoring work.

An xacto/kraft knife works for trimming fabric because it's razor sharp, and has a very short, thin blade. The small cutting surface allows the blade to properly slice through the fibers.

A rotary cutter works because it's not only very sharp, but the blade itself rotates as you move it, so it's not dragging and possibly snagging.

However, standard knives just are not sharp enough to be a reliable tool for cutting fabric to patterns.

They're usually much thicker than a razor blade/rotary cutter/xacto blade, making it more difficult to achieve the angle needed for that level of sharpness. I'd maybe accept some of the more delicate kitchen knives - a paring knife or fillet knife, but they're still sharpened at a significantly wider angle than a razor/xacto.

A more dull cutting edge on the knife means more pressure must be used to cut the fibers. This can lead to pulling and tearing instead of cutting, as you're using a longer blade and can't apply pressure evenly across the cutting surface.

Kevlar and Nomex (both aramids) are a great example of this. They both actually have to have the threads severed cleanly, which is why shears are used instead of scissors, or the threads pull. Nylon, which we call synthetic fabric, is similar and it is recommended that if you're not using high quality fabric shears to use a rotary tool. And Neoprene is a nightmare to work with unless you're using a rotary tool or xacto, with the way it decompresses as you cut.

Once someone overhauls crafting to either allow tools to impact crafting time and failure rate and/or to allow damaged goods to be crafted, I'd be happy to rework requirement groups and update it in a way that less appropriate tools can be used with appropriate failure rates.

If you all really feel this strongly about using knives, go add FABRIC_CUT to knives that you feel should be usable. Or you can go nuts and open up /data/json/requirements/tailoring.json and replace the FABRIC_CUT quality with CUT. Then you can use totally appropriate cutting tools such as tiger claws, a wood axe, a zweihänder or even a goddamn powered hedge trimmer to cut leather into a patterned shape for your pair of boots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Items / Item Actions / Item Qualities Items and how they work and interact [JSON] Changes (can be) made in JSON <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants