[Mod Request] Tree Respawning

Started by jamaicancastle, November 21, 2017, 04:51:45 AM

Previous topic - Next topic

jamaicancastle

I'm having trouble with the tropical swamp biome and was hoping a kind modder could help me out. Basically, my problem has to do with how plants (especially trees) respawn when there are very few open spaces (fertile tiles without plants already on them) in the map. I like how it affects cover and combat, I don't mind the movement speed penalties, and I think it has a good balance when encroaching on fields, but when trying to build anything it's just cripplingly terrible. No matter how quickly the pawns clear trees, they'll pop back up again two, three, four times while constructing even simple buildings like floor tiles. Any time your pawn leaves to tend to their needs - new tree. Any time they bring up more building supplies - new tree. And they all have to be cut down again from scratch. This is the single most pointlessly frustrating thing Rimworld has yet done to me and I think we can all agree that's a high bar.

So. What I don't want is to reduce the difficulty of clearly land in the first place. What I do want is to make it possible to actually keep it clear long enough to get some building done, provided that building is done promptly. I have three basic approaches, from most to least complex (as I understand modding, which is not that great or I'd do it myself).

1) Add a cooldown time on regrowing on the same tile. When a plant is cut down/dies/burns up on a tile, make it unable to receive a new (wild) plant for the next 3/6/12/however many hours. Even if it's short, this will at least give a small grace period that should help prevent getting stuck in an endless loop of chopping trees in the same tile. I'd rate this one more difficult because of the requirement that it keep track of recently cleared tiles, though.

2) Allow plants to require a more work to clear when they're more grown, so that freshly sprouted saplings don't require as much chopping down as a whole oak tree. This not only feels intuitive, it would preserve the feeling of the jungle constantly encroaching without making clearing the land absolutely pointless (since your constructors would only have to do the lesser clear work of the replants and not the full clear work). The difference in work required could be smoothly scaled by the growth %, or it could just have a "young"/"mature" breakpoint (I would suggest 40%, the point where trees can be chopped for wood) with fixed values.

Or 3) prevent new plants from sprouting on tiles in darkness, or tiles under a roof. In theory this should be the simplest change, and it makes some sense that since plants can't grow there, they shouldn't be able to sprout there either.

If anyone wants to take a stab at any of these ideas, or knows of a mod that does something like this already, I'd be much obliged.

kaptain_kavern

I've made a mod with even harder trees regrowing time.

My observations:
- You can just build cheap floor - In my mod there is even a modded floor for just this purpose - to prevent plants from regrowing.
- As you said, plants do no grow under roofs
- With Colony Manager mod, you can have different funtions to help, especially the "keep zone cleared from vegetation" tool

jamaicancastle

Quote from: kaptain_kavern on November 21, 2017, 10:19:58 AM
- As you said, plants do no grow under roofs
They don't grow, but they do sprout. Their not growing is no help when a newly made 5% grown tree still takes the same 800 work to cut down. Keeping land clear is pretty much a non-starter for much the same reason.

kaptain_kavern

#3
I recall seeing lots of replies from you in the help section, so I'm sure you can read XML code.

This is how I deal with the problem with my modded Tropical Rainforest mod - Not updated to b18 yet

  <TerrainDef ParentName="FloorBase">
    <DefName>CK_TrampledEarthWithLine</DefName>
    <label>trampled vegetation track</label>
    <RenderPrecedence>233</RenderPrecedence>
    <Description>Cut plants trampled and stomped in order to keep vegetation from regrowing - Can only be designate over fertile soil (needs plants)</Description>
    <texturePath>Terrain/Surfaces/TrampledEarthLineFloor</texturePath>
    <EdgeType>FadeRough</EdgeType>
    <PathCost>2</PathCost>
    <statBases>
      <Beauty>-2</Beauty>
      <Cleanliness>-1.5</Cleanliness>
      <WorkToBuild>300</WorkToBuild>
    </statBases>
    <affordances>
      <li>Diggable</li>
    </affordances>
    <Fertility>0</Fertility>
    <TerrainFilthDef>FilthDirt</TerrainFilthDef>
    <terrainAffordanceNeeded>GrowSoil</terrainAffordanceNeeded>
    <TakeFootprints>True</TakeFootprints>
    <AcceptTerrainSourceFilth>False</AcceptTerrainSourceFilth>
  </TerrainDef>

  <TerrainDef ParentName="FloorBase">
    <defName>CK_PackedDirt</defName>
    <label>packed dirt</label>
    <texturePath>Terrain/Surfaces/PackedDirt</texturePath>
    <EdgeType>FadeRough</EdgeType>
    <RenderPrecedence>360</RenderPrecedence>
    <Description>Roughly settled dirt track. They are good for roads and outdoor walkways - Can only be designate over diggable soil.</Description>
    <PathCost>1</PathCost>
    <statBases>
      <Beauty>-1</Beauty>
      <Cleanliness>-1</Cleanliness>
      <WorkToBuild>700</WorkToBuild>
    </statBases>
    <affordances>
      <li>Diggable</li>
    </affordances>
    <ScatterType>Rocky</ScatterType>
    <TerrainFilthDef>FilthDirt</TerrainFilthDef>
    <terrainAffordanceNeeded>Diggable</terrainAffordanceNeeded>
    <Fertility>0.0</Fertility>
    <TakeFootprints>True</TakeFootprints>
    <AcceptTerrainSourceFilth>False</AcceptTerrainSourceFilth>
</TerrainDef>



A modded floor that can be put on fertile soil, the new modded one have 0 fertility. The second one is a slight variation.Costs in material or time need to be adjusted to your tastes obviously, in fact, I find that very hard to balance.

This is intended to help users to keep up with the increased regrowing trees speed

Hope it can help a bit