CleverRaven / Cataclysm-DDA

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

Growing mulberries from seed makes no sense #58299

Closed Kordian459 closed 1 year ago

Kordian459 commented 2 years ago

Describe the bug

Mulberry fruits can be picked from a tree. From such fruits you can craft "mulberry seeds" which is somehow ok IRL but makes no sense gamewise, since it would allow you to plant them and gather more mulberries after 91 in-game days, while IRL you need 7-8 years to grow a young mulberry tree able to produce berries.

While I know cdda farming has many compromises compared to real life and I'm totally ok with it, I find this one blatantly incorrect, which is like hoping to harvest more peaches sowing their pits and getting them in 91 days.

Steps to reproduce

  1. In summer, go to mulberry tree
  2. Harvest mulberries
  3. Craft mulberry seeds
  4. Till soil
  5. Plant mulberry seeds in tilled soil
  6. Wait 91 days
  7. Get more mulberries

Expected behavior

Mulberries grow to harvestable fruits because treated like plants instead of being properly considered as trees.

Screenshots

No response

Versions and configuration

n/a

Additional context

No response

ghost commented 2 years ago

I really like the rural survival and gardening/homesteading aspect of CDDA although it needs a big rework. But even for me, i'd rather have a less game-ified, realistic approach to planting and harvesting.

Perhaps most of my dreams will need to be in Innawoods instead of base CDDA. Too many to list, but a few thoughts. -Change crop growth times from all the same numbers (i think) to "average" IRL times for corresponding crops. -Crops growth speed varies with many factors like soil type, fertilization, watering/irrigation, weeding (maybe). -Add more crops

And... where are we at with the year cycle in CDDA? Am i right that it isn't even 365 days, but instead, 4 seasons of 30 or 60 days? I feel like a switch to an actual calendar with normal days, weeks, and months is silly not to have at this point.

fairyarmadillo commented 2 years ago

Seasons are 90+ days in Cataclysm, with the year working out to be 365 days. I don't think it accounts for leap years.

chrispikula commented 2 years ago

It's worse than that. image image

So you'd have to have a multiplier on growing length based on season length alteration.

Zireael07 commented 2 years ago

I believe growth code already takes into acccoun season length?

PatrikLundell commented 2 years ago

I agree it doesn't make sense to allow planting of tree seeds to allow you to harvest "crop" variants within a time shorter than quite a few years. I'm somewhat annoyed that you don't seem to be able to plant peanuts, as those ought to be plants that actually should fit within the normal crop cycle (as opposed to e.g. raspberries, which are bi-annual, with stems sprouting the first year and the flowers and berries appearing the second year).

Concerning the tangent, the wiki claims different plants have different maturation times, which seems to roughly match with what's seen when finding pre Cataclysm planted crops (shorter growth time crops mature faster than slower ones), as well as player planted ones. Fertilization is a thing in CDDA, although I've never used it (its effects are somewhat weird, I think).

fairyarmadillo commented 2 years ago

Fertilizer shortens time to harvest as a hardcoded effect, and all fertilizers are equal iirc. This isn't how they work IRL, but overhauling them would require tilled farm plots to store nutrient information and for crops to be able to suffer from the different kinds of deficiencies and to deplete or enrich the soil.

a-chancey commented 2 years ago

I'm somewhat annoyed that you don't seem to be able to plant peanuts

I’m torn. some sources say peanuts can grow in zone 6, but most of what I’m seeing classifies them as zone 8-12. Peanuts need 100 frost free days to mature, and a consistent soil temperature of 70-80F the entire time.

In order to grow peanuts in zones 6-7, you’ll likely need 4+ weeks of indoor growth before transplanting it outdoors, and then you need to monitor soil temps and possibly bring it back indoors if a temperature drop is expected.

If we had legitimate working greenhouses, or possibly hydroponics, I’d agree with being able to grow peanuts, but with our location setting? They’re not really realistic.

Would be a valid suggestion for Tropiclysm, I’d think.

As for season length affecting growth time, JSON_INFO says that it’s taken into the calculations, but I’m having trouble with GitHub search finding the code that handles it.

PatrikLundell commented 2 years ago

Peanuts: They currently grow in the wild in the game, which is why I said it would make sense to be able to cultivate them. If they didn't grow in the wild I wouldn't have been annoyed...

Working greenhouses and indoor growing (using UV lights, especially since we're now starting to get appliances) would be nice. Hydroponics might be a bit high tech for the average survivor, but nice nonetheless.

You might look at things like e.g. item.cpp, time_duration_item::get_plant_epoch(), which seems to scale growth time based on season length. I would guess there are other places where similar scaling is performed, and would expect calendar::season_radio() to be used. Note that I don't know the code, but just searched the source code for "growth" using Notepad++ to find likely matches, so I won't be able to be of assistance regarding how the code is used.

Zireael07 commented 2 years ago

Working greenhouses and indoor growing (using UV lights, especially since we're now starting to get appliances) would be nice. Hydroponics might be a bit high tech for the average survivor, but nice nonetheless.

Wow, I had no idea I needed that. IIRC we have an issue for hydroponics somewhere.

chrispikula commented 2 years ago

As for season length affecting growth time, JSON_INFO says that it’s taken into the calculations, but I’m having trouble with GitHub search finding the code that handles it.

Probably is in too large of a file, github doesn't search files that are larger than 384 KB, and we've got a few of those.

a-chancey commented 2 years ago

Peanuts: They currently grow in the wild in the game, which is why I said it would make sense to be able to cultivate them. If they didn't grow in the wild I wouldn't have been annoyed...

Man I'm torn about wild peanuts growing in New England. While the soil texture is largely right for it (sandy loam), the temperatures just are fairly low. The USDA says that peanuts can grow from zones 2-11, but 8-11 is really the recommended range for any significant yield.

Working greenhouses and indoor growing (using UV lights, especially since we're now starting to get appliances) would be nice. Hydroponics might be a bit high tech for the average survivor, but nice nonetheless.

Hydroponics stores exist IRL, so we could make a case for looting them, but I don't know enough about them, their setups or how they impact plant growth to consider implementing them.

You might look at things like e.g. item.cpp, time_duration_item::get_plant_epoch(), which seems to scale growth time based on season length. I would guess there are other places where similar scaling is performed, and would expect calendar::season_radio() to be used. Note that I don't know the code, but just searched the source code for "growth" using Notepad++ to find likely matches, so I won't be able to be of assistance regarding how the code is used.

Yeah I'm just on mobile so only have GitHub search handy. Internet has been out all day.

PatrikLundell commented 2 years ago

Concerning the tangent of cultivation of things other than mulberries:

I've just conducted an experiment by mounting a decent number of solar panels and a couple of storage batteries on the roof of a building with a pot farm in the basement and then connecting two space heaters to the solar farm. That raised the temperature sufficiently to plant seeds in the planters (although I had to drag some around to get closer to the heaters). Fast forwarding time by one season (from autumn) gave me seedlings, and by another day gave me harvestable rose hips (which have a growth time of 91 days) in the first month of winter (day 17, I think). I'm not sure why I ended up with just seedlings after a season, but it may be another instance of the bug that can cause corn in fields that should be long harvestable not to have matured fully until you leave the area and return. I opted to advance time by a day rather than try to move and return without advancing time.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.