Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Granularize curing recipies #34291

Merged
merged 4 commits into from
Oct 3, 2019
Merged

Granularize curing recipies #34291

merged 4 commits into from
Oct 3, 2019

Conversation

moxian
Copy link
Contributor

@moxian moxian commented Sep 28, 2019

Summary

SUMMARY: Balance "raw pelts/hides and their cured versions are now patch-sized"

Obsoletes #32671

Purpose of change

The problem this is trying to solve is that currently most animals drop small amounts of raw leather and fur (in the 10-20 range), which makes it challenging to amass 50 raw hides/pelts required for curing by the time they rot.
Rebalancing the sizes of raw and cured items to be the same allows you to always cure all the hides you harvest.

#32671 attempted to solve the same problem, but got abandoned, it contains some more background

Describe the solution

Raw leather/fur and their cured counterparts are now the size of leather/fur patch. The recipes are adjusted accordingly.
The choice of a size is rather arbitrary, but having it be same as a final product paves a way for a future
1 raw hide -> 1 cured hide -> 1 (small) tanning hide -> 1 (small) tanned hide -> 1 leather patch
recipe chain (not included in this PR).

The original motivation for skins to be as small as they are is in #27399 which was fixing #27390. Since then #32983 happened, and accidentally fixed the same problem, and now skin-bearing animals would always drop at least one hide (see changes to src/activity_handlers.cpp - the ceil now actually rounds up the floating point number, instead of rounding up an already rounded-down integer)

Current leather tech graph: https://user-images.githubusercontent.com/7831163/65825054-b0f40d00-e261-11e9-9ae4-bec17eccef3f.png
With the PR in place: https://user-images.githubusercontent.com/7831163/65831138-d30f7e80-e2a5-11e9-8a56-ec14b328f04c.png

Oh, and I also changed tanning_hide and tanned_pelts to not be lighter than either their components or the resulting tanned_* items for no reason

Describe alternatives you've considered

One could change more/less of the leather tree.

  • Changing only the size of cured_hide was the original implementation of the PR (see below); however anchoring more things to an existing granularity is cleaner.
  • One could change the size tanning_hide/tanned_hide to be the size of the patch as well. This messes up the clothing crafting recipes somewhat. It also would require much more button presses to unroll all the individual leather patches, which, unlike, crafting, cannot be done in batch currently.

Additional context

Old description #### Summary SUMMARY: Balance "cured hides and cured pelts are now 10x smaller"

Obsoletes #32671

Purpose of change

The problem this is trying to solve is that currently most animals drop small amounts of raw leather and fur (in the 10-20 range), which makes it challenging to amass 50 raw hides/pelts required for curing by the time they rot.
Making curing work in smaller batches allows for dramatical savings in the amount of material that goes to waste.

#32671 attempted to solve the same problem, but got abandoned, it contains some more background

Describe the solution

Creating cured_pelt and cured_hide now requires 10x less raw fur/leather (50 -> 5), 10x less salt (10 -> 1) and 10x less time (30m -> 3m)
The resulting cured_pelt and cured_hide items are 10x smaller, and one needs to use 10x of them to create tanning versions of them.

Current leather and fur crafting tree: https://user-images.githubusercontent.com/7831163/65809869-e7faed80-e191-11e9-9192-96bc695ff620.png
The bold red arrows are the problematic parts, that I'm trying to address.
Leather and fur crafting tree from the PR: https://user-images.githubusercontent.com/7831163/65810175-65286180-e196-11e9-9e37-8e263d2ac6ab.png

Describe alternatives you've considered

  • Also make tanning/tanned hides/pelts proportionally smaller. This would require more effort for no apparent gain. It's harder to scale those, since they need to deconstruct into a nice round number of leather/fur patches. Some (many?) clothing recipes make it easier to craft stuff from hides than from patches, and rebalancing that might be tricky.

  • I debated briefly if time required for curing scaling linearly with amount of material is realistic (or if it should be set to higher, but have a batch bonus instead), and turns out that it is. Curing is simply applying salt to the hide - there's no "waiting" involved, so the less patches you have to work with - the faster you'd be done.

  • Increase leather drops from wildlife 10x. I personally think that this would be good for the game, since right now hunting for leather is very hard and unsatisfying (and it's easier to just get it from zombies). But I understand that this change would probably never be accepted.

  • Make cured hides/pelts 50x smaller than they are currently, rather than 10x. This would push times required to ~40s territory, increase effective salt requirements 5x (not really a problem), and require having to do 2.5 max-capacity batch crafts of cured hides per tanned hide. I think the latter degrades the UX more than the saving of 4 raw pelts is worth.

Additional context

This change would make characters that have cured, but not-tanned hides stashed "lose" 90% of them (since tanning now requires 10x more). But I hope they'd be happy to pay that price for this change.

Creating cured_pelt and cured_hide now requires 10x less
raw fur/leather (50 -> 5), 10x less salt (10 -> 1) and
10x less time (30m -> 3m)
The resulting cured_pelt and cured_hide items are 10x
smaller, and one needs to use 10x of them to create
tanning versions of them.

The problem this is trying to solve is that currently
most animals drop small amounts of raw leather and fur
(in the 10-20 range), which makes it challenging to
amass 50 raw hides/pelts required for curing by the
time they rot.
Making curing work in smaller batches allows for dramatical
savings in the amount of material that goes to waste.
@anothersimulacrum
Copy link
Member

You mention it, but you should probably specifically say
Obsoletes #32671

@moxian
Copy link
Contributor Author

moxian commented Sep 28, 2019

I didn't know you could do that to PRs. Added to the description, thanks!

@anothersimulacrum
Copy link
Member

I don't believe it's automated, it's just a stronger reminder to the merger that this PR replaces that one, because they might not have checked if that PR was open when they merged this, and as such not closed it.

@ZhilkinSerg ZhilkinSerg added [JSON] Changes (can be) made in JSON Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Game: Balance Balancing of (existing) in-game features. Items / Item Actions / Item Qualities Items and how they work and interact labels Sep 28, 2019
@moxian
Copy link
Contributor Author

moxian commented Sep 28, 2019

@chaosvolt pointed me at MST take on this problem in chaosvolt/MST_Extra_Mod@22299e9 and we discussed it briefly.

Instead of reducing cured hide size 10x, MST introduces a new progression "10x skins-> 1x small cured pelt -> 1x small tanning pelt -> 1x small tanned pelt -> 1x leather patch". (same for fur)

MST approach pros:

  • more "realistic"; creating leather-patch "from scratch" instead of having to cut a big hide into small chunks looks very clean.
  • having new item, as opposed to modifying existing one allows it to work nicely as a mod.

MST approach cons:

  • in the worst case it wastes 9 skins, which feels very bad given that many small animals drop something like 18. This PR's max waste is 4, which doesn't feel that terrible.
  • it adds yet another item to the already complicated leather/fur crafting tree.

An interesting idea would be to upsize the skins 10x, and then apply MST approach of "1 skin = 1 leather patch". The "50 skins = 1 cured pelt" scaling was chosen in #27399 fairly arbitrarily anyway.
Technically, in a naive implementation this does not eliminate waste, but only moves it from crafting step towards butchering step. However this is invisible to the player and doesn't feel as bad.
But one could take it one step further, and round up the skin drops (if you are getting 14 skins now, you'd get 2 skins in that new system), or even randomize it (if you're getting 14 skins now, you get 1 skin in the new system guaranteed, and another one with 40% chance).

Let me know if this is something that would be preferable to the current PR.

@Davi-DeGanne
Copy link
Contributor

Well, the second solution is much more compatible with #33806; if this PR is merged as is, it will be almost certainly redone anyway as part of the tailoring overhaul, whereas if you do the 10 raw hides to 1 leather patch, it will probably stick around until someone feels like doing a more realistic approach (i.e. mammal_small_leather drops 1x small_raw_hide which tans to 1x leather patch, while mammal_leather drops 1x raw_hide which tans to 1x tanned hide, etc)

Currenlty skins are as small as they are as a result
of #27399 PR fixing #27390.

But the latter bug was since independently (accidentally) fixed
in #32983 and small animals (including wolves) now always drop
at least one pelt (regardless of how big the pelt item is).
So increasing the size of the pelts is no longer a problem.

The 1:1 skin->cured skin recipe feels very good to play with,
since you don't up in a situation where you for some reason
can't cure a pelt just because it's too small.

Both being the size of leather/fur patch paves the
path for
1 skin -> 1 cured skin -> 1 small tanning skin -> 1 leather patch
recipe chain, but that's a problem for another day.
@moxian
Copy link
Contributor Author

moxian commented Sep 29, 2019

The more I thought about it - the more I liked the idea of having pelts be patch-sized. Did, that, updated the description.

I'm now happy with the result, feel free to merge.

P.S.: turns out hide bag copies-from raw_leather, and it used to be a very smol item. Now it's a bit bigger but still not pre-granularized-hides big. This is unfortunate, of course, but the real problem is that nobody crafts hide bag anyway, since it'll just rot in a day.

@ZhilkinSerg ZhilkinSerg self-assigned this Oct 1, 2019
@Rivet-the-Zombie Rivet-the-Zombie merged commit f103add into CleverRaven:master Oct 3, 2019
@ZhilkinSerg ZhilkinSerg removed their assignment Oct 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Game: Balance Balancing of (existing) in-game features. Items / Item Actions / Item Qualities Items and how they work and interact [JSON] Changes (can be) made in JSON
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants