CleverRaven / Cataclysm-DDA

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

Research system as a solution in between book learning and autolearning recipes. #12657

Open kevingranade opened 9 years ago

kevingranade commented 9 years ago

I had a thought while looking at #12656. Currently the options for learning recipes are either to meet skill requirements and learn them from a book, or meet their skill requirements at all, at which point you "figure it out". It would be nice to have an in-between where a skill threshold, conversation, or reading from a book unlocks the general idea of a recipe, and then the survivor can spend time researching it to eventually learn to make an item. For example it's relatively common knowledge that black powder is made of charcoal, saltpeter, and sulfur, but I would guess it would take me days if not weeks of trial-and-error go get from that point to a workable black powder, assuming my first guess of "grind finely and mix together" would even work. Now I'm no chemist, so perhaps knowing enough chemistry would make the needed ratios and processes relatively obvious, but even then I would guess it would take some trial-and-error to get something that will work.

More concretely, what I'm proposing is a new thing a player can learn, which acts somewhat like a recipe in that it has skill, equipment, and ingredient requirements and if successful will produce the targeted item. The difference is that it requires a lot more raw materials than a corresponding recipe, and it consumes a highly variable amount of them with each attempt, and it has a much lower chance of success. Success can also either fully unlock the recipe in question, or somehow move the player closer to doing so.

Implementation wise, this could just be a flag on an existing recipe that adjusts effective requirements and the checks made to craft things, there could be multiple tiers to progress though where success rates go up, times go down, and yields improve. It could even start applying qualities at some point that make the product better (or worse).

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

chaosvolt commented 9 years ago

Yay, I'm useful. o3o

And not entirely sure how to code such things, but I like the idea of the basics being common knowledge, with the specifics requiring experimentation.

kevingranade commented 9 years ago

This would also smooth out the book-learning process, we'd probably want to adjust book learning recipes to give you the general outline of their recipes quite quickly, and from that point you can study the recipe further to improve your understanding of it, or just dive in and start tinkering with the raw materials. Alternately, there might be books that only give you the most basic understanding of the recipe, and you have to proceed to experimentation to figure out the rest, similarly a NPC might tell you the outline of a recipe as a reward or similar.

chaosvolt commented 9 years ago

Hmm, seems logical. Being able to commit !!SCIENCE!! to puzzle out the specifics of a recipe would also mesh well with that "chemistry as a skill" idea mentioned on the forums, by giving some more accessible options for building it up.

drbig commented 9 years ago

I like the idea.

In my current less-cheat-y play I (grind-)read the books only for skill gains. Learn recipes by doing, with the book nearby. I think this is both more fun and more realistic. The 'figure it out science way' scheme fits perfectly here.

I guess most work here would involve balancing the recipes. I'd say simple and/or low-tech stuff should be at the 'you read it - you know it', whereas the complex and/or high-end stuff should be 'even with the best book you'll have to experimentally figure it out' (it's not like the survivor has commercial grade lab/workshop).

wmafie commented 9 years ago

Disclaimer: Massive wall of text, TL;DR is provided at the end.

I like this idea. Certain "fields" weigh requirements (skills, stats, equipment, raw materials, etc.) differently. This in turn can lead to differences in "thresholds" of learning and "thresholds" of improvement. i.e Some recipes will be easy to learn, but hard to master while some recipes are just hard to learn, but once learnt, already mastered.

For example, baking vs cooking (as in, cooking, simply). The former requires precise ingredients, instruments, steps, etc. while for the latter, it doesn't (most of the time) hurt to actually accidentally double the amount of meat you put in. In then end, if you consumed too much material, you still cooked the dish, though somewhat less tasty than expected. Perhaps this can be represented by the player having learnt the recipe, albeit at a severely "downgraded research" level (as opposed to having learnt the recipe and improving upon it later on). This then results in:

1) Some recipes ( not just baking, but anything similar, like electronics) require precise amounts of material used to learn the recipe. If you fail to use the correct amount, it's all just a mess with almost no salvageable value. 2) Some recipes can be learnt even the optimal amount of material used was far from reached. Example would be, cooking, or .. molotov cocktal(?). Like, how much alcohol is needed to burn or cause big enough of an explosion for it to start? Will too little alcohol result in small, short burns? Will too much alcohol result in crazy explosions and fire? This then can be represented as "inefficient molotov cocktail", or however the "research level" you mentioned earlier will be implemented.

On the other hand, we have, in the science fields, reading materials ranging from books, textbooks, notes, and lab reports. Surely, the method of learning from these books themselves are different to each other. I would imagine learning from books and textbooks to be really hard and would require some "trial and error". On the other hand, notes and lab reports, can be really precise, especially the latter. This then translates to:

1) Learning from books and textbooks to be material intensive. 2) Learning from notes and lab reports not to be material intensive, but requires precision (skills, stats, apparatus and equipments?). After all, in lab reports or notes, very precise amount of ingredients are reported, hence any reader would automatically know how much should they use to be successful (though slight tweaking may result in an upgrade?)

In addition to that, I also mentioned "threshold" for research upgrades. Like I mentioned, some activities require precise amount of materials, while some not so.

1)To "upgrade" some recipes, it may be important to tweak the material amount. 2) To "upgrade" some other recipes, it may require NEW materials, for example in electronics. 3) To "upgrade" certain recipes, it is enough to just practice on them. I am no expert, but fields such as smithing, etc requires skilful timings in cooling, heating, etc (or whatever they are called). *Recipes can have a combination of above properties in order to upgrade. The property, however will decide the "direction" of the improvement.

TL;DR: Different recipes (inter-field and intra-field) should have different properties to learn and upgrade. Some, easy to learn, hard to upgrade. Some, hard to learn, easy to upgrade, etc.

I know all of these are heavily complex but just imagine the possible options that will be available to us if these features are properly represented.

Then again, I leave it to the apt developers to decide what's best.

Also, I may have talked crap again. What is life? sigh

Cheers!

wmafie commented 9 years ago

Addition: As a result, we can have the same recipe, but two different "books" to learn it from. For example, the current issue on blackpowder, etc. A book or textbook is really hard to learn from, but if it is a survivor's notes, or industrial report, then it will be easier to learn?

graysage1 commented 9 years ago

I like the concept.

I only wonder how will this affect the gameplay. Will researching be passively done in the background? Will it require me doing keyboard input and then waiting while looking at the screen for updates? I'm not a huge fan of the second option because it's tedious, while the first one may seem unrealistic to people (research gets magically done while I am in-game doing something else, like chasing Zeds?).

A nice compromise may be to get an NPC to research the recipe for you. That way it will be both realistic and non-grindy. That way I can do fun stuff in the game while research is indeed being done in the background, but there is a reasonable explanation for how this happens, because I have an NPC doing it for me (and probably getting compensated for doing so).

DavidKeaton commented 9 years ago

Wonder if tying it all into the end product would be neat. as you get better that item's "quality" improves up to it's base values.

kevingranade commented 9 years ago

Until you've 'perfected' the recipe, it would be more or less the same as normal crafting, except your failure rate would be really high. We'd almost certainly add a 'try until success' option you can trigger when you want to spend some time on it, and you'd be able to cancel out of that as usual.

chaosvolt commented 9 years ago

This bodes well. owo

EDIT: Though in the case of black powder, I'm still in favor of making it autolearned at like 7 or so. :V

Zireael07 commented 9 years ago

I love the concept!!!

DavidKeaton commented 9 years ago

this would also be a way to implement a "dangerous failure", like with making explosives. Should make crafting mininukes a hazmat suit experience. :-P

ghost commented 9 years ago

great idea and i like the "dangerous failure" idea too :)

eliotcougar commented 9 years ago

Right now it feels too easy on default settings... You go to a school and a couple of libraries, and then you try to overcome boredom from several "reading-eating-sleeping" cycles until you increase your skills... After that you don't have to learn recipes if you never going to craft anything far from your base (or mobile base)... Boring... Maybe there should be three types of books:

  1. Textbooks for increasing skills that contain only several recipes (as learning examples)... For example, a book about medieval metal-smithing may contain information on how people operate furnaces, how to smelt ore and maintain temperature, but don't go too deep into how to make a good sword exactly... Learning unlocks only basic recipes, makeshift variants of good items made from scrap and duct tape...
  2. Recipe books, Direct guidelines, Encyclopedias. Should probably be very rare and valuable. Cataclysm is a survival game after all... They shouldn't improve your skill, or improve it from 0 to 3 at most, but contain many recipes... These recipes should be higher tier. As a side effect: in order to understand recipes in a recipe book you'll need to educate yourself using another book from the first category.
  3. Individual recipes, including ones from the books of category 1 and 2. Their availability may depend on skill requirements for the recipe. Could be "craftable" by the "research" mechanics if it will be implemented.

To make a "research" system someone will have to arrange all the items in the game into some sort of research tree, with prerequisites for every recipe (skill levels, recipes you should already know and items you'll have to have available to experiment with), and optional prerequisites for improving the recipe (less time, less wasting of materials)... For example, learning to make a zweihander from scrap would require some skill in fabrication, aforementioned book about metalsmithing, all the tools required in zweihander recipe, knowledge of blade and short sword recipes, 100 scrap metal to experiment with, tablet PC with batteries or something to "write on" and "write with" to make notes and produce your own "lab-notes"... I can't imagine anyone doing all this...

DavidKeaton commented 9 years ago

in regards to the zweihander idea, perhaps other skills could be a "secondary" factor? like melee and cutting?

eliotcougar commented 9 years ago

@DavidKeaton Of course... It just illustrates how huge and complex this task would be... The game has too many items... Right now, AFAIK, the primary development goes into 3D maps, so let's do one thing at a time, and do it good...

DavidKeaton commented 9 years ago

I agree. 3D work has come along splendidly.

eliotcougar commented 9 years ago

I've just looked into items and recipes .jsons, and I think that Research system may work with the current Crafting system. But we'll probably have to make one big reorganization: change "recipe json contains info about books it can be found in" to more logical "book json contains recipes it contains"... Then we could just add new item category for "lab-notes" – craftable books that contain individual recipes and corresponding crafting(research) recipes with the existing structure of skill and item requirements... At some point it would partially replace the dumb "autolearning"...

kevingranade commented 9 years ago

Good point, if there is additional data (to what level the recipe is taught), then that needs to go on the book side.

Michael1993 commented 2 years ago

Re-reading what people wrote up there, this idea is apparently very obvious. Nevertheless, my original message:

My opinion here:

This issue seems to have a bit of an overlap with the proficiency system. For example if I 'know' a recipe but lack the proficiencies required, then it'll take me that much longer to craft that recipe. One of the reasons it takes me longer is because I need to research how to do it properly (e.g.: look at the book I'm doing it from). In general I think more recipes should be gated behind the player knowing certain proficiencies (e.g.: you can't craft a Zweihänder if you don't know at least Blacksmithing or even Bladesmithing).

This is not quite what you are describing here, but I think Proficiencies could be used to model what you want. To demonstrate, let's say my player has an idea that they want to blow stuff up with black powder. They have a book that mentions it but doesn't go into detail. I'd go into the craft menu, go to Practice and then craft Black Powder research or something similar. This wouldn't give me black powder, but after a while it would give me an "invisible" Proficiency that black powder is gated behind. Does that make sense?

I-am-Erk commented 1 year ago

This is something we still have need for and all the implementations for. You'd basically want a recipe that is autolearned, but produces not the final item, but a prototype. The prototype could be a totally separate item definition or (ideally) a fault added to the created item, with random traits. Creating a prototype would also teach you the "final" recipe.

A superior version would be that creating the prototype gives you experience towards the final recipe, but you have to wear/use the prototype a bit to gain further experience before fully unlocking the final recipe. This could be done, basically as Michael says above, by making a hidden proficiency that governs xp to the final recipe.

A great way to test this out would be with survivor armour, so I am gonna ping the current champion of survivor armour @bombasticSlacks on this.

bombasticSlacks commented 1 year ago

I think most the survivor armor is still on the chopping block and the rest of it has basically become padded unitards 😆

I think this is a good idea and some lengthier experimentation armor could be really cool, but the current armor has really been pulled back and is about side grades so a new system here would probably have to lean on incorporating the strengths of multiple styles of armor to make powerful apocalypse gear.

Like pocket heavy armor inspired by street clothes, heavier gear inspired by military grade combat gear. Some of those fancy plate mail suits that have been discussed that use modern synthetics would also fit here. Armored Enviro Suits etc.

Basically without this system most of the survivor designs are just really well designed fabric armors. So with the addition of iteration maybe we could claw back some of those fancy all in one designs.