[A16] Rainbeau's Fertile Fields

Started by dburgdorf, January 12, 2017, 05:24:55 PM

Previous topic - Next topic

dburgdorf



Last update: 4/23/2017

"Fertile Fields" lets you fertilize and plow your soil, create farmland on solid rock so you can farm in inhospitable environs or inside of mountains, and eventually even restructure your landscape.

Create raw compost with food waste at a butcher's table, then put it in a compost bin or barrel so in time it can become fertilizer. Fertilizer can be used to convert any soil to rich soil. Further improve your farm's fertility by researching tillage and plowing your soil. Or learn the fine art of terrain reclamation, and terraform your environment to your heart's content.

Yes, this mod is in some ways very derivative of Sam's "Tilled Soil." I like the idea of that mod, but dislike the fact that it lets you turn any dirt into supersoil with virtually no work or effort. Dismarzero's "Vegetable Garden" offers a more balanced method of improving soil, using fertilizer, but it's a much larger mod than I really want, and adds some things I'm not terribly fond of. And so, I ended up combining what I liked from both of them, and came up with "Fertile Fields." Originally just an "improve your farmland" mod, it's since grown into a full-fledged terraforming mod.

- Rainbeau Flambe (dburgdorf)


Steam Workshop Link

Dropbox Link

New Research and Terrain Improvement Options:

Without researching anything, "Fertile Fields" allows you to dig up piles of dirt from soil, and also to create raw compost and turn it into fertilizer. Fertilizer and dirt can be used together to upgrade gravel or marshy soil to regular soil, and fertilizer can be used by itself to upgrade regular soil to rich soil.

Researching "Tillage" opens up the ability to plow soil, which lets you increase the fertility of rich soil.

The "Terrain Reclamation" research opens up the ability to "reclaim" rocky terrain, turning it into farmable land. Essentially, you're figuring out how to effectively lay topsoil over smooth stone. Create a garden inside a mountain if you're so inclined. Topsoil can be further improved by fertilizing it, but can't be plowed.

Finally, "Terraforming" represents an understanding of advanced irrigation and drainage techniques, and opens up a wide variety of terrain-altering options. It allows you to turn marsh, mud, sand or shallow water tiles into farmable soil, or to turn fertile land into sand or marsh. It lets you create shallow water tiles from marsh, so you can create decorative (or defensive) moats. It opens up the ability to dump dirt into impassable water to create deep water, which can then be further developed into shallow water. Alternately, you can remove dirt from deep water, producing impassable water. Finally, it also allows you to break solid rock into rocky soil, which can be further improved into regular soil, letting you create mountain farms that can actually be plowed for maximum fertility.

New Terrain Types:

Plowed Soil: Plowed soil has a fertility of 180%. It can be removed with the "remove floor" command, so if you find that you've plowed in the wrong area, you're not stuck with the plow lines.

Topsoil: Topsoil is quite simply a layer of soil placed on top of smooth stone. It can be fertilized to increase its quality, but it can't be plowed, as plowing it really wouldn't accomplish much. Still, it's a lot better for your crops than solid rock! If you decide you don't like the topsoil, you can remove it and get your stone floor back.

Rocky Soil: Rocky soil is the first step in converting smooth stone into true farmland, as opposed to simply layering topsoil on top of it. It's the immediate and quite labor intensive result of breaking up a smooth stone floor. It's minimally fertile (only 30%) but it can be further refined into gravel, and then into true farmland. Rocky soil is also what's left after you dig all the good dirt out of fertile soil.

Water: There are now three types of water rather than just two: shallow, deep and impassable water. Shallow water slows movement a fair amount, deep water slows it tremendously, and impassable water, as the name suggests, can't be moved through at all.

New Items:

Raw Compost: Raw compost is made at a butcher's table with raw or rotted food. It requires both animal and vegetable matter. Essentially, it's a disgusting mix of organic waste products.

Compost Bin: You can create a compost bin with wood and raw compost. Once you've created one, it'll just sit (and stink up the place) for about 3 days, before becoming fertilizer. Yeah, I know. Composting should take weeks or even months. We must be dealing here with some sort of super high-tech space compost bins.

Compost Barrel: Compost barrels require power, but are reusable, and are also more space efficient than compost bins, converting 10 raw compost into 10 fertilizer all at once.

Fertilizer: Plant and animal waste products have been used for millennia to improve soil for farming. Fertilizer is made from raw compost in a compost bin or barrel.

Pile of Dirt: Dirt is used in a variety of terrain improvements. Dirt piles can be dug up from fertile soil, leaving less fertile terrain behind.

Crushed Rocks: You can break up stone chunks at a stonecutter's table into crushed rocks. These can be further pulverized and mixed with fertilizer to create dirt, or can be used to recreate rough stone floors from rocky dirt terrain.

Compatibility:

"Fertile Fields" adds new things, but doesn't change many existing things, so it should be compatible with pretty much any other mod except perhaps for those which also change vanilla terrain definitions or map generation. You should be able to add it to an existing saved game without trouble, but removing the mod from a game in progress will, of course, likely cause problems or even make the game unplayable.

Special note regarding "Vegetable Garden": Though I don't necessarily recommend trying to use them both of them at the same time, "Fertile Fields" (FF) and "Vegetable Garden" (VG) are technically compatible with each other. Make sure that FF appears *after* VG in your mod load order. There are, of course, a few things to be aware of if you're using the mods together. First, you won't be able to make fertilizer at a butcher's table as you normally can in VG. You can only make compost there. VG's other methods of fertilizer production, however, should be unaffected. Second, both mods add piles of dirt, but they define those items differently. So you'll actually have two types of dirt piles. One comes from VG's digging spots, and is used for VG's terrain improvements, and the other comes from FF's terrain alterations, and is used for FF's terrain improvements. Finally, FF's plowed soil will overwrite VG's tilled soil, meaning that it will have 180% fertility instead of 120%, and it can only be placed according to FF's requirements, not VG's.

Credits:

The C# code related to compost bins derives from Dismarzero's "Vegetable Garden." The C# code related to compost barrels draws from Sulusdacor's "[sd] Luciferium Production" mod, which in turn borrows heavily from the default code for fermentation barrels.

The mod utilizes Pardeike's "Harmony Patch Library." (No additional download is required, as the library is included with the mod.)

License:

If you're a modpack maker and want to include "Fertile Fields" in your pack, or if you're a modder and want to use "Fertile Fields" as the basis of a derivative mod, please feel free to do so. I ask only that you let me know about it.

If you have any (helpful) suggestions for improvement, please let me know!
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

Fluff_Thorrent

Good work on diversifying the available mods, I shy away from packs and mega-system-mods so this fits my style. However, could you put up a download link independent from Steam? I'm sticking to the non-Steam version and would appreciate it :)

dburgdorf

- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

dburgdorf

Update:

- Fertilization of gravel or marshy soil to the fertility of regular soil, and fertilization of regular soil to the fertility of rich soil, are now separate processes. So fertilizing regular soil to 140% fertility takes just one bag of fertilizer, but fertilizing gravel to that level takes two steps and two bags.

- Gravel and marshy soil can't be tilled without first being fertilized.

- Tilling no longer requires fertilizer.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

dburgdorf

Another (bugfix) update:

- Squashed a couple of bugs related to reclaimed soil.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

MisterVertigo

This looks AMAZING. I've been looking for something like this for a LONG time. I used to use a mod called Soiling, but there was no cost and it seemed like a cheat. I could place any terrain anywhere I wanted. I've also used the "Tilled Soil" you mentioned, and again, it felt "cheaty". I think this will be a bit more balanced as it requires research and crafting to accomplish.

Now, I just need a mod that will let me put marsh wherever I want and I'll be set! :)

Thank you!
"In vertigo you will be..."

"Relax, people. It's a teeny indie game; don't kill it with love." - Bozobub

WoodyDaOcas

Thank you very much :) I just downloaded today the mentioned second mod, was quite a bit shocked how quickly you can make a 200% fert. tiles, just like that.. This still makes the original 140% spawn viable and important, this improves on it. Thanks

dburgdorf

Quote from: MisterVertigo on January 14, 2017, 06:21:24 PMNow, I just need a mod that will let me put marsh wherever I want and I'll be set! :)

It actually wouldn't be unreasonable to allow creation of marsh once you've researched advanced terrain reclamation. It's just sort of the inverse of what the tech already allows, anyway. And while I hadn't really thought about it before, it shouldn't be difficult to implement.

I'll put it on my "to do" list. ;)


- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

MisterVertigo

That would be awesome! Even if it's a separate mod I'd love it! I think it would work in with your theme though.

I like to put marsh in my kill boxes as it slows down the enemy movement. I'll admit I use admin mode to put them in though because there is no other way to do it right now.
"In vertigo you will be..."

"Relax, people. It's a teeny indie game; don't kill it with love." - Bozobub

dburgdorf

Update:

- Topsoil is now removable, so you can return tiles to smooth stone if you're not using them for farming.

- Soil pits and compost bins now impede movement through their tiles.

- Tillage now requires 140% fertility. I know you there's no logical reason why non-fertilized fields can't be tilled, but for balance purposes, this limitation prevents you from being able to jump fertility from 100% to 160% in a single too-easy step.

- Advanced Terrain Reclamation now also allows the creation of marshlike muck, if you want to impede movement through certain areas.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

Stage

Great mod! Finally a balanced approach to soil :)

I've three suggestions for you:

- a reusable compost pit (like a composting barrel?). Should require research, maybe steel and electricity, but is faster/more efficient (two fertilizer per compost maybe? or 2 fertilizer for 3 compost?)

- make corpses compostable. Why not use the otherwise useless biomass provided by the "friendly" tribe nearby?

- fertilized top soil - that should exist too. I would implement it with 120% fertility, it should correspond fine to other soils (outside - tilled, fertilized, normal | inside - hydrpoponics, fertilized, normal)

dburgdorf

Quote from: Stage on January 16, 2017, 08:31:42 AMI've three suggestions for you....

Glad you like the mod!

I'm already planning to allow topsoil to be fertilized (though still not tilled). That was specifically requested by another user on Steam. :)

My original plan with the compost bins was to essentially just use the existing fermentation barrel code. Build a barrel, put compost in, later take fertilizer out. Rinse (or not), repeat. But I ran into errors I couldn't debug -- my coding expertise barely goes beyond the "cut and paste" level -- and so I ended up using a completely different method. But I may yet revisit the fermentation barrel code and see if I can figure out where I went wrong.

As to corpses, well, to be honest, I kind of assumed it was already possible to use corpses in the creation of compost. I hadn't actually tried it, but I also hadn't specifically disallowed it. There must be a default setting somewhere that I need to override. I'll look into it.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

Stage

A small "fix" for the composting bin could be: make a reciepe for an empty bin, alter the reciepe for the composting bin to "empty bin + compost" and once finished let the empty bin and fertilizer drop :)

I think the "rotten" option is missing too, btw.

Otherwise great work :)
Thanks for the fast response!

dburgdorf

Update:

- Topsoil can now be fertilized (but still can't be tilled).

(And Stage, I checked, and human meat *can* in fact be used in creation of compost, so I'm not sure why you're having trouble, unless you were trying to just compost corpses without butchering them first.) (That's not the sort of comment I normally expect to find myself typing.)
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

Pichu0102

It's a nice mod. My only problem is those tiny, tiny rocks in gravel and soil that aren't seemingly part of anything, can't be destroyed via dev tool, etc still showing up in tilled soil that used to be gravel or normal soil. I don't think that's fixable though. Keep up the good work!