CleverRaven / Cataclysm-DDA

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

Meta: Crafting recipe acquisition too omniscient? (Limiting recipe list by encountered/known items) #14472

Closed SeanMirrsen closed 8 years ago

SeanMirrsen commented 8 years ago

This is really half suggestion, half issue. I wasn't sure whether to put it here or on the forums, but I have sort of an 'issue' with it, so issue it is. I tend to ramble as my thought train goes along, so in advance, please excuse the length.

I've been noticing it for some time, but the latest example occurred recently when I was looking through things I can craft while standing in a survivor's garage filled with tools, and noticed a "survivor utility belt", craftable with a lot of tools and a survivor belt. Okay, I thought, I definitely have a lot of tools here. But what is a survivor belt? I have a leather belt. As far as I know, I never encountered a "survivor belt", so it so happens that, in-character or out, I have no idea what a "survivor belt" is. But it seems that I know that if I combine it - and only it - with a handful of tools, I can make a tool belt.

Basically, the issue I'm having is that the crafting recipe list is full of recipes that require items that the character has not only not encountered yet ("I can make a sawn-off Saiga 12 if I had a Saiga 12"), but also may not know they even 'exist' (aforementioned survivor belt), or has no business having memorized because of lacking traits (fried human flesh) or wrong background (rebar or anything requiring forging tools when not a blacksmith, etc.). As such, playing the game seems to alternate between implying and requiring metaknowledge, which does a bad number on both immersion and the time it takes to look through the crafting window, which could conceivably be a bit daunting to first-time players as well.

In that context, I began to wonder whether anyone would support a move towards a more IC-knowledge-based system of acquiring - and showing - crafting recipes. (An IC-knowledge-based system of identifying items would be great too, but out of scope for this particular issue.) Something to make the list of recipes you need to sort through at any one time a tiny bit more manageable and sensible. As an option, of course.

It may sound like a little too large of a change, but effectively all it'd do is limit the recipes that are shown to you in the crafting screen, to a) recipes involving things your character has established knowledge about, based on the skills selected at character creation, and building from there by experience; and/or b) recipes involving items the character actually has on their person.

For instance, how does a character with zero skill in cooking even have any preexisting knowledge of how to make cheese fries, let alone boiled human stomachs? (Why would /anyone/ who isn't a cannibal start with knowledge on the latter, even?) You'd start with the barest minimum of knowledge of cookable ingredients, and then your recipe list would expand as you find those items in the world, or read books with the recipes (book recipes necessarily describing the components in at least some way, usually).

By necessity, I think the recipe lists could start having global filters. For hiding recipes that are too complex, are missing some (but not all) of the required tools, or components, and of course for showing only currently craftable recipes. Added to that would be a default behavior for hiding recipes the knowledge requirements for which have not been met, which could be set in the options menu separately. (as an immersion option, it wouldn't make sense to have it toggle-able in the crafting screen itself, I think)

The knowledge requirement would either be a separate requirement (a list of one or two "key" components) or identical to the crafting requirement, and, when met, would allow the recipe to appear in the crafting menu (provided it has no other requirements).

As to how said knowledge would be obtained... well, that's the hard part, as far as I can see. On par with checking for the availability of new recipes, perhaps. Firstly, a lot of items would be "known" at character creation. The character's traits, background, and skills, could all potentially contribute to that list, but a lot of things - water, salt, rocks, etc - would be "common knowledge". I think it's fair to limit the knowledge of zero-skill characters in this regard because, well, it makes sense that if you don't have a skill, you probably don't know much about the things used in it. Second, various recipe-containing books would, by necessity, describe the items being used. Learning a recipe from a book would automatically grant knowledge of the items in question, and could grant knowledge of random items from /other/ recipes if a recipe was not learned due to insufficient skill or a failed learning check. And finally, just going out and finding the new items would give you knowledge of them. This could take several forms, with varying degrees of implementation difficulty and usability.

The above would require a lot of work setting up the knowledge lists for different professions, traits, and skills. Probably on the item-side for traits/skills, and on the profession side for professions, since both professions and items can be added by users.

It'd obviously be a lot of work overall, content and coding and oh my, I don't need to be reminded of that. :P And though I could certainly volunteer myself for the task, in such a case I would rather want to know that it would be an at all desired direction to go in. So, thoughts and comments very much welcome. :)

(I would hope to eventually extend the "knowledge" system into a skill-based requirement for "knowing" an item, limiting both its usability and its description unless the character actually knows what a kinetic bullet puller is or a swage and die set is. Which could then lead into bottles and cans with deteriorated markings that you can't know the contents of either until they're opened, or, if resealable, unless you have the skill/knowledge to identify the contents.)

And, uh. Wall of text warning.

sparr commented 8 years ago

Just to clarify, are you aware of the feature where nearby books count as available to you?

SeanMirrsen commented 8 years ago

Yes, I'm aware. I have all of two books nearby or on my person, Under the Hood and 101 Crafts For Beginners. I still know how to make reinforced solar panels, boiled human stomachs, goo canisters, ball bearings, diamond sword bayonets, a whole mess of blacksmithing-requiring items, and the survivor utility belt, none of which are in those books (or are dependent on those books). I do start to wonder how is blacksmithing not a skill, by the way.

SeanMirrsen commented 8 years ago

And now I've thought of that feature when I was typing up the post for a bugged disassembly recipe.

How feasible would it be to have particular items provide their own recipes to the player, the same way books do? I.e. You have all kinds of items that are either mountable on vehicles, or convertible, or otherwise are the "sole star" of their particular recipes. Taking a specific example, what if the "sawn-off Saiga-12" recipe would not be autolearned, and would not be learned at all unless performed several times, but the Saiga-12 shotgun itself would, using the current book-recipe-transmission mechanics, provide the player with the recipe for a sawn-off Saiga-12 shotgun? Same with other, similar items. At least as a start in that direction.

Coolthulhu commented 8 years ago

Taking a specific example, what if the "sawn-off Saiga-12" recipe would not be autolearned, and would not be learned at all unless performed several times, but the Saiga-12 shotgun itself would, using the current book-recipe-transmission mechanics, provide the player with the recipe for a sawn-off Saiga-12 shotgun?

But then you wouldn't know you can get a sawn-off shotgun until you opened a crafting menu near a shotgun. And for longer "chain" recipes, you would need to craft each item in the chain to know that there are further results.

And if you learn the recipe from the item anyway, it would mean that it would only hide the recipe from the player, making it more annoying to plan ahead.

Crafting spoilers are a minor issue, having to memorize recipes outside the game would be a bigger one.

If the point is to unclutter the crafting menu, it would probably be better to introduce some way of sorting/categorizing those item-specific recipes.

SeanMirrsen commented 8 years ago

I'd consider "not knowing you can get a sawn-off shotgun until you open the menu near a shotgun" to be a reasonable tradeoff. You don't really need to memorize this stuff, and having a shotgun in the first place as a prerequisite to sawing it off should be fairly self-evident.

And are there many "item chains" that aren't book-learned?

"Planning ahead" is why I've titled the issue with "Meta". It's a little bit of metagaming which I find pervasive in most roguelikes, and which I think could be reasonably - and optionally - done away with here for the sake of immersion.

And yes, some form of recipe filtering would have to be a part of the system in the first place, since it'd be what would power the whole knowledge-restriction thing.

Coolthulhu commented 8 years ago

You don't really need to memorize this stuff, and having a shotgun in the first place as a prerequisite to sawing it off should be fairly self-evident.

But if you have 5 different shotguns and can only saw one off, you shouldn't be forced to check each time you find a new one if it can be cut down like that.

Same for a lot of clothing. You shouldn't need to open a crafting menu near leather gloves to learn that they can be cut down to fingerless gloves, that should be obvious from the fact that fingerless gloves exist.

And are there many "item chains" that aren't book-learned?

Mostly clothing - cutting down sleeves, adding extra parts etc. Some cooking stuff, especially soups (which require broth).

"Planning ahead" is why I've titled the issue with "Meta". It's a little bit of metagaming which I find pervasive in most roguelikes, and which I think could be reasonably - and optionally - done away with here for the sake of immersion.

But then you get a ton of players who never learn "secrets" like being able to craft goo canisters or soup and more experienced players who have to look up jsons to check if the recipe requires circuit boards or processor boards, even though they crafted that recipe on earlier characters and it isn't any kind of a secret to them.

Zireael07 commented 8 years ago

Survivor utility belt is auto-learned though, it's tailoring 2 or 3, at which point you can't make a survivor belt, so one point of the OP still stands.

mugling commented 8 years ago

Appears stalled, probably tl;dr is contributory to lack of responses. If OP wants to pursue further reopening with a summary introduction would be helpful.