Jump to content

Recommended Posts

Posted (edited)

For context

Thread discussed the idea of introducting aqueducts to the game

Please also see: water mechnics main thread (HUB) - related water mechnics

________________________________________________________________________________________________________________________________________________

Problem

  • Transporting water (without the bucket) over long distances is almost impossible in the currenty base game, unless you want to spent tons of time running back and forth.

________________________________________________________________________________________________________________________________________________

Idea

  • Allow players to build aqueduct 
  • Aqueducts will preferably use the same new water mechanics as descriped in this post > How it works
  • @majestik suggested: adding reservoirs like cisterns to be able to store water.
  • Like the real life aqueduct where will be use for long distance transport of water and may conncet to other water system like reservoirs, pipes or to feed water to you farm irrigation ditches

aqueduct-design.png.e2c29d5e6a56cc26d7e5a2bf55348365.png

aqueduct-canal-inside.png.ab8d843768d67619021eb383f6a1df65.png

 

* Initial aqueduct canal design

________________________________________________________________________________________________________________________________________________

Requirements / Limitation

  • to not introduce even more complicated mechanic, I would suggest that we stick to the new water mechanic, @Thorfinn I and discussed this post > How it works
  • 1x1x1 block, the inner wall is "U"- shaped
  • A aqueduct canal section can only be 42 block long, after that you need to reduct the height of the follow up aqueduct by 1.

aqueduct-side-view.png.9b7386ac4df6037dcb03276f9f654767.png

  • You will be able to branch of/turn in 90°, creating intersections

aqueduct-intersection.png.504fc40f8d757143b408c66c696af006.png

________________________________________________________________________________________________________________________________________________

Technology minestones needed

Some of the material the player need to create the inner wall lining of the aqueduct can only be acquired once they are able to make copper tool and quern.

________________________________________________________________________________________________________________________________________________

What material can be used to build the Aqueduct?

Material 1 - Screed (plaster)

  • The romans used opus signinum, a kind of waterproof screed
  • Screed is mainly made from pulverized lime, sand and marl (the romans also used crushed pottery or bricks). 
  • We do not have screed in the game, but plaster which comes close enough, so we could just use it instead.

Problems:

  • Based on the VS wiki plaster can be made form chalk or limestone + any type of sand, but if chalk or limestone is not available in your region, option 1 is completely out of the picture.

need-for-screed.jpg.29a6c3264c32873ff198ef88109230b1.jpg

Original souce here | Dumb side note: It is kind of a bummer that the company did not use the name Need for screed underground. Other company name suggestion: Assassin's screed or Mortar Kombat (or Mörtel Kombat, for all german speaking folks)

________________________________________________________________________

Material 2 - Inner lining made from fired and glazed clay

  • Player can form an aqueduct wall lining/canal block using any type of clay.
  • This block need to be fired, then glaze need to be applied and the block has to be fired a second time to make is waterproof.
  • Glaze can be create in a barrel by mixxing water and

aqueduct-wall-lining-draft.png.2783cdb24e97ae88818e9890f283fe13.png

*concept block: left - plaster | mid - red glazed fired clay | right - blue glazed fired clay 

Based on what our AI overlords say, a ceramic glaze ...

"consists mainly of finely ground quartz sand, to which various minerals and oxides are added depending on the type of glaze. This mixture is then processed with water to form a slurry and applied to the ceramic."

Possible glaze ingredients

Wikipedia states that common traditional glazes are made from: potash, feldspar, lead, salt, tin and lime

  • [Yes, but]    Lime: a good option, but only if available (has same problem as mentioned in Material 1)
  • [Yes, but]    Quarz: real life glazes use it, quarz is quite common, can be found while panning (ok, this would be very inefficient), Problem: cannot be crushed by quern
  • [Yes, but]    Stone/Sand: I only did some quick research so this statement may be incorrect: Most stones seem to contain some amount of quarz - option is cheap, however a bit unrealistic
  • [Maybe]       Potash: is not in the game, so currently not an option, but technically easy to get
  • [Maybe]       Salt: only if available
  • [Mabye]        Lead: has not many uses right now, so could be an option
  • [No]             Tin: player will definitely spend their tin on tools instead of glaze
  • [No]             Feldspar: is not in the game, so currently not an option

Glaze alternatives (not realistic)

  • beeswax, resin, fat

Reason to have this option

  • Lime and chalk may not be available in your region
  • Lime is important for leather making, therefore player will most likely priotize this and not spent any lime for aqueduct constuction.
  • Pottery becomes more or less irrelevant player has access to metal, to would give clay an new use

Problems:

  • Having to fired the block two times and creating glaze can be a long of effort, depending on the aquedct length 

________________________________________________________________________

Material 3 - Use raw clay

  • This would be the simple option, as clay is cheap and plentyful, but not very realistic

________________________________________________________________________________________________________________________________________________

Problem/Open questions

  • What is the max lenght an aqueduct can have?
    • 42 blocks, like inital suggested?
    • Trying to be close to real life, ancient roman aqueduct had a gradient/slope of between 0.15% and 0.3%
    • using in game water slope = run / rise -> 6 blocks / (7/8) of a block -> 6 meter / 0.875 meter ~ 6,8571 ~ 6.86% 
  • Should the aqueduct have static or flowing water?
  • How long can one section of the aqueduct be until you have to lower it by one block (we are simulation the "slope", because water want to flow down hill)
  • How to detect if water in aqueduct canal got dammed up or broken?
    • Check every block @Crylum add better explanation here, see comments
    • Check every chunk @Crylum add better explanation here, see comments
  • How to handle aqueducts in unloaded chunks?
  • Can the water inside the canal freeze?

________________________________________________________________________________________________________________________________________________

Feedback

New ideas, suggestion? Just let me know in the comments below!

________________________________________________________________________________________________________________________________________________

That's all for now!

Best,

Crylum

 

Edited by Crylum
Updated context, fix spelling misstakes ; )
  • Like 8
Posted (edited)

@majestik

Quote

The title says something about reservoirs, are you thinking of something like cistern? Where the aquaduc could be driving the water from a spring/water source?

Exactly, thanks for pointing that out I totally forgot to add this. I will add your commet to the inital post.

Quote

Where the aquaduc could be driving the water from a spring/water source?

Preferably yes, I have another thread for this Natual occuring water sources      

Edited by Crylum
Posted

I'll admit I've not paid super close attention to these suggestions, but at a glance they seem very solid and I can see it being an enjoyable way to handle more realistic water mechanics, should the devs go that route. 

On 7/8/2025 at 4:04 AM, Crylum said:

The romans used opus signinum, a kind of waterproof screed

Screed is mainly made from pulverized lime, sand and marl (the romans also used crushed pottery or bricks). We do not have screed in the game, but plaster which comes close enough, so we could just use it instead.

One of my favorite parts of your suggestion--instead of just adding something brand new, you're working with things that already exist in the game as a suitable equivalent.

  • Like 1
Posted (edited)

@LadyWYT

Quote

One of my favorite parts of your suggestion--instead of just adding something brand new, you're working with things that already exist in the game as a suitable equivalent.

Thanks, I really try my best to only add new blocks if there are really needed, reuse the same water mechnic for multiple setup (like I had mentioned above: aqueduct and irrigation ditches share the same water mechanic) or add new ways to reuse already existing items, copper chute as water pipes (ok, this was not my idea to be fair, @Never Jhonsen had this idea).

My idea was to have a bundle of interconnected water features, which do not required huge amount of changes in code (at least I hope so) as I am pretty sure the dev already have tons of other thing that need to be implemented, tested, bug fixed and polished.

Edited by Crylum
  • Like 2
  • 2 weeks later...
Posted

Some food for thought regarding lime.

Lime is in high demand between copper and bronze, due to sudden access to barrels and ability to make leather. Barrels also give access to first solid water storing mechanic. If i needed to carry 10 liters of water 5 times for watering can or use lime for plasters to have automated irrigation system from aqueducts, i would probably prefer to keep lime for limewater as a priority. That would delay automated water supply and place it between leather and sturdy leather, at which point we would probably have access to borax.

Finding lime is not easy, in my current world i had lime only from dungeon crates and seashells around water reservoires. I still haven't found limestone.

Where would you place automated irrigation system from aqueducts on the progression line? Like it is now, as soon as you get bucket, somewhere later? Aqueducts were meant for long range water transport system, maybe increasing amount of aqueduct parts per one plaster would help with adjusting timeline at which is expected for players to use it.

I like the idea of using lime and choosing priorities "what would be more efficient in my current situation - leather backpack or ignoring watering schedule". Just like when you have to choose between repairing clothes before winter or making sails for first pulverizer, having competetive nature for a lot of materials is a really fun gameplay mechanic in vintage story.

On the other hand, pottery becomes more or less irrelevant after copper. Making canal pieces from clay as an alternative to allievate lime chokepoint would be really great too.

  • Like 2
Posted
4 hours ago, Hentai Ninja said:

On the other hand, pottery becomes more or less irrelevant after copper. Making canal pieces from clay as an alternative to allievate lime chokepoint would be really great too.

The issue with this is, if we’re going for a realistic approach, unfinished pottery is very porous, so it’s not great for this purpose. I would accept it ingame, but it would make a little more sense if it was raw clay: it’s pretty good at keeping water in place.

Posted
1 hour ago, Facethief said:

The issue with this is, if we’re going for a realistic approach, unfinished pottery is very porous, so it’s not great for this purpose. I would accept it ingame, but it would make a little more sense if it was raw clay: it’s pretty good at keeping water in place.

Someone brought up the idea of coating with resin on one of my rants about pottery for water transport. That seems like a good idea to me.

Posted
9 minutes ago, Echo Weaver said:

Someone brought up the idea of coating with resin on one of my rants about pottery for water transport. That seems like a good idea to me.

Yeah, someone… they must be really smart.

  • Haha 1
Posted
Quote

Finding lime is not easy, in my current world i had lime only from dungeon crates and seashells around water reservoires. I still haven't found limestone.

@Hentai Ninja Yeah, you are right. I had this exact problem multiple times. I traveled thousands of block, no lime. Most of the time I find borax hours before lime, but this might be just a coincidence.

Quote

place automated irrigation system from aqueducts on the progression line

I am not entirely sure myself to be honest.

Quote

I like the idea of using lime and choosing priorities [...]

[...] "what would be more efficient in my current situation - leather backpack or ignoring watering schedule" [...]

You argument is quite strong and lets face it, the majority of players will go with the backpack. I mean one of the first thing player do in a new game is gathering cattail and craft basket to increase inventory space (ignoring food, tool of cause). 

If we add the aqueduct to early, when other mechanic, like you mentioned could  get outcompeted by other more useful rescources/item. Add the to late, the aqueduct feature may become obsolete/irrelevant instead of something you really want to have, like the backpack example. We need to give players a good reason why it is worth investing effort and resources in building an aqueduct. Just "nice to have" is not enough. 

Ok, if you are playing without the option to move water source, we have a valid reason. A secound on would aesthetics and immersion, but this may only be relevant for certian player groups.

@Seyko and many others had the idea to introducea dynamic water cycle with "real" water physics and so on. Water will no longer be just a block you can used infinitely, water will be finite and therefore a resource player need to collect (collection rain, ice, you get the idea).

Quote

On the other hand, pottery becomes more or less irrelevant after copper @Hentai Ninja

he issue with this is, if we’re going for a realistic approach, unfinished pottery is very porous, so it’s not great for this purpose. I would accept it ingame, but it would make a little more sense if it was raw clay: it’s pretty good at keeping water in place. @Facethief

Clay as an alternative to screed/plaster, could be a good substitute. Clay is plentiful and easy to obtain, so I think it is a good compromise, even if it is not 100%ly realistic.

Unless we add some kind of glaze which can be added to the fired clay and then you have to fired the glazed clay on more time to get a waterproof canal block.

Quote

coating with resin @Echo Weaver

I will will add all you suggestion to the initial post, once I was some time to do so.

Thanks a lot for you ideas!

Best, Crylum

  • Like 1
Posted

Resin??? Oh hell no!

It's already a pain without the tree-tap mod and no matter how much resin I collect, it is never enough.

Otherwise I like where this is going. 

I wouldn't even consider turning off water bucket source without an aqueduct & reservoir system.

  • Thanks 1
Posted
Quote

It's already a pain without the tree-tap mod and no matter how much resin I collect, it is never enough.

@Krougal Fair point, especially if you don't live near a biome where resin is more common.

Posted
3 hours ago, Krougal said:

Resin??? Oh hell no!

It's already a pain without the tree-tap mod and no matter how much resin I collect, it is never enough.

Otherwise I like where this is going. 

I wouldn't even consider turning off water bucket source without an aqueduct & reservoir system.

What's consuming your resin? It's used for making windmill parts, but I have mine fairly built-out with some extra resin hanging around. Not sure what all the options in the game are yet.

Agreed about moving water source blocks.

I'll put in a good word for digging wells, too, which is the mechanic I really want. That feels more homestead-y than bringing in water via aqueduct.

Posted
3 minutes ago, Echo Weaver said:

What's consuming your resin? It's used for making windmill parts, but I have mine fairly built-out with some extra resin hanging around. Not sure what all the options in the game are yet.

Agreed about moving water source blocks.

I'll put in a good word for digging wells, too, which is the mechanic I really want. That feels more homestead-y than bringing in water via aqueduct.

Yes, wind mill parts, I go through several stacks. I like my mechanical power.

Yes, I would like to see wells too, but I am still not going to sit there and water each block of crops, so the aqueduct and irrigation ditch system is truly needed.

Cisterns too, oh, and of course it should be entirely possible to fill them with rain.

  • Like 2
Posted (edited)
36 minutes ago, Krougal said:

Yes, wind mill parts, I go through several stacks. I like my mechanical power.

Yes, I would like to see wells too, but I am still not going to sit there and water each block of crops, so the aqueduct and irrigation ditch system is truly needed.

Cisterns too, oh, and of course it should be entirely possible to fill them with rain.

No, the well I'm thinking of is the kind that irrigates crops with the aid of windmill power. It would need an irrigation ditch system, so I was thinking of it as part of this sort-of proposed mod that's being brainstormed here.

ETA, well, I'd think for a small farm you shouldn't need windmill power. But, yeah, ditches.

Edited by Echo Weaver
  • Like 1
Posted
5 hours ago, Crylum said:

@Hentai Ninja Yeah, you are right. I had this exact problem multiple times. I traveled thousands of block, no lime. Most of the time I find borax hours before lime, but this might be just a coincidence.

Wow, this really underscores how different it can be maintaining a base in different areas. I live in the middle of a ton of limestone. I had a terrible time finding bees. Still haven't found sulphur. Most of all, I can't find the friggin' treasure trader. 

Posted
5 hours ago, Crylum said:

Clay as an alternative to screed/plaster, could be a good substitute. Clay is plentiful and easy to obtain, so I think it is a good compromise, even if it is not 100%ly realistic.

Unless we add some kind of glaze which can be added to the fired clay and then you have to fired the glazed clay on more time to get a waterproof canal block.

A glaze isn't impossible either. We have glass, which can be crushed. Add the crushed glass on top of the unfired pottery, then fire. Simplistic, but not bad for simulation.

Posted

I still have not come up with a good way of dealing with unloaded chunks. And that might be what's holding up flowing water in vanilla.

What happens if you have a water source in one chunk and a thousand chunks away is the destination. It's possible that both ends might be loaded at the same time, but almost certainly not the entire watercourse. And if one player was exploring and loaded some chunks in the middle, and, let's say, dammed the stream, how would that get communicated to the end? That at some point it should stop flowing? Wouldn't it be kind of like the existing problem with snow sticking around to the middle of summer just because the chunk hasn't been loaded long enough for it to melt? Or the pulverizer output that sometimes disappears if you travel too far?

How can it be handled without being dependent on view distance?

Posted
25 minutes ago, Thorfinn said:

I still have not come up with a good way of dealing with unloaded chunks. And that might be what's holding up flowing water in vanilla.

What happens if you have a water source in one chunk and a thousand chunks away is the destination. It's possible that both ends might be loaded at the same time, but almost certainly not the entire watercourse. And if one player was exploring and loaded some chunks in the middle, and, let's say, dammed the stream, how would that get communicated to the end? That at some point it should stop flowing? Wouldn't it be kind of like the existing problem with snow sticking around to the middle of summer just because the chunk hasn't been loaded long enough for it to melt? Or the pulverizer output that sometimes disappears if you travel too far?

How can it be handled without being dependent on view distance?

Those are good points, and those of us who have used chunk-loaders in the other game know that they add a fair amount of resource overhead.

Some things can just be extrapolated when you come back to an area; like if you have a forge running in...some zombie game...it doesn't keep running when you leave the area, when the chunk gets reloaded, it calculates how long it's been and how much fuel to burn and resources to smelt. As easy as storing a var and doing some simple math. No overhead.

I'm not sure how that could be applied to our theoretical water supply though. Volumetric calculations on bodies of water in a voxel game are cost prohibitive; like what it would take to have a lake go down in height by use. It's why the better lava pump mods for MC started backfilling the holes with dirt.

Also having actual flowing water has significant overhead too. The river mod for example doesn't actually have flowing water, it simulates a directional current, which doesn't take a lot. If it were actually continuously flowing water through the map, your system would crawl.

It would probably have to remain a very simplified system that just assumes you have water flow until you don't.

I can't come up with anything working that doesn't require chunk loaders.

  • Like 1
Posted
8 minutes ago, Krougal said:

Some things can just be extrapolated when you come back to an area; like if you have a forge running in...some zombie game...it doesn't keep running when you leave the area, when the chunk gets reloaded, it calculates how long it's been and how much fuel to burn and resources to smelt. As easy as storing a var and doing some simple math. No overhead.

I'm assuming that's what the game usually does, but perhaps very old parts of the game. The frozen bay in the summer really bugs me, but it seems like it would be quite easy to update a chunk and determine that it's been above melting temp for long enough that all the ice should be gone in that chunk. Same with livestock pregnancies, which is just maddening.

@Thorfinn is right, though -- an entire length of aqueduct would need to know something about its status. Simulating an entire flowing river or flowing aqueduct seems like massive overkill, but if the water flow has been dammed (rather than damned), a loading chunk would need to be able to access some kind of status for entire waterway when it loads. It wouldn't need to be terrible complicated, but there'd need to be some kind of data structure that stays in memory that tracks the chunks containing the waterway with flags for flow/no flow.

Or something. I'm just starting to hallucinate code.

  • Like 3
Posted

Right, @Krougal. And flowing water has been seriously nerfed. Standard practice is 1/8" drop per foot, but if it's not critical, or it's filtered water, 1/16" is not uncommon. VS does 3" per foot. And I think for a workable aqueduct, you would have to pretty much build it as perfectly horizontal, or at most maybe one step every 100 blocks or so. Otherwise it simply wouldn't look like an aqueduct, nor would it reach very far. That's going to probably require a new water block that does not flow, That isn't ice, I mean. ;) 

At one point, I thought maybe you could just use an aqueduct ID number, and do spooky action at a distance, since any changes would by definition happen within a loaded chunk, then I realized you could split an aqueduct, so you could potentially have multiple IDs for any section. There's got to be a cleaner way to do it. I just have not yet come up with it. Or maybe that's just not a problem. Maybe irrigation systems are few enough that an indexed list would be sufficient. I just don't know.

Posted
2 minutes ago, Thorfinn said:

At one point, I thought maybe you could just use an aqueduct ID number, and do spooky action at a distance, since any changes would by definition happen within a loaded chunk, then I realized you could split an aqueduct, so you could potentially have multiple IDs for any section. There's got to be a cleaner way to do it. I just have not yet come up with it. Or maybe that's just not a problem. Maybe irrigation systems are few enough that an indexed list would be sufficient. I just don't know.

Well, it's a graph. Really, it's a tree. Any given length of aqueduct would need to have a parent, and multiple lengths could have the same parent. (Could you merge two aqueducts? A proof of concept wouldn't necessarily need to support every bonkers thing a player could think of.) Data for a chunk wouldn't need to care about what's going on in other chunks. It would just need to be able to look up its parent nodes in the global data structure to see if they are flagged as flow or no-flow.

Posted
17 minutes ago, Thorfinn said:

Right, @Krougal. And flowing water has been seriously nerfed. Standard practice is 1/8" drop per foot, but if it's not critical, or it's filtered water, 1/16" is not uncommon. VS does 3" per foot. And I think for a workable aqueduct, you would have to pretty much build it as perfectly horizontal, or at most maybe one step every 100 blocks or so. Otherwise it simply wouldn't look like an aqueduct, nor would it reach very far. That's going to probably require a new water block that does not flow, That isn't ice, I mean. ;) 

At one point, I thought maybe you could just use an aqueduct ID number, and do spooky action at a distance, since any changes would by definition happen within a loaded chunk, then I realized you could split an aqueduct, so you could potentially have multiple IDs for any section. There's got to be a cleaner way to do it. I just have not yet come up with it. Or maybe that's just not a problem. Maybe irrigation systems are few enough that an indexed list would be sufficient. I just don't know.

Oh, I didn't think anyone was thinking the aqueduct or ditches would have actual flowing water going through them, the overhead would be huge.

No, I thought we were talking having aqueduct/ditch blocks that just have 2 states; dry or filled. Then you'd just need a source and a destination.

Actually, that could be a compromise maybe; chunkloaded source and destinations, and we assume your pipes stayed intact in between (yes, you would still need to place them to make it work in the first place) until loaded chunks in between prove otherwise.

I don't know how VS handles them or how Tyron feels about adding them.

Posted (edited)

Good thought, @Echo Weaver. As @Krougal suggests, go with no news is good news. Still don't know what to do if there is a break. If you know it is off, but start looking in the center of the run, is it rendered on or off at that point? That is how you are going to decide whether to look upstream or down for the break.

22 minutes ago, Krougal said:

I don't know how VS handles them or how Tyron feels about adding them.

I can't think of an example where it does. Maybe gravity and falling blocks? Yeah, I've been pondering how he plans to add rivers, as that's something he's going to have to answer. At least he will if waterpower is still on the roadmap. Medieval Expansion did a good job, but with movable source, it's kind of trivial to get things going.

Edited by Thorfinn
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.