CleverRaven / Cataclysm-DDA

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

Implement Fancy and Super Fancy as a tag that can be applied to or removed from items, rather than an internal flag specific to each item. #70874

Closed NthTech closed 7 months ago

NthTech commented 8 months ago

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

This idea came about as a result of dissatisfaction from how https://github.com/CleverRaven/Cataclysm-DDA/pull/70716 implemented its changes. Fashion is subjective, so it's hard to codify a definition of fashion without confounding someone. This is best illustrated by a change in https://github.com/CleverRaven/Cataclysm-DDA/pull/70716 where stylish wallets, an item designed explicitly to be fancy, lost its fancy tag.

Rather than quibble over what items deserve Fancy or Super Fancy as a flag however, I present an alternate system.

Solution you would like.

Implement the Fancy and Super Fancy flags as tags that can be added to clothing and armor items, similar to how poor fit or filthy can conditionally apply to such items. Instead of requiring tailoring or cleaning to remove these tags, the fancy tags will require high tailoring skill to add, with Super Fancy requiring much higher than Fancy. The process of adding fancy should use the item's repair item, and always have a chance of failure. Failure shouldn't damage the clothing unless the player is particularly unskilled.

The fancy tags have a chance of being removed from items upon taking condition damage, with the Super Fancy tag having a much higher chance. This lets people work to keep their post-apocalyptic aesthetic, while giving another way for players to use their sewing supplies.

Optionally, Items can also rarely generate with the fancy tag if their internal pre-cataclysm price above a certain threshold, or if they generated in a clothing store or similar location.

Optionally, the Fancy tag can also improve the trade value of an item for NPC trades. I don't know whether NPCs have personality archetypes, but this should only apply to personalities that care about aesthetics if applicable.

Describe alternatives you have considered.

Removal of the stylish trait along with the Fancy and Super Fancy tags.

The Stylish morale boost acts as a neat bonus for players when completing a set of aesthetic clothing, but the inconsistent nature of Fancy coupled with the subjective nature of aesthetics means most aesthetics not in line with the game's hardcoded fashion is punished.

At that point, it would be better to remove the stylish trait entirely, and have cosmetic aesthetics remain cosmetic.

Additional context

No response

DeciusBrutus commented 8 months ago

Damaged items that used to be fancy are supremely difficult to repair back to fancy, even if they’re repaired back to functional. A cocktail dress with a patched tear is in a different aesthetic entirely. Stylish being a tag (hah) that can be removed by taking damage and just can’t be restored would also help balance stylish traits, making them hard to keep up.

NthTech commented 8 months ago

I didn't want my suggestion to tie the fancy tags with the damage system too much, besides the interaction of loss upon damage, since the entire ripped jeans aesthetic exists. I think it's sufficient to just have the process of adding fancy to materials have an initial skill requirement, time, and material cost, with the time and material costs reapplied constantly as maintenance if a person so chooses.

For the patched tear example, it's one thing for the tear to just be splotched on, but it's another if someone goes for the torn clothing or refashion subculture of fashion. I think it's better to just leave the question of what's fashionable to the player, and just have them work to prove their fashion is fashionable.

kasanryukin commented 8 months ago

It was explicitly stated in that PR that items meant to fill the role of stylish morale boost are items you'd be seen wearing at a black-tie event. If you're unfamiliar with the term, that means high end jewelry, tuxedos, and fancy ball gowns. You can make jeans as fancy as you want, but they aren't appropriate for the idea behind stylish.

I accept that fashion is subjective, but in this case it isn't fashion. Think less The Oscars and more a wedding.

fairyarmadillo commented 8 months ago

Yeah this doesn't really work because of its indiscriminate application. Look at me in my fancy loincloth and zombie leather bra.

NthTech commented 8 months ago

It was explicitly stated in that PR that items meant to fill the role of stylish morale boost are items you'd be seen wearing at a black-tie event. If you're unfamiliar with the term, that means high end jewelry, tuxedos, and fancy ball gowns. You can make jeans as fancy as you want, but they aren't appropriate for the idea behind stylish.

The only thing that was explicitly stated in that PR was that the committer's understanding of stylish is that it "roughly fit in a black tie type situation" after an unreferenced conversation with Kevin that does not actually manifest in-game. On the other hand, the stylish trait's definition makes no mention of formal wear or attire. Instead, it describes clothing as "fashionable and attractive" with no other qualifiers. If the goal of stylish is to limit fancy items only to those that adhere to the dress code, then the description of the trait should also be updated to reflect this.

Perhaps changing terms from fancy or stylish to a less ambiguous one like "formal"? That would cleanly resolve most subjective issues with the fancy tag, since there's no ambiguity as to what would meet the hereto unknown black tie formal dress requirements.

But even if we consider that requirement, the PR still fails by its own standards as it removes the fancy tag from items that would fit that dress code. A peacoat is acceptable outer wear for formal events while faux fur trench coats would fit in with galas and balls, yet they fail to meet the arbitrary requirement imposed by the change. Conversely, trench coats are another acceptable form of outerwear to pair with black tie events to protect suit jackets yet have never once carried the fancy tag, meaning the supposed dress code obviously wasn't a consideration for the application of the tag.

And let's not even get into wedding dresses. They're are as much a cosplay item as kimonos are when outside the context of a wedding, but kimonos are still an acceptable dress alternative for formal events.

I could go on, but like I said in my post, I'm not here to quibble about what clothing deserves the fancy tag.

Instead, the goal is to provide an alternative to the fancy tags in regards to the Stylish trait, and my suggestion aims to do so by having the selection of a valid fancy item be open ended, simply requiring a skill, time, and material investment from the player.

Yeah this doesn't really work because of its indiscriminate application. Look at me in my fancy loincloth and zombie leather bra.

Lingerie exists, both in real life and in the game. Zombie leather less so since zombies can't be skinned.

Ultimately, aesthetics has its own value. There's plenty of examples in the real world where clothing brands sell the image of extravagant fashion whether the base clothing item is a dress, a watch, or a trash bag.

fairyarmadillo commented 8 months ago

The other problem is that this would just lead to people having fancy plate mail and fancy nomad bodymesh and fancy backpack and fancy survivor mask. Stylish as currently implemented rewards people for wearing suboptimal equipment.

I don't think attaching aesthetic flags to items is a terrible idea, but rather than running that through the fancy trait, we could make it matter for NPCs via form_opinion. A character who cared about such things might naturally have a higher opinion of someone wearing gilded plate mail than they would of a guy wearing a shoddier set. Opinion is old code and badly in need of updating, this might be a fun way to do it.

MrHrulgin commented 8 months ago

The other problem is that this would just lead to people having fancy plate mail and fancy nomad bodymesh and fancy backpack and fancy survivor mask. Stylish as currently implemented rewards people for wearing suboptimal equipment.

Stylish can be maxed out entirely with no armor or encumbrance penalty by wearing a ton of tie tacks, cufflinks, necklaces, and earrings. If the explicit goal of Stylish is to incentivize less effective armor choices, it's currently failing at that.

NthTech commented 8 months ago

The other problem is that this would just lead to people having fancy plate mail and fancy nomad bodymesh and fancy backpack and fancy survivor mask. Stylish as currently implemented rewards people for wearing suboptimal equipment.

Those items would stop being fancy upon taking armor damage in any protracted combat situation, as mentioned in the original post, resulting in the player having to spend additional time and resources to re-fancy their outfit.

I personally don't see a problem, but if necessary then a solution could be to offset the constant morale boost by giving a minor moral penalty to the player if their armour loses the fancy tag, since it is basically a zombie, manhack, or talon ugv torching your creative efforts.

Applying fancy could also be mutually exclusive with armor reinforcement so that players ask themselves whether they want more effective armour or better looking armour, but I feel that should be a tradeoff for mid-skill players to make. Plenty of other games have fashion as an end game goal, so I see no reason not to emulate that here. After all, if someone is an artisan in their craft, they should be able to produce artisan products.

Maddremor commented 8 months ago

Applying fancy could also be mutually exclusive with armor reinforcement…

Not going to work since #64622. Going back to that system without addressing the problem that prompted the removal isn't going to work.

NthTech commented 8 months ago

Applying fancy could also be mutually exclusive with armor reinforcement…

Not going to work since #64622. Going back to that system without addressing the problem that prompted the removal isn't going to work.

That is my mistake. I also have a save file under Bright Nights and confused features between versions as I use a similar tileset for both.

Since the reinforcement system doesn't exist, an alternative could be to weaken the item while it has been modded with Fancy or Super Fancy, acting as another form of the Fragile trait on an item? I don't know how Fragile and Sturdy work since I am not an active developer or anything.

Ultimately, it was an extension of the main idea suggested in the original post on the topic of hypothetical balance for an unimplemented system. I still believe that having Fancy be a tag that requires skill, material, and time investment, with a chance of loss upon equipment damage, is an alternative to the current system of Fancy tags being arbitrarily implemented with ambiguous requirements to represent a broadly subjective quality of an open-ended topic like fashion.

Fris0uman commented 8 months ago

Mood boost in exchange of micro managing re-tailoring all your cloth is not a good idea

NthTech commented 8 months ago

Mood boost in exchange of micro managing re-tailoring all your cloth is not a good idea

Then do you think it's better for it to be a one-time action with the skill and material investment? Or do you prefer the base system with its current implementation?

It's clear that there's conflicting opinions on the level of balance, so more clarification one way or another would be appreciated. I believe it would be helpful for all involved if people of disparate viewpoints discussed more of what they expect from the Stylish trait and the Fancy tags.

MrHrulgin commented 8 months ago

I've laid this out before in #67869, but I'll recap here:

Rather than having one overall set of things considered fancy, I propose some sub-groupings by what kind of fancy the clothing is. Some people hold athletic clothing as the height of fashion. Others want formal tuxedos. Some want pure ostentation, the more gold the better. Others care about an older style, one that doesn't really exist anymore. Some feel that a crisp uniform is the only appropriate stylish dress. Others want all leather.

Essentially, clustering clothing into groups based on their style, and having a Stylish person pick one of those groups on character creation would mean that the character will have a more distinct style, and also scale back the power of the trait a little bit. As it stands, within a few weeks you can be wearing enough jewelry to max out the trait without any concessions in terms of armor or encumbrance, and having a more limited set of stylish options would encourage harder choices, while allowing for personal expression and avoiding the assumption of cultural homogeneity in New England. Given the range of backgrounds available I'd be shocked if everyone had the same idea of what was stylish.

DeciusBrutus commented 8 months ago

If style is about individual preference, there will be a marked advantage to characters who prefer whichever style the endgame armors are.

As long as it is isn’t more powerful than optimist or excessively synergistic with it, there isn’t really a balance issue.

vivyir commented 8 months ago

This has been mentioned multiple times over the course of the thread but I just want to mention a few things again for new commenters.

If you're worried about this change making the Stylish trait easy to cheese then it's better to let you know it's already easy to cheese by wearing a truckload of jewellery (without any penalties, encumbrance or otherwise!).

Also, I feel as if a player who's spent time to work on their clothes/armour to make them fancy rather than just wear insane amounts of jewellery should be given the mood boost regardless of the kind of apparel it is. Plus, I'm sure the material cost, skill requirements, tool requirements and time needed to make plate mail fancy is different to say, some jeans. I imagine fancy platemail to be a piece of armour that's been smithed to make it both protective and also stylish!

As an example, the following piece of armour is blued, etched, and gilded, meaning it looks absolutely beautiful while also being super protective!

https://images.royalarmouries.org/the-most-remarkable-christmas-present-in-the-royal-armouries-collection/

Now that's just an example of what could be considered fancy armour; to simplify we could just make plate armour gildable with the "fancifying recipe", or something, at that point it's all just flavour, keep in mind all of them will ultimately just give you the Fancy tag, only differing part is the requirements.

I'm one to really care about the style of what all my characters wear and I dress them all up to be stylish in their own ways (could expand on this a lot if needed), so this trait has really annoyed me in the past because the clothes considered stylish by the trait feel arbitrary. So much so I've actually considered making a mod for every character just to give their clothes the tag!

I personally agree with everything outlined in the PR but I'd also like to add that I think clothes shouldn't "lose" their fancy tag once they're damaged, it should just not give you the mood boost (aka in their description it'd say This is stylish, but it's damaged and needs to be repaired in order to look good) until they've fully repaired it again, less tedium and gives the desired effect IMO!

Numbuh474 commented 8 months ago

I took a lot of the discussions here and wrote them into a design document. Poke it to see if it holds up.

kevingranade commented 7 months ago

Not happening, more likely is that we ditch stylish once and for all.