[1.3] Vegetable Garden Project [10/23/2022]

Started by dismar, November 18, 2017, 12:49:20 PM

Previous topic - Next topic

BTAxis

Hi dismar, I've been using Vegetable Gardern for a while now and while I think it's pretty good overall I do have a couple of criticisms about the recipes.

Firstly, the stir-fry and stew recipes completely obsolete the vanilla fine and lavish meals, because they use the exact same amount of raw resources per meal while being objectively better. I tweaked the XML to make the recipes require a higher cooking skill, but even so I just don't even consider using the vanilla meals anymore. Also, these meals don't have a stack limit set, so they stack up to 75.

Secondly (and mainly), silage. I fear silage is rather TOO good. I don't usually complain about things being "overpowered" (I use embrasures and won't apologize for it), but sheesh. Look at this comparison chart I made:



Among the vanilla food types, raw crops are the worst, as they should be. Simple meals are the best animal food for animals with long food gauges while hay is the best for animals with short food gauges and kibble is sort-of okay for animals that won't eat raw hay, and for getting rid of insect/human meat. Silage though? It crushes everything. It more than quadruples the nutrient value of its input ingredients and has more nutrients per stack than anything period.

My suggestion to you would be to firstly slash the nutrient value of silage from 0.2 to 0.1, and also make it a little harder to produce. For instance, you could require that it be made from hay and corn specifically, and use a bit more of the latter. Corn is harder to grow than other vegetables because it can't be grown in hydroponics, which seems fair to me.
"The megasloth ducked behind the nearest piece of cover"

theduck700

Hello everyone ! Speaking of silage I've noticed a small oversight in the defs (Defs\RecipeDefs\Recipes_Butcher.xml) : the jobs "make silage" and "make bulk silage" share the same defName causing the bulk silage job to overwrite the regular silage job. Because of that there is no option to make regular silage on the butcher table.

BTAxis

Oh also, maybe make coffee a drug? That way you can tell pawns to drink it every day.
"The megasloth ducked behind the nearest piece of cover"

dismar

Quote from: theduck700 on December 26, 2017, 01:42:36 PM
Hello everyone ! Speaking of silage I've noticed a small oversight in the defs (Defs\RecipeDefs\Recipes_Butcher.xml) : the jobs "make silage" and "make bulk silage" share the same defName causing the bulk silage job to overwrite the regular silage job. Because of that there is no option to make regular silage on the butcher table.

I'll make a note to look into Silage later this week.

Quote from: BTAxis on December 26, 2017, 07:11:42 PM
Oh also, maybe make coffee a drug? That way you can tell pawns to drink it every day.

I've already made a patching mod for this. I like the option of not having it in the drug policy as teetotaler's will not use it. I posted on steam about a day or two ago for final testing. And will be packed into the rest of the mods on the next update.

Slaugveng Moriar

I would suggest adding potato pancakes and dumplings

props

So I saw a mod that I cant for the life of me find again. It allowed grass to grow/spread in your growing zones underneath whatever crops you were growing to increase overall grazing area without having to huge dedicated grass only growing zones. Could be a nice feature for your mod. ;P Also thank you for the drug policy mod!

dismar

Quote from: props on December 29, 2017, 12:26:27 AM
So I saw a mod that I cant for the life of me find again. It allowed grass to grow/spread in your growing zones underneath whatever crops you were growing to increase overall grazing area without having to huge dedicated grass only growing zones. Could be a nice feature for your mod. ;P Also thank you for the drug policy mod!

Hmm I'll have to look for it and see and I should have the mods here and on steam up to date this weekend

dburgdorf

Dismar:

I've come across a minor error in your terrain patches.

You're currently using the following:


<Operation Class="PatchOperationSequence">
  <success>Always</success>
  <operations>
    <li Class="PatchOperationTest">
      <xpath>Defs/TerrainDef[defName = "Mud"]/affordances</xpath>
      <success>Invert</success>
    </li>
    <li Class="PatchOperationAdd">
      <xpath>Defs/TerrainDef[defName = "Mud"]</xpath>
      <value>
        <affordances />
      </value>
    </li>
    <li Class="PatchOperationAdd">
  <xpath>Defs/TerrainDef[defName = "Mud"]/affordances</xpath>
  <value>
      <li>Diggable</li>
  </value>
</li>
  </operations>
</Operation>


Unfortunately, if another mod has already added the <affordances> tag to the terrain, your operation sequence aborts after the first check, and the "Diggable" affordance is never actually added.

You should instead be using two distinct <Operation> tags:


<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="PatchOperationTest">
<xpath>*/TerrainDef[defName = "Mud"]/affordances</xpath>
<success>Invert</success>
</li>
<li Class="PatchOperationAdd">
<xpath>*/TerrainDef[defName = "Mud"]</xpath>
<value>
<affordances/>
</value>
</li>
</operations>
</Operation>

<Operation Class="PatchOperationAdd">
<xpath>*/TerrainDef[defName = "Mud"]/affordances</xpath>
<value>
<li>Diggable</li>
</value>
</Operation>


This way, the <affordance> tag will be added if necessary, and then, regardless of the (silent) success or failure of that check, the actual "Diggable" affordance will be added.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

dismar

O M G dburgdorf,

I remember changing that during the pre-18 testing because of a bug and thinking hope I don't forget to change it back during release! lol Thanks for reminding me of this!

neltnerb

Is the version of vegetable garden on the steam workshop the most recent?

I am wondering if olives are working as intended. They grow very slowly and the grow time doesn't change after the first harvest. Even with the speedup of only needing to grow the other 60% (forget exact number after harvest), it's still a long grow time for the yield.

But real olives grow slowly, so understood if intended. ;-)

CrimsonPhalanx

Is there a way to stop my colonist from eating certain food items for joy?
like I have a few hundred garden teas, sodas and syrups and they still decide to eat like 4 bowls of stew for fun.

neltnerb

I just wanted to post how incredibly impressed I am with the tileset for the ironwood flooring. I don't know how you went about making it both so continuous across tiles while also making it a seemingly non-tiling image!

Very, very cool! Love the attention to detail!

[attachment deleted by admin: too old]

dismar

Quote from: neltnerb on January 01, 2018, 10:57:24 PM
Is the version of vegetable garden on the steam workshop the most recent?

I am wondering if olives are working as intended. They grow very slowly and the grow time doesn't change after the first harvest. Even with the speedup of only needing to grow the other 60% (forget exact number after harvest), it's still a long grow time for the yield.

But real olives grow slowly, so understood if intended. ;-)

Yes steam is my testing ground new version is always  there :) And thanks I love the ironwood flooring.

Quote from: CrimsonPhalanx on January 02, 2018, 12:52:42 AM
Is there a way to stop my colonist from eating certain food items for joy?
like I have a few hundred garden teas, sodas and syrups and they still decide to eat like 4 bowls of stew for fun.

Yeah I'm testing for these issues currently.

neltnerb

I've been trying to figure this out for ages but can't quite figure it out.

Okay, so let's talk about fruit trees versus red lentils, olives, and cloudberries, and how I might correctly balance relative field sizes to get equal amounts of meat and veggies for stew.

The debug tables show the following:

Planted Cherry Tree - 18 days to grow, 0.0833 nut/day (harvesting doesn't kill)
Red Lentils - 3.75 days to grow, 0.0533 nut/day
Olives - 14 days to grow, 0.0179 nut/day (harvesting doesn't kill)
Cloudberries - 6.25 days to grow, 0.0320 nut/day

So at first glance it looks like the way to get the most nutrition per day is with the cherry tree and red lentils, with 5 lentil squares for every 3 cherry tree squares to get about the same nutrition per day from each field. Let's assume I have optimal colony management and all squares are always fully sowed and harvested.

Except that there is only one cherry tree per nine tiles of the field. I suspect that the nut/day for the trees is per plant rather than per tile, so that means the cherry tree moves from the best to the absolute worst, even worse than the olive trees by ~2x despite being harder to research.

Because the trees are not dense in the field they just do terribly on a field size basis. This doesn't seem right, especially since they required more research and also bill themselves as really high yields if you can handle the long grow time. It doesn't make a ton of sense to me that I can switch over to olives for a 2x speedup (while maintaining harvesting without destroying and long grow times to reduce work) or switch to the most valuable fruit in the game (cloudberries) with a 4x speedup versus an apple tree.

Am I making bad assumptions about the math? Or is the intent that we'll just make an orchard 9x larger than an equivalent other crop?

BTAxis

One consideration is that fruit offers more nutrition per stack than vegetables: 6 for fruit vs 3.75 for vegetables.
"The megasloth ducked behind the nearest piece of cover"