CleverRaven / Cataclysm-DDA

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

Add styles to clothing. #71097

Closed Numbuh474 closed 7 months ago

Numbuh474 commented 8 months ago

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

70874, #70716 and #67869 indicate a general dissatisfaction with what the game considers "stylish" and an open design space for a new approach to the concept.

Solution you would like.

All new style

Five categories of style will be added: cool, smart, refined, cute, and tough. All wearable items in the game can contribute to one or more of these categories, usually one, occasionally two, and rarely three or more.

Cool describes clothing that is, in general, well-coordinated and what most civilians would consider fashionable. This would be what most pre-Cataclysm streetwear, athletic gear, and a lot of melee weapons fall under.

Smart describes clothing that is official, futuristic, or high-tech. This would be most uniforms and office wear as well as pre-cataclysm gadgets.

Refined describes high fashion and luxury. Items formerly considered fancy would fall under this category, as well as clothing and weapons that demonstrate artisanship or traditional wealth.

Cute describes clothing that places emphasis on form over utility. This would include most costumes, youthful clothing, sensual or provocative outfits, and colorful accessories.

Tough describes intimidating outfits and things that would mark a person as a seasoned Cataclysm survivor. Leathers, padded armor, kevlar plates, big guns, and most things considered sturdy or dangerous would fall under this category.

Traits

Clothing can have one or more traits which specify a particular style or look. For instance, police and military gear may be tagged as modern armor while plate mail may be tagged as historic European. Clothing's style contribution should be based on the traits it is associated with such that a trait is "active" once you're wearing enough items that contribute to it. Traits can also inherit from other traits, granting additional effects.

For instance, a cheerleader outfit may have the cheer trait which inherits from the athletic trait but with a -3 point modifier. Athletic grants one point of cool, while cheer provides three points of cute and costs one point of tough. Let's say that in order to activate a trait you need at least five points in its category and getting ten points in the category doubles its effect. A cheerleader top and skirt each could provide 3 cheer. This would mean either item does not individually grant the bonus, but together they will grant 6 points of cheer. They will also grant 3 points of athletic, which is 3 less than 6 due to the point modifier. If a character also wanted to get the athletic bonus they could add a pair of running shoes at 2 athletic for a total of 6 cheer and 5 athletic. Their style would then be rated as 1 cool, 3 cute, and -1 tough. The character may be able to get the athletic bonus again by wearing additional sportswear and accessories and wielding a sports-related weapon to reach a final rating of 2 cool, 3 cute and -1 tough.

A translation of these numbers for each category would look something like this:

Certain traits would be able to grant more or fewer points per category. Relatively common traits like athletic would only grant a few whereas rare, hard to get, or particularly bold traits could grant more.

Stylish

Let's say all characters enjoy having a style of at least 3 (+5 mood). For characters with the stylish trait this threshold goes up to 4 and gets increasing mood bonuses (+2, capped at +10) for each additional level of style. In order to calculate overall rating add all the nonzero contributions, add one for each category that contributed to the score, then divide by the number of contributing categories rounding up. For the cheerleader example above the final rating would be 1 cool + 3 cute +2 / 2 categories = 3 (stylish for most people). If they opted for the double athletic bonus it would be 2 cool + 3 cute + 2 / 2 categories = 4 (stylish for the stylish). This scoring incentivizes getting high ratings in a few categories in order to support a cohesive style. Getting a 1 in every category only provides 2 style (no bonus) but getting a 5 in one category provides 6 style (+9 mood). The trait inheritance system should be balanced around top level shared traits providing a small bonus to one category and its inherited subtraits granting bonuses and maluses to other categories. "Higher tier" traits can provide more focused bonuses to a single category which allows for bigger numbers in fewer categories. In practice most usable items and equipment will provide some bonus to cool, smart and tough at different stages of the game. Staying purely within a focused category like refined should be difficult to do but worth a lot of style. The intended tradeoff is that a lategame character will settle for being refined and smart or refined and tough in the field and maybe swap into their most refined outfit for a mood bonus in safe conditions.

Transient bonuses and modifiers

The current condition of clothing can also contribute to its scoring. Damage or filth may impose penalties against all categories, or just categories that put emphasis on order and presentation such as smart, refined and cute. Such scores could be implemented as direct penalties against clothing's trait contributions or its final category bonus. Modifying the trait bonuses it provides seems to be a reasonable tradeoff, which could be a stacking malus depending on levels of damage/filth. If limited to the 3 mentioned categories above this could be used to help balance low style clothing such that a filthy and damaged survivor suit still looks tough.

Clothing could also be customized at high skill values to improve its contribution to its traits or add entirely new ones. This sort of modification would be most easily done by adding item variants that they can be transformed into but this would require a lot of new clothing entries. The work would likely be similar in scope to the metal grading used for low/medium/high steels. Another option would be to add specific bonuses as additional transient traits an item can possess, but this would require further integration with the item handling code and would allow for less flexibility on what effects it can impart on the items but make up for it in greater compatibility between additional traits and items.

Implementation

Phase 0: Adding the JSON tags and appropriate code for the new style based bonus.

Phase 1: Once implemented these tags can be added to clothing incrementally, starting with the items currently considered "fancy" and "very fancy" added to the fancy (+1 refined) trait under appropriate subtraits such as bling for jewelry, dapper for suits, and elegant for gowns.

Phase 2: After the fancy and super fancy flags become redundant the existing library of clothing can be grouped into a set of broad categories like casual, athletic, tactical, costume, armored, and survivor.

Phase 3: Set bonuses can be made for clothing that goes with a specific theme such as the cheer example above, historic Japanese, HUB 01, cannibal, and so on.

Describe alternatives you have considered.

The mutation and clothing filth and damage systems can contribute to this, providing set bonuses and maluses for certain traits or reducing style score. NPCs can also interact with this system to provide persuasion and intimidation bonuses for certain styles. Player characters and NPCs could even have preferred styles which change over time depending on what they tend to wear.

Additional context

No response

DeciusBrutus commented 8 months ago

I would suggest a provision where damaged articles lose some of their fashion.

There could be a set of “gilded mild steel chain shirt” recipes to make armor Baroque, but it also would make sense to have “gild metal armor” and “encrust with gemstone” tool interaction that applies a “gilded” or “emerald encrusted” modifier to a metal object that makes it Baroque and fragile until damaged.

NPC interaction changes should be possible but are a long way off.

Numbuh474 commented 8 months ago

Added some notes on transient bonuses and modifiers.

PGR-14 commented 8 months ago

should the stuff you're wearing change dialogue chance? Tough would go well w/ Intimidation/protection, Cute w/ a persuasion bonus, Cool... IDK, & Smart & Refined w/ an overall persuasion bonus (Bit more w/ refined)

Also, should some clothes go in multiple categories? A leather jacket could be tough, but could also be cool or smart.

XygenSS commented 8 months ago

All styles and all social norms are arbitrary and it is just as wrong to enforce five different types of style as it is to enforce just one. Who says I can't feel fancy wearing a tuxedo, a plate carrier and a pair of greek bronze greaves. The world went to shit, everyone's dead, the only opinion that truly matters now is yours.

Ultimately the STYLISH trait is supposed to represent the player character feeling good about themselves and how they look and getting a mood bonus from it. What does and does not count as being stylish is thus entirely arbitrary and completely left up to the imaginations and preferences of the player character (and thus the player in real life).

I sincerely think the current iteration and this proposed iteration of STYLISH only benefits minmaxxers and no one else. People who'd like to RP and be cool in the cataclysm are told by the game on what is cool and what is not, and will have to engage in some arbitrary mechanic that gamifies fashion. Immersion-breaking. Metagamers will obviously (ab)use the trait to the fullest extent for free morale, which isn't a bad thing per se, but if the trait otherwise benefits no one else, who is it really for?

If being stylish in a certain way is instead supposed to boost social aspects in interacting with other NPCs it would make a lot more sense, but we don't want to force players to have to carry a full set of clothes to change into for a social check whenever they visit the Refugee Center or something.

Numbuh474 commented 8 months ago

should the stuff you're wearing change dialogue chance?

I think it would be an interesting addition to/modifier of the current intimidation and ugliness scores that weapons and mutations grant. Someone who looks capable or particularly coordinated in the end times is probably someone who knows what they're doing and would probably be more charismatic as a result.

should some clothes go in multiple categories? A leather jacket could be tough, but could also be cool or smart.

This was the general idea, but I wanted to encourage seeking out outfits that generally worked well together and using multiple items with the same theme instead of a handful of unrelated things because they give more of a stat. This leads into the next comment:

it is just as wrong to enforce five different types of style as it is to enforce just one. Who says I can't feel fancy wearing a tuxedo, a plate carrier and a pair of greek bronze greaves.

The current definition of Stylish is "Your morale is improved by wearing fashionable and attractive clothing." I wrote this proposal reading "fashionable" to mean "coordinated and high-effort outfits" which allows for more flexibility than the current definition of "tasteful eveningwear" but does mean that the sort of self-defined value you're suggesting is difficult to describe in game terms. Arguably the reward for having what you consider a fashionable and functional outfit should be the outfit itself without gamifying its aesthetics. The concept of a stylish trait being tied to game stats kind of inherently implies that there needs to be "good" and "bad" style, otherwise the numbers it provides don't really mean anything. If it's just a general buff based on what the player wants to wear and any outfit could grant it, how is that any different from just adding a line of text to the mood panel that says "you think you look pretty good" for everyone?

I sincerely think the current iteration and this proposed iteration of STYLISH only benefits minmaxxers and no one else.

I don't think this is necessarily bad considering the traits in general. Ever since point modifiers were removed there isn't a real reason to minmax, and sticking to the old point system is going to get far more minmax-y as game mechanics change without updating them.

People who'd like to RP and be cool in the cataclysm are told by the game on what is cool and what is not

I'd argue that people who disagree on what the game considers stylish can just ignore the mechanic entirely. Actually, players should be thinking that way by default and only really need to engage with the stylish perk as a sort of optional difficulty modifier. Personally I don't think gamified fashion is immersion breaking because that's literally the fashion industry and the stylish perk is supposed to represent people who care about that sort of external perception.

If being stylish in a certain way is instead supposed to boost social aspects in interacting with other NPCs it would make a lot more sense, but we don't want to force players to have to carry a full set of clothes to change into for a social check whenever they visit the Refugee Center or something.

This is against my usual stance on realism vs tedium in CDDA, but it is far more realistic that a person who takes the effort to wear something society considers good-looking is going to have an easier time schmoozing people. I do recognize the incentive to "optimize the fun" out of the mechanic but that could be said about many, many other systems in this game. The mere fact that social checks use random numbers right now means you can save scum until you get the results you want if you really cared about playing optimally.

Numbuh474 commented 8 months ago

I should also mention that this is proposal is given as an alternative to #70874, which addresses the issues with fancy in a different way.

This document is more aligned with how I interpreted #67869's take on the idea.

XygenSS commented 8 months ago

The real solution, the one people are afraid of taking for some reason - axe Stylish entirely.

There is no way of justifying any style.

ashGlaw commented 8 months ago

I really like this proposal. It takes us closer to having NPC's react to the way you're attired, would be very good for verisimilitude. Love the idea of having more styles than just formal.

PGR-14 commented 8 months ago

I really like this proposal. It takes us closer to having NPC's react to the way you're attired, would be very good for verisimilitude. Love the idea of having more styles than just formal.

For instance, the Exodii would be surprised by Hub 01 gear & vice versa. There could be tons of different things you could do w/ it. Edit: Fixed Vise to Vice

DeciusBrutus commented 8 months ago

All styles and all social norms are arbitrary and it is just as wrong to enforce five different types of style as it is to enforce just one. Who says I can't feel fancy wearing a tuxedo, a plate carrier and a pair of greek bronze greaves. The world went to shit, everyone's dead, the only opinion that truly matters now is yours.

I feel like implementing a variety of traits, some of which get benefits from particular styles or lack thereof, is a better solution. “Style noncompliant” as a trait that gets a moral benefit from nothing coordinating, not even with the “punk” aesthetic, would be a perfectly reasonable trait to have.

Alternatively, leaning into the fantasy elements, a trait or mod could cause certain styles to deliver implausible benefits, like bonus dodge chance, armor, crafting speed, temperature control, or really any enchantment based on how fashionable and consistent an outfit a character was wearing. That would enable the case where we could have someone in a top hat, monocole, tuxedo, and dress cane surviving long enough to be interesting.

kevingranade commented 7 months ago

I'm not the slightest bit interested in anything remotely like this being added to the game. If anything, this is more votes to remove the stylish trait entirely.