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

Chairs are nonsensical #62738

Closed ghost closed 1 year ago

ghost commented 1 year ago

Describe the bug

'Folding' a chair for transport takes around 8 1/2 minutes - which is long enough to simply drag it across half a dozen football fields.

Disassembly of a chair should not require a saw. They are made from pieces and can be easily taken apart.

Chair legs are not 4x4 posts and shouldn't have the melee attributes of a watermelon.

A few more non-sensical issues: Chairs have roughly 3 times the volume as their component parts.

Chairs weigh roughly 1/3 the weight of their component parts.

'Folding' a chair leaves it with the same volume as an 'unfolded' chair. I guess this is because we're not really folding a chair, just spending 10 minutes figuring out where to grab it and then figuring out how to stand it upright after dropping it.

I'm not really sure that calculating volume as a cube (if that's what's happening) is really proper for chairs - it seems to make them better firewood than... anything and prevents you stacking items in/around them when transporting them.

Disassembling a chair returns 'chair parts' which can't be used to actually make a chair. Meanwhile, making a chair seems to waste 2/3 of the raw material - which no one would do.

Chairs are simply OP as a firewood source. In a brazier, you can easily get 24 hours from one. If you just turn one into a raging fire on the ground... day and a half.

Steps to reproduce

Find a chair.

Expected behavior

Folding a chair should be nearly instant. Chair legs should be sized properly. Disassembly by prying and/or screwdriving.

Screenshots

No response

Versions and configuration

Additional context

No response

GuardianDll commented 1 year ago

Pinging @Karol1223 as the person that may verify this

oosyrag commented 1 year ago

You can also use the (*) construction menu to disassemble furniture with basic tools. I guess it might depend on the chair. Which chair are you having issues with specifically?

Karol1223 commented 1 year ago

Okay so answers to all of them.

'Folding' isn't my thing. That's c++ for simple deconstruction. I am not touching that.

The saw part may actually be a very good argument. I don't recall if there's any pieces being cut in chairs, it may not be necessary. Screwdriving is already used iirc.

For the size: its accurate. I spent days calculating sizes and volumes off IKEA manuals. If you believe the ingridients it gives are not properly sized that's a different problem altogether, not the chairs being wrongly sized. Either way I'm really not interested in adding a 'same length post but smaller base because chair' item.

ghost commented 1 year ago

You can also use the (*) construction menu to disassemble furniture with basic tools. I guess it might depend on the chair. Which chair are you having issues with specifically?

The construction menu folds them currently unless I've misunderstood.

Karol1223 commented 1 year ago

The construction menu folds them currently unless I've misunderstood

That's correct. The construction menu takes them down to item form. This can be achieved by either standard deconstruction (with tools) or simple deconstruction (no tools) but the result is always the same. The time it takes is specific to the construction recipe, not the item, so altering this isn't possible unless alternate methods of taking the chair down to item form are used OR all recipes using the simple deconstruction were to have their time shortened.

Zireael07 commented 1 year ago

@Karol1223 Maybe change descriptions not to imply folding the chair, then?

Karol1223 commented 1 year ago

@Karol1223 Maybe change descriptions not to imply folding the chair, then?

I don't think I follow. Which description? Regular chairs, which are not foldable, do not mention folding anywhere. The chairs that do mention it are foldable chairs - ones that can be folded by examining them as well as through the construction menu.

oosyrag commented 1 year ago

There is definitely some misunderstanding going on. There are folding chairs, a few kinds actually. They do not require the construction menu to fold, nor does it take minutes to do so.

Normal common chairs cannot be folded. They can be disassembled through the deconstruction menu, which dissassembles a chair into it's parts (4 planks and 8 nails). This takes 20 minutes and only requires a tool with prying 1 and screwdriving 1, no saw.

So once again - what chair exactly are you talking about?

Karol1223 commented 1 year ago

Normal common chairs cannot be folded. They can be disassembled through the deconstruction menu, which dissassembles a chair into it's parts (4 planks and 8 nails). This takes 20 minutes and only requires a tool with prying 1 and screwdriving 1, no saw.

No longer the case. That was changed.

ghost commented 1 year ago

A few more non-sensical issues: Chairs have roughly 3 times the volume as their component parts.

Chairs weigh roughly 1/3 the weight of their component parts.

'Folding' a chair leaves it with the same volume as an 'unfolded' chair. I guess this is because we're not really folding a chair, just spending 10 minutes figuring out where to grab it and then figuring out how to stand it upright after dropping it.

I'm not really sure that calculating volume as a cube (if that's what's happening) is really proper for chairs - it seems to make them better firewood than... anything and prevents you stacking items in/around them when transporting them.

Karol1223 commented 1 year ago

I already explained the numers to you in discord and I'll explain it here again

Chairs have roughly 3 times the volume as their component parts.

This is fairly normal considering a crafted item takes larger space than the sum of its parts. It is not calculated as a cube: rather it is calculated as two rectangles - one for the base (from bottom of the legs to the top of the seat) and one for the back support. I do agree that ideally it should instead be 6 shapes - 4 for legs, one for seat and one for the back support. Given that the longest side exists anyway this should make the volume more appropriate without fucking with what bags the chairs can be put in.

Chairs weigh roughly 1/3 the weight of their component parts.

Please take a look at the byproducts of crafting a chair and you'll see where the extra mass goes. The disassembly recipe should give slightly less weight than the weight of the chair unless I forgot to recalculate something - if that is the case please let me know.

'Folding' a chair leaves it with the same volume as an 'unfolded' chair. I guess this is because we're not really folding a chair, just spending 10 minutes figuring out where to grab it and then figuring out how to stand it upright after dropping it.

The only chairs being folded are deck chairs and camp chairs as well as the newly added foldable chairs - which are always folded in item form and never folded in the furniture form (which doesn't have volume assigned anyway) so I am honestly not sure what you mean here.

ghost commented 1 year ago

I already explained the numers to you in discord and I'll explain it here again

Chairs have roughly 3 times the volume as their component parts.

This is fairly normal considering a crafted item takes larger space than the sum of its parts. It is not calculated as a cube: rather it is calculated as two rectangles - one for the base (from bottom of the legs to the top of the seat) and one for the back support. I do agree that ideally it should instead be 6 shapes - 4 for legs, one for seat and one for the back support. Given that the longest side exists anyway this should make the volume more appropriate without fucking with what bags the chairs can be put in.

I feel like there's a pretty important concept one of us is misunderstanding here. Rectangles do not have volume. Please provide some sort of formula to explain what you mean here.

Chairs weigh roughly 1/3 the weight of their component parts.

Please take a look at the byproducts of crafting a chair and you'll see where the extra mass goes. The disassembly recipe should give slightly less weight than the weight of the chair unless I forgot to recalculate something - if that is the case please let me know.

Okay, I'm seeing there is splintered wood from the components.. I'm not even going to do the math on whether or not we've wasted 2/3 of the wood and got splinters to show for it.

When I disassemble a chair, I now get things that can't be used to put it back together. It's just one rabbit hole after another of nonsensical behavior.

'Folding' a chair leaves it with the same volume as an 'unfolded' chair. I guess this is because we're not really folding a chair, just spending 10 minutes figuring out where to grab it and then figuring out how to stand it upright after dropping it.

The only chairs being folded are deck chairs and camp chairs as well as the newly added foldable chairs - which are always folded in item form and never folded in the furniture form (which doesn't have volume assigned anyway) so I am honestly not sure what you mean here.

I guess I am really confused as to what the deconstruction menu is even doing. The act of picking up and putting down furniture taking such absurd times is just silly. This just feels like a kludge.

It feels kinda half-baked and a poor substitute for doing nothing.

Zireael07 commented 1 year ago

Rectangles do not have volume. Please provide some sort of formula to explain what you mean here.

I am almost sure that Karol is NOT a native speaker of English. Obviously he didn't mean a flat shape that rectangle is, just a 3d shape that looks like a rectangle with added thickness. I admit I am having problems finding a word for that, too (not a native speaker of English either). You know what I mean - a typical cube is the same (or roughly the same) in all three dimensions and the shape we're talking about has two bigger dimensions and the third relatively small.

oosyrag commented 1 year ago

The construction menu's deconstruct simple furniture now allows for changing a 'furniture' that you can (sometimes) interact with, into an 'item' that you can pick up. I believe it used to take apart an item into it's parts hence the 10 minutes, but now it functionally "unmounts" a furniture from the ground. I don't think there is any code in place that lets us set a variable of time it should take to unmount a specific furniture. A loose chair indeed should not take 10 minutes to turn into a movable item, but a solar panel or refrigerator might.

The action could probably use a new name to relieve confusion, for example from "deconstruct simple furniture" to "unmount furniture", with the "deconstruct furniture" construction taking care of actually taking apart items into parts. Additional functionality/feature in the form of json that defines the amount of time required to unmount, or "deconstruct simple furniture" would be welcome as well.

This has absolutely nothing to do with "folding", which is an interaction that you can take with certain folding chairs.

Karol1223 commented 1 year ago

Zirael explained exactly what I meant when saying 'rectangle'. Picking on to said words isn't important. If at any point you thought that a flat shape was mentioned in a conversation about volume of all things there's a problem at the core here.

When I disassemble a chair, I now get things that can't be used to put it back together. It's just one rabbit hole after another of nonsensical behavior.

That is because the process of crafting a chair includes cutting up pieces of wood, shockingly. This means that you are cutting down pieces of wood to fit the exact size and purpose of making a chair. If I was to make the disassembly recipe yield the resources specifically able to be put back together into a chair this would require at least 4 new items which would be entirely useless in any form outside of putting a chair back together - and would only be obtainable from disassembling a chair. This is the same reason nobody has added gun parts.

Karol1223 commented 1 year ago

The construction menu's deconstruct simple furniture now allows for changing a 'furniture' that you can (sometimes) interact with, into an 'item' that you can pick up. I believe it used to take apart an item into it's parts hence the 10 minutes, but now it functionally "unmounts" a furniture from the ground. I don't think there is any code in place that lets us set a variable of time it should take to unmount a specific furniture. A loose chair indeed should not take 10 minutes to turn into a movable item, but a solar panel or refrigerator might.

The action could probably use a new name to relieve confusion, for example from "deconstruct simple furniture" to "unmount furniture", with the "deconstruct furniture" construction taking care of actually taking apart items into parts. Additional functionality/feature in the form of json that defines the amount of time required to unmount, or "deconstruct simple furniture" would be welcome as well.

I have proposed the idea of cutting down the time 'deconstructing simple furniture' takes as nothing that it actually takes apart would take a minute - all things it affects are either unplugging appliances, picking up furniture or actions the equivalent of kicking over a pile of sandbags - stuff that takes about 12 seconds maximum and the real time is spent picking the resulting item up (which is an already different action that should not be accounted for in the deconstruction in the first place)

Unfortunately, I have not received any feedback on that idea besides a small comment from Guardian so I don't know whether this is appropriate and what's the opinion of other contributors or developers on the matter.

oosyrag commented 1 year ago

Unfortunately, I have not received any feedback on that idea besides a small comment from Guardian so I don't know whether this is appropriate and what's the opinion of other contributors or developers on the matter.

I'd say go for it, and rename it while you're at it. Especially if its previous functionality is confirmed to be obsoleted.

Taking apart furniture items for parts can be left to the 'deconstruct furniture' construction and the disassembly action when they're in item form.

ghost commented 1 year ago

Zirael explained exactly what I meant when saying 'rectangle'. Picking on to said words isn't important. If at any point you thought that a flat shape was mentioned in a conversation about volume of all things there's a problem at the core here.

I'm not trying to pick on the word choice here, I am just having hard time understanding where the numbers come from. Can you please show your formula on this? I don't know any other way to ask. This is fairly important as volume is a large part of what makes fire tick and hence why chairs as a source of heat are off the charts crazy good.

When I disassemble a chair, I now get things that can't be used to put it back together. It's just one rabbit hole after another of nonsensical behavior.

That is because the process of crafting a chair includes cutting up pieces of wood, shockingly. This means that you are cutting down pieces of wood to fit the exact size and purpose of making a chair. If I was to make the disassembly recipe yield the resources specifically able to be put back together into a chair this would require at least 4 new items which would be entirely useless in any form outside of putting a chair back together - and would only be obtainable from disassembling a chair. This is the same reason nobody has added gun parts.

I don't understand why this disassembly recipe should be so different from any other recipe. AFIAK, pretty much everything I can craft, if it disassembles at all, disassembles into it's component parts. Is there any actually good reason I can't take a chair apart and put it back together other than this is only half done?

I understand that you've added a saw as a requirement for disassembling a chair, I just don't understand why anyone would systematically DESTROY the chair parts when they can just unscrew it and then put it back together later if they want to.

I understand if you don't want to make granular parts for taking chairs apart and putting them back together. I just don't understand why you decided it needed these fictional parts in the first place. If they don't exist and you're not going to add them.. why mess w/ chairs at all? Doing a thing halfway is sometimes worse than doing nothing at all.

Karol1223 commented 1 year ago

I understand if you don't want to make granular parts for taking chairs apart and putting them back together. I just don't understand why you decided it needed these fictional parts in the first place. If they don't exist and you're not going to add them.. why mess w/ chairs at all? Doing a thing halfway is sometimes worse than doing nothing at all.

Yet again. This is back to the same logic for no disassembling of guns. You end up with a bunch of parts that can only be used to recreate the thing you took apart to obtain them. There is no reason for them to exist.

The reason you don't get to get the same parts back from taking apart a chair is that you have to saw pieces of wood to create parts for said chairs - hence the need for wood sawing to craft a chair in the first place. Getting the same parts would require adding them as separate items with the same problems of gun parts. There is no point.

And if you believe the state the chairs are currently in a worse state than the fact that they took four planks and 10 nails to build for the past however many years then please be my guest and rework them again to be exactly how they should be. I did it because nobody touched it for as long as anyone who I asked remembered. I took the first step, feel free to take the second.

Karol1223 commented 1 year ago

Especially if its previous functionality is confirmed to be obsoleted.

Here's the issue. I can't find any form of its previous functionality. As long as I've seen the construction option it was used only for pulling plants out of plant pots or kicking over rocks building fire rings. I am not entirely sure why at any point whatever the construction referenced was to take 10 minutes to do. This is why I have been hesitant to touch this, I am not convinced I understand the logic behind it at the foundation.

oosyrag commented 1 year ago

Especially if its previous functionality is confirmed to be obsoleted.

Here's the issue. I can't find any form of its previous functionality. As long as I've seen the construction option it was used only for pulling plants out of plant pots or kicking over rocks building fire rings. I am not entirely sure why at any point whatever the construction referenced was to take 10 minutes to do. This is why I have been hesitant to touch this, I am not convinced I understand the logic behind it at the foundation.

Here's what I found from a quick look:

The deconstruct simple furniture just looks for the EASY_DECONSTRUCT tag for eligibility.

From JSON_flags: EASY_DECONSTRUCT Player can deconstruct this without tools.

Looks like it was meant for taking apart furniture that didn't need tools. 10 minutes to do so for everything without tools is bit of flawed reasoning to begin with, along with the other assumption for the normal deconstruct was that everything else in the world could be taken apart with a screwdriver and a prying tool in 20 minutes.

And a list of things that have the tag: https://nornagon.github.io/cdda-guide//#/json_flag/EASY_DECONSTRUCT

So if all the items with that flag can be turned into item form, then the deconstruct simple furniture construction option could reasonably be renamed and time cost changed. Looks to me like the deconstruct furniture options have a lot of room for improvement in general. When in item form, using normal disassembly recipes will be much more flexible to account for all the different types of objects that could be taken apart.

ghost commented 1 year ago

Yet again. This is back to the same logic for no disassembling of guns. You end up with a bunch of parts that can only be used to recreate the thing you took apart to obtain them. There is no reason for them to exist.

Strawman.

The reason you don't get to get the same parts back from taking apart a chair is that you have to saw pieces of wood to create parts for said chairs - hence the need for wood sawing to craft a chair in the first place.

No. The reason is that you are using internally inconsistent logic. What is really happening is raw material -> chair parts -> chair.

What you have done is raw material -> chair -> random pieces of wood.

And if you believe the state the chairs are currently in a worse state than the fact that they took four planks and 10 nails to build for the past however many years then please be my guest and rework them again to be exactly how they should be. I did it because nobody touched it for as long as anyone who I asked remembered. I took the first step, feel free to take the second.

The game has had a defacto standard of disassembling things into their component parts since it's inception. What you have done here is add illogical complexities where they did not exist. If you want to make chairs 100% realistic, then do it; but don't do it halfway and tell me to fix what you've broken.

I'm asking for the third time today: please show the formula you are using to calculate chair volume.

Karol1223 commented 1 year ago

I already explained the way I calculated volume for the chair previously where you refused to acknowledge it all because it contained the word rectangle.

I also already explained every single logic behind my actions in the PR. And I do not intend to continue this any further. I've said everything that I had to say.

ghost commented 1 year ago

I already explained the way I calculated volume for the chair previously where you refused to acknowledge it all because it contained the word rectangle.

That is why I am asking for a formula. I don't understand what you've said. Please provide the actual numbers and formula so they can be verified.

Zireael07 commented 1 year ago

Aha! The shape we have in mind seems to be called rectangular prism (https://www.youtube.com/watch?v=iO7vb3HLHqU) and google says the formula is height depth width (which fits with the cube case being size^3)

ghost commented 1 year ago

Aha! The shape we have in mind seems to be called rectangular prism (https://www.youtube.com/watch?v=iO7vb3HLHqU) and google says the formula is height depth width (which fits with the cube case being size^3)

Thanks for clarifying what we're talking about here.

I don't think we're confused over the formula for determining cubic volume, so much as how to properly apply it to a chair. That's why I've asked for the chair formula. It apparently involves at least two rectilinear solids of unknown proportions (to me anyway).

Chairs are clocking in at 120L, which doesn't seem to be accounting for all the empty space. This has a significant impact on transporting them as well as how well they burn. As the entire intent of the PR was to allow chairs to be transported, the actual size of the chair would seem to be fairly important and worth doing correctly.

github-actions[bot] commented 1 year 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.