Jump to content

Hydro Power as an Exploitable Resource

Silent Shadow

Recommended Posts

With the concept of mechanical power in the game, there should be a water powered alternative to wind power that is not innately always better than windmills. Windmills should have the advantage of being able to be built in most places and have power year round, with the disadvantages of having variable power levels and requiring flax sails to build. Watermills should produce more power that is reliable and require no flax to build (still need the mechanical parts though so planks, resin, fat, and the tools), with the disadvantages of freezing in winter (no power in cold winters), and only being able to be built in a few areas. Here is how watermills should be implemented in the game.

First of all, hydro power would only be harnessable under a specific circumstance, and that is from water flowing from a high natural water block to the top of a lower natural water block (called a stream from here on out). Players can build ditches and aqueducts to enable flow from high natural water blocks to lower ones, but any water they place will not complete the stream, so they must find these height differences in the world. The availability of the high and low natural water blocks can be limited by the world generator to balance the availability of exploitable hydro power in the world. This helps maintain the balancing of water wheels since players cannot just build them where ever, but where they do, they can provide a lot more power than a single windmill can. I would also highly recommend having the water players place evaporate after a while to make this more feel more "natural" to them.

Secondly, extractable power would depend on the height difference from the high natural water block and the water wheel, which must be in the "stream" established above. Each block of the stream has a power value and a mass multiple that is updated as the water changes. Starting from the top natural water block, a power value starts at zero with a split multiple of 1.0, and these are passed on to the next block in the stream. If the next block is below, then power is incremented by a power step (the gain that 1 block of water would gain from a single block drop) multiplied by the split multiplier. The value is then passed to the next block. A waterwheel in a stream block extracts a percentage of the power (66.7% in the example below) and that percentage becomes rotational power along its shaft. The rest (33%) is retained in the stream and is passed along to the next block. The power value updates end with the low natural water block.

If the stream splits, then the power value and mass multiplier of the block are divided by the number of block the water splits into. These values are then passed along to blocks that only make up a stream. This is to prevent players from splitting streams early and effectively multiplying the power they can extract from a single natural water block. Power values are not tracked for non stream falls to limit the number of calculations for performance.

Joining streams should simply add the mass multiples of the streams to together to a max of 1.0 and add the power values of each stream to the joining block. This means that streams can be split up and rejoined, allowing some interesting power distribution designs, with no penalties. If multiple natural water block sources are joined, their power is added to a single stream but the mass is not, meaning that power will have been lost for additional height drops. This is mainly to avoid complications in having more mass of water than a single block can occupy such as overflows or backing up the flow path as these results may confuse the player and would be difficult to program.


The current (haha) graphics for flowing water could be redone to make the flow of "stream" water more consistent with reality, such making the split streams thinner to reflect the smaller amount of water flowing in them.

I think this may also provide the framework for adding rivers, brooks, and actual streams into the game at a later date capable of driving water wheels.

The devs should set the {base power gained per block height constant} and the frequency of the {high natural water blocks spawn rate} such that water wheels can only be built sparingly compared to wind mills, but produce more power on average.

  • Like 3
Link to comment
Share on other sites

  • 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.