Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Better Water Tables / Plant Water Requirements  (Read 1969 times)

MDFification

  • Bay Watcher
  • Hammerer at Law
    • View Profile
Better Water Tables / Plant Water Requirements
« on: September 09, 2015, 11:41:43 am »

I really should attend lecture right now but my brain is full of dwarf so we're posting this instead. Essentially, DF right now doesn't model how water interacts with porous materials very well. Making it so that water can move through tiles of porous materials (I've put water inside tiles it shouldn't be before with DFhack, so I can assure you the system can in fact handle this without crashing) could spell big changes for how you mine and plan your forts. It also very feasibly could allow the game to have plants require water to survive, so I've included that in here too.



Proposed Water Mechanics

Materials would have a new tag; [POROUS]. Water will gain the ability to spread into tiles made of of porous material adjacent to it horizontally or below it. These tiles can only hold 3 depth of water. Water can also spread horizontally/down onto a tile beneath a floor dusted with mud. However, it cannot spread down from there (only being able to spread horizontally) while within a non-porous tile.

If directly under an aboveground floor exposed to sunlight, the saturated water will evaporate as normal. They also fill up when it rains though.

The temperature in a tile affects the water saturated within it. If it's hot enough to turn it to steam, the steam is spawned in the first empty tile between the saturated water and the top of the map (moving straight up only). If it's cold enough to freeze, the water turns into frost (which must be cleared from the tile as it is mined, increasing dig time) until the tile becomes warm enough for it to melt back into 3/7 water. Floors above a tile that contains frost can't be mined.

Saturated water is always muddy. If it's adjacent to salty water, it's also salty.

New Construction Option + New Designation

Players can now designate ceilings to be built. This changes the material of the floor of the tile above the square designated. If built with non-porous materials, it stops saturated tiles from draining water onto the empty tile below. Constructed Walls cannot be built under constructed ceilings. This designation is necessary so that you can actually dig in porous layers saturated with water without drowning yourself.

Players can now designate irrigation to be dug. This causes a dwarf to irrigate the tile under the floor designated so it becomes super-porous (now capable of holding 6/7 depth of water instead of 3/7). The floor designated can also now be drank from like a water source. Buildings and constructions (except floors) can be built on top of irrigated tiles without affecting how they function.

New Zone: Irrigation

Dwarves with the new hauling job (Irrigating) will take buckets from your water source and empty them onto the tiles in this zone until they're all fully saturated.

Changes to Plants

All plants now can grow roots like trees do (can be defined in raws). Tiles with roots in them count as porous.

Plants (including trees) can reduce the depth of water in a tile their roots are in by 1 every so often. This can be changed in the raws as some plants are thirstier than others (i.e. Cactus probably shouldn't need to do this at all, but rice should be sucking in water near constantly). If a plant can do this but none of its roots have water, it dies after a certain amount of attempts to drink. This too is definable in the raws as some plants are more drought resistant than others.

Plants can now be designated as salt-water tolerant in the raws. Unless they are, they die if they drink salty water.



There are some pros and cons to implementing this idea.

First, the cons;
- Digging will become more difficult in saturated layers, as you'll have to slowly wall/roof your tunnels to stop them from flooding. You also will find it difficult to dig deeper into porous layers that are saturated with water unless you've dug and waterproofed the layer above, as the first square you dig will near instantly fill to 7/7.
- Farming just got more difficult since you can now run out of water underneath your plants. Bucket-brigading the Irrigation zones to stop this from happening can help but is labor intensive.
- It'll be even harder to settle dry areas or areas with salty aquifers/adjacent oceans.
- If you're trying to farm above an aquifer and there's nothing but porous tiles between you and that aquifer, all your water will drain into the aquifer and you'll be left with perfectly dry ground. 
- FPS will get worse.

The pros;
- All of the listed cons make the game more complex and realistic, even if they make it harder.
- It'll be harder for tiles above saturated layers to flood. Especially so on Aquifers.
- It'll be easier to get water; all you have to do is dig out cisterns under a porous layer and let them fill (It'll be muddy water though).
- Fixes the infinite power exploit in porous layers.



So... thoughts?
Logged

LMeire

  • Bay Watcher
  • Likes Troglodytes for their horradorability.
    • View Profile
Re: Better Water Tables / Plant Water Requirements
« Reply #1 on: September 11, 2015, 10:51:14 am »

So wait, would this make farming impossible while adjacent to oceans? The way you described it sounds like the "salty" status would just spread all the way through any porous tiles it could and I'm pretty sure sea-side plantations are and were a thing.
Logged
"☼Perfection☼ in the job puts pleasure in the work." - Uristotle

Niyazov

  • Bay Watcher
  • shovel them under and let me work - I am the grass
    • View Profile
Re: Better Water Tables / Plant Water Requirements
« Reply #2 on: September 11, 2015, 11:17:45 am »

Farming adjacent to oceans would presumably require a non-porous layer of something like clay between the ocean and your farming area (which would require that individual soil layers contain bands of different kinds of soil).

There aren't very many real-world human-edible crops that will tolerate growing right next to oceans, so I think it's fine if oceanside farming is made tougher. After all, players would still be able to grow cavern crops, raise and slaughter livestock, trade for food, etc. etc. etc.

Now that we can designate plant gathering areas, I think that some beaches should have gatherable, edible seaweed wash up in certain seasons. Maybe seaweed could also be processed in an ashery to make soda ash for glass and glazes, although I don't find either of these industries particularly interesting or rewarding.
Logged

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Better Water Tables / Plant Water Requirements
« Reply #3 on: September 11, 2015, 10:46:05 pm »

So wait, would this make farming impossible while adjacent to oceans? The way you described it sounds like the "salty" status would just spread all the way through any porous tiles it could and I'm pretty sure sea-side plantations are and were a thing.
All you have to do is plant above sea level. The water draining into the ocean from streams is fresh water.
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

endlessblaze

  • Bay Watcher
  • likes dragons for their fiery breath
    • View Profile
Re: Better Water Tables / Plant Water Requirements
« Reply #4 on: September 12, 2015, 01:34:51 pm »

So wait, would this make farming impossible while adjacent to oceans? The way you described it sounds like the "salty" status would just spread all the way through any porous tiles it could and I'm pretty sure sea-side plantations are and were a thing.
All you have to do is plant above sea level. The water draining into the ocean from streams is fresh water.

realistically, the soil would have higher sand content than normal and not hold water and nutrients very well. tipicly an ideal soil is a mixture of clay, silt and sand. a good mix of those make loam if recall correctly.

but im not to concerned about realism yet.
Logged
Kids make great meat shields.
I nominate endlessblaze as our chief military executive!

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Better Water Tables / Plant Water Requirements
« Reply #5 on: September 12, 2015, 09:10:32 pm »

So wait, would this make farming impossible while adjacent to oceans? The way you described it sounds like the "salty" status would just spread all the way through any porous tiles it could and I'm pretty sure sea-side plantations are and were a thing.
All you have to do is plant above sea level. The water draining into the ocean from streams is fresh water.

realistically, the soil would have higher sand content than normal and not hold water and nutrients very well. tipicly an ideal soil is a mixture of clay, silt and sand. a good mix of those make loam if recall correctly.

but im not to concerned about realism yet.
The other sediments can be deposited by the stream or moved by dwarves. The game already handles sand content anyways, though I don't recall it affecting crops yet. This is the kind of area I'm picturing:

It's workable for certain plants. Date palms, desert limes, sand pears, pineapples?, artichokes?, olives?, various berries, etc.
« Last Edit: September 12, 2015, 09:24:48 pm by Bumber »
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?