Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Pseudoliquids.  (Read 1897 times)

Zemat

  • Bay Watcher
  • Zemat, programmer, cancels coding: Too insane.
    • View Profile
Pseudoliquids.
« on: June 16, 2008, 01:58:26 am »

Pseudoliquids would be materials that DF could handle as if they were both liquids and stone. Meaning that dwarves have to dig through them. But they spill out and have layers just like water. Stuff like sand could be handled this way. They flow very slowly and stop flowing when adjacent squares have just one level of difference in liquid-height (ie. neighboring cells with 1/7, 2/7, 3/7, 2/7, 1/7 sand levels would not flow), which would also stop the back and forth flowing seen in water filled squares. Dwarves could walk, albeit slow, on 1/7 ans 2/7 sand filled squares, but would have to dig thru 3+/7 squares. Dug sand squares could be turn into compacted sand stones that could be carried away. Mud could also be handled as a pseudoliquid which doesn't flow or flows much less than sand.

Maybe snow could be handled like a liquid but without the flowing. This way, snow accumulation could be implemented on maps where snow storms happen. Snow would have to be removed thru digging. Still snow wouldn't be ice, and it mostly would evaporate directly instead of turning into water, or generate very little water (ie. 7/7 snow turns into 1/7 water), after being exposed to heat or reaching spring.

Pseudoliquid stones (compacted sand, mud or snow) could have some uses but it would be probably impossible to build structures out of them. They would probably turn again into pseudoliquid squares when dropped just like ice stones turn into water.

Finally. This doesn't have anything to do with pseudoliquids I guess but glacier maps should have some sort of icecap regeneration mechanic. Although I have no idea how this should work as I'm not so sure how real icecaps form in the first place.
« Last Edit: June 16, 2008, 02:00:59 am by Zemat »
Logged
You too can help bring to life the RogueLife Project!

SHAD0Wdump

  • Bay Watcher
  • Hiding in SPAAACE!!!
    • View Profile
Re: Pseudoliquids.
« Reply #1 on: June 16, 2008, 02:15:45 am »

This would come as a major frustration when digging areas for your farms(if you go the easy way of digging sandy loam.That is,if this would effect sandy loam.

There has to be a way to strengthen the walls against this.
Logged

irmo

  • Bay Watcher
    • View Profile
Re: Pseudoliquids.
« Reply #2 on: June 16, 2008, 02:28:36 am »

There has to be a way to strengthen the walls against this.

Same way you do it in the real world: retaining walls. Build a stone wall around the inside of your chamber.

I like the idea, but handling soil as a liquid would be hell on the CPU. Maybe just a monthly/seasonal calculation of soil flow? It does make sense that soil should rearrange itself, but it leads to problems when the soil can have furniture placed, stockpiles and rooms designated on it, etc.
Logged

Zemat

  • Bay Watcher
  • Zemat, programmer, cancels coding: Too insane.
    • View Profile
Re: Pseudoliquids.
« Reply #3 on: June 16, 2008, 02:28:46 am »

Well, sandy loams are mostly compacted sand mixed with clay and stuff. They would act just as regular stone.

If fact we could have a whole family of pseudoliquids with different properties. Some, that flow, others that don't.

Extra suggestion. Add liquid and pseudoliquid specifications to raws so that modders can add different kind of weird stuff. Maybe petroleum :D

Also, stuff like alcohol and beverages should be handled as proper liquids. If I drop a full barrel and it breaks the liquid should spill and dwarves should mass around it and start licking it from the floor to avoid wasting it. :P

About the CPU. Toady has implemented code that prevents CPU hogging with large bodies of liquids like oceans. He only makes calculations with flowing liquid cells. The thing I mentioned about restricted flows on pseudoliquids is precisely to take advantage of those liquid optimizations so that flow calculations happen even less on pseudoliquids.
« Last Edit: June 16, 2008, 02:34:03 am by Zemat »
Logged
You too can help bring to life the RogueLife Project!

Draco18s

  • Bay Watcher
    • View Profile
Re: Pseudoliquids.
« Reply #4 on: June 16, 2008, 02:47:08 am »

Sandy loam is...rather sandy.  That's why it's called that, its clay content is very low (no more than 20%).  It's sheer strength is probably pretty low.
http://www.oneplan.org/Images/soilMst/SoilTriangle.gif
Logged

Zemat

  • Bay Watcher
  • Zemat, programmer, cancels coding: Too insane.
    • View Profile
Re: Pseudoliquids.
« Reply #5 on: June 16, 2008, 11:45:38 am »

Sandy loam is...rather sandy.  That's why it's called that, its clay content is very low (no more than 20%).  It's sheer strength is probably pretty low.
http://www.oneplan.org/Images/soilMst/SoilTriangle.gif

Still, it would be then a different kind of pseudoliquid with different properties than sand. Maybe with no or very little fluidity.

I was thinking, but maybe I'm wrong, that a liquid with a very low or almost zero fluidity would be as CPU intensive as solid rock since Toady only makes fluidity calculations when actual fluid movement needs to happen. So a liquid in equilibrium requires little to no extra CPU time.
Logged
You too can help bring to life the RogueLife Project!

LeoLeonardoIII

  • Bay Watcher
  • Plump Helmet McWhiskey
    • View Profile
Re: Pseudoliquids.
« Reply #6 on: June 16, 2008, 12:49:33 pm »

You could get the effect of this by giving various soil types different cave-in properties. If you build a 7x7 stone room, it won't cave in, but a 4x4 sand room would. If you room was half stone and half sand, the sandy part would slide in and you'd have a hole through to the surface. The answer is to support the room as you build it by adding stone pillars set into the walls, or just replace the walls as you dig them out.

Of course the ceiling and floor would still be sand. So you'd have to stick pillar supports in the middle, which a room carved from stone wouldn't need.
Logged
The Expedition Map
Basement Stuck
Treebanned
Haunter of Birthday Cakes, Bearded Hamburger, Intensely Off-Topic

Draco18s

  • Bay Watcher
    • View Profile
Re: Pseudoliquids.
« Reply #7 on: June 16, 2008, 02:29:08 pm »

Still, it would be then a different kind of pseudoliquid with different properties than sand. Maybe with no or very little fluidity.

If sand becomes a pseudo liquid, and silt another, and clay yet a third...

What's 2/7 sand + 1/7 clay + 3/7 silt + 1/7 water?
Logged

Zemat

  • Bay Watcher
  • Zemat, programmer, cancels coding: Too insane.
    • View Profile
Re: Pseudoliquids.
« Reply #8 on: June 16, 2008, 02:36:11 pm »

Well, that would be interesting...

Maybe the combinations of different liquids create the different soils displayed on the table you posted before just like lava + water creates obsidian.
Logged
You too can help bring to life the RogueLife Project!

HotSake

  • Escaped Lunatic
    • View Profile
Re: Pseudoliquids.
« Reply #9 on: June 16, 2008, 03:36:23 pm »

I don't see the point of a pseudoliquid that doesn't flow. Why not just treat it like a solid then, since pseudoliquids are supposed to be like solids in that you can dig them out, but like liquids in that they flow. Or do you mean that nonflowing pseudoliquids can have levels like liquids but will never shift?
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: Pseudoliquids.
« Reply #10 on: June 16, 2008, 03:47:29 pm »

They WILL shift, that's the whole point.  Just not as often and not as far and with different triggers.  Sand, for instance, wouldn't have pressure, but would flow downhill if the height difference was great enough.
Logged

Zemat

  • Bay Watcher
  • Zemat, programmer, cancels coding: Too insane.
    • View Profile
Re: Pseudoliquids.
« Reply #11 on: June 16, 2008, 03:55:41 pm »

I used the case of snow as a pseudoliquid that accumulates in levels but doesn't flow. The idea is that in the lowest accumulation levels they would allow movement but after that they would need to be digged to allow movement.

But the main idea here is that pseudoliquids can flow or will flow up to a point. Like the sand example, if the difference in level of two cells is higher than a threshold then there would be flow. But below the threshold the sand would remain static. Unlike water where any difference in level causes the liquid to flow back and forth between cells.
Logged
You too can help bring to life the RogueLife Project!

Lord Dullard

  • Bay Watcher
  • Indubitably.
    • View Profile
    • Cult: Awakening of the Old Ones
Re: Pseudoliquids.
« Reply #12 on: June 16, 2008, 04:01:19 pm »

Just a quick note: while the idea is neat, making it impossible for a dwarf to walk on 3/7+ levels of sand would effectively result in their not being able to climb any sort of sand hill or dune, which would be both unrealistic and frustrating.
Logged

Zemat

  • Bay Watcher
  • Zemat, programmer, cancels coding: Too insane.
    • View Profile
Re: Pseudoliquids.
« Reply #13 on: June 16, 2008, 04:11:23 pm »

Have you tried climbing a step sandhill? It's not impossible but it's quite difficult and frustrating. :P

The idea of the impossibility of walking in 3/7+ squares was to imply that a tunnel more than half filled with sand would be impossible to traverse. I guess this could be changed so that dwarves can move over it as long as there's open space above them. They would simply shift to the next level if they reach a 7/7 square after walking from a 6/7 or, to make it a little bit more realistic, they could appear to be walking on the next level after reaching a 4/7 square. Anyhow, that's not so unrealistic as 3/7 water or lava turning into a full sized block.
« Last Edit: June 16, 2008, 04:16:17 pm by Zemat »
Logged
You too can help bring to life the RogueLife Project!

Salbrismind

  • Bay Watcher
    • View Profile
Re: Pseudoliquids.
« Reply #14 on: June 16, 2008, 05:23:16 pm »

I think that pseudo-liquids would be a great addition. I haven't noticed much realism in digging at all. With sand It's odd how it just sits there, even with rocks, in reality digging tunnels create jagged walls of rocks not straight perfect walls. Snow would make it more interesting and treacherous in winter, imagine that sun roof flooding with snow! Btw, does rain produce and water on lands? I never seems to when it rains for me.

Also, movement on sand should cause piles of it to shift, so if a dwarf tries to climb a 3/7 pile to a 4/7 that the top of the 4/7 should shift to the 3/7 and such, causing it to domino effect down the line. Sand traps! Make roof gates with a chamber of sand and bury goblins!  :D
Logged