Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow flooding of farming crops #2468

Closed
wants to merge 1 commit into from

Conversation

rubenwardy
Copy link
Member

@rubenwardy rubenwardy commented Sep 8, 2019

This allows harvesting crops using water. It's not realistic, but is very useful

@Fixer-007
Copy link
Contributor

In game physics opens many possibilities, this change is one of them. Minetest is very static and has almost zero interactivity apart from fire/water. This change is the first move to expand it.

@paramat paramat added the Feature label Sep 8, 2019
@paramat
Copy link
Contributor

paramat commented Sep 8, 2019

I'm opposed, but it looks like i will be outvoted 👎

If MC didn't have this feature, it wouldn't be requested or contributed (EDIT: i was wrong), as it doesn't make much sense and is very unintuitive.
I believe that most of the reason some people think this is a good idea is because MC has made it seem normal (not suggesting this is the case for the author).

This will create an opportunity for very easy griefing of crops, and the creation of much more mess when accidental spills happen. Currently, luckily, liquids don't disrupt much.
Harvesting by flooding is indeed not realistic at all, floods destroy crops, so forgetting about MC, it seems bizarre. MTG farming is loosely based on realism in all other ways.
I don't think it makes sense for harvesting to be made this easy, as everything else about farming takes time and effort, node by node, intentionally. It's inconsistent.

I'm not sure servers will be happy about this, please can we get some more server admin input?
@Ezhh any thoughts on this?

@paramat
Copy link
Contributor

paramat commented Sep 8, 2019

If merged, please could this be optional and switched by a setting? It may need to be default off to avoid problems.

@LoneWolfHT
Copy link
Contributor

LoneWolfHT commented Sep 8, 2019

I believe that most of the reason some people think this is a good idea is because MC has made it seem normal (not suggesting this is the case for the author).

If MC came up with it I'm pretty sure we could have too
EDIT: See ruben's post below

This will create an opportunity for very easy griefing of crops, which was one of the concerns discussed before when floodable plants was discussed.

Most server owners prevent placement of liquids above y 0 without a special privilege

Also the creation of much more mess when accidental spills happen.

If you mean when accidentally spilling on a crop: I don't get your point. It would be the same amount of mess as an 'intended flood'

If merged, please could this be optional and switched by a setting? It may need to be default off to avoid problems.

A setting sounds good. I'm neutral on the default

@rubenwardy
Copy link
Member Author

I had no idea that MC had this feature

@paramat
Copy link
Contributor

paramat commented Sep 8, 2019

rubenwardy, LOL ok =)

LoneWolfHT, my point is, currently, an accidental spill of liquid on a crop does not drop the crops.

Most server owners prevent placement of liquids above y 0 without a special privilege

So it seems most players won't be able to use this feature?

Anyway, if optional and default disabled i'll be neutral, some will like it.

@benrob0329
Copy link
Member

So it seems most players won't be able to use this feature?

Just place the farm a block lower

@LoneWolfHT
Copy link
Contributor

LoneWolfHT commented Sep 9, 2019

LoneWolfHT, my point is, currently, an accidental spill of liquid on a crop does not drop the crops.

That sounds fine to me. It's kind of like swords, or even pickaxes. You can kill but you can also be killed. You can mine underground but you can also accidentally mine into lava, and many other things...

So it seems most players won't be able to use this feature?

On the servers I played on trusted players & staff members would get the priv. Then the players that didn't have the priv would just ask the players/staff with the priv to place their liquids for them. Or they would do what Benrob said

@ghost
Copy link

ghost commented Sep 9, 2019 via email

floodable = true,
on_flood = function(pos, oldnode, newnode)
local items = minetest.get_node_drops(oldnode.name, nil)
for j=1, #items do
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for j=1, #items do
for j = 1, #items do

@Desour
Copy link
Member

Desour commented Sep 9, 2019

  • I think, the majority of servers allow placing water (and river water) above y=0.
  • Maybe the items shouldn't be dropped if the flooding liquid (newnode) is lava.
  • It is possible that this change isn't very realistic, but it feels far more realistic than shrubbery (and similar, all that stuff that contains air and isn't too solid) blocking water from flowing.

@paramat
Copy link
Contributor

paramat commented Sep 9, 2019

Instead, how about making the grown crops 'dig immediate' instead of 'snappy', then harvesting would be as quick as walking non-stop along rows, and would not be much more time and effort than picking up many dropped objects.
'Smappy' does seem quite a lot of effort for harvesting, 'dig immediate' seems suitable for crops.

The farming mod is loosely based on reality, but in reality floods destroy crops, so adding something completely opposed to reality seems irrational. It makes as much sense as harvesting using TNT or fire. It would at least make some sense if flooding destroyed the nodes, with no drops (but to be clear i am not suggesting this).

'Not realistic but useful' could justify anything, might as well have the crop pop up immediately after planting the seed =) The point of farming is the loose realism and the effort needed, which improves the game.

@Fixer-007
Copy link
Contributor

Fixer-007 commented Sep 9, 2019

The reason MC has it not just simply because it has it, but because it adds to gameplay, that is why the game is so popular, it has a lot of good mechanics/interactivity that allows you to do a lot of stuff, like farming those crops by water streams that carry them down the hole to a hopper above the chest, that is like year 2011 technology (8 years ago, mind you). Stuff like entity bouncing from each other, stream dynamics, item dynamics and other stuff opens huge possibilities that are still impossible in vanilla minetest game.

The key is interactivity, interaction, dynamics. We only have fire/water/lava/grass spreading, and sinking down in water straight down, that is bare-bare minimum.

@rubenwardy
Copy link
Member Author

My usecase it to make semi-automated farms by allowing the field to be harvested:

unknown1

Farming is currently very work intensive. Below the fields I have pipeworks vacuum tubes which pipe up dropped items, but it items followed flowing water then that would work in vanilla MTG

@rubenwardy
Copy link
Member Author

I don't like limiting the gameplay of singleplayer because of borderline griefing that may occur on multiplayer. Crops don't tend to be that valuable, and water can already do a lot of damage on servers that have drowning

This could be extended to not work in protected areas

@Desour
Copy link
Member

Desour commented Sep 10, 2019

This could be extended to not work in protected areas

That would need different nodes with floodable = false, eh.

@rubenwardy
Copy link
Member Author

rubenwardy commented Sep 10, 2019

That would need different nodes with floodable = false, eh.

If you return true in on_flood then the flood is cancelled. This results in repeated calls to on_flood every fluid update tick, however

@paramat
Copy link
Contributor

paramat commented Sep 10, 2019

MC doing this not being important is actually my point =) i am concerned people will be more likely to think this is rational and acceptable because MC has made it seem normal. MC does some silly things.

Fixer-007, the way i see it is: Interactivity can be added in other ways. A bad idea that adds interactivity is not justified just by adding interactivity, which is what your posts seem to imply.
MT can be popular by adding interactivity but without copying MC features, i'd prefer it adds features that are loosely based on reality as farming is.

Maybe we can come up with a better automated farming idea? Flooding crops to drop them as objects is sloppy and very unrealistic.

It seems to be a feature primarily justified by allowing automation, this is probably why MC added the feature.
Please can we have a setting for this? I can understand why the default will probably be preferred as 'enabled' so i won't insist otherwise.

@paramat
Copy link
Contributor

paramat commented Sep 11, 2019

Hmm ... i'm guessing that this happened in MC because first they had items moving in flowing liquid, and they then realised if liquid dropped crops it would provide a simple way to harvest and transport them. I guess they decided this justified the anti-realism.
But MT doesn't have items moving in flowing liquid (yet), so it's not as obvious a thing to do.

If the justification is automation of farming (which is good to have i agree), i think it is the responsibility of the automation mod to provide a feature that drops the crops, maybe a machine, something better than using flooding to do so. Most farming is not automated so i would prefer the 'dropping' feature isn't a part of the farming mod.

@ghost
Copy link

ghost commented Sep 11, 2019 via email

@Desour
Copy link
Member

Desour commented Sep 11, 2019

Imo this feature shouldn't be added because of automatisation, but because it feels more realistic. Crops blocking water is so weird.
And could we please stop writing about that other game and instead discuss about this feature as it will be in minetest?

@TumeniNodes
Copy link
Contributor

Flooding crops should kill off 1/2 the crops, thus making farming harder... not making farming easier.
In my mind this would make game-play more interesting, because it would cause a need for the player to find a solution. But in real life, this is not the way people think today.

Those of us who think more "reality based mechanics", need to realize that end users are more pleased when things are made easier for them to achieve goals in both gaming life and real life. No matter how unrealistic.
It seems to me, that people are more satisfied with games... which do not challenge them in any way, but rather make everything easier to win/succeed. : /

@LoneWolfHT
Copy link
Contributor

It seems to me, that people are more satisfied with games... which do not challenge them in any way, but rather make everything easier to win/succeed. : /

All the servers would be creative servers if this were completely true.
Farming crops is more monotonous than a challenge. It's just dig, plant, wait, repeat.

@rubenwardy
Copy link
Member Author

Farming became popular because it's more efficient, and frees up time to do other things. Farming in vanilla MTG is time intensive

@ghost
Copy link

ghost commented Sep 11, 2019

It seems to me, that people are more satisfied with games... which do not challenge them in any way, but rather make everything easier to win/succeed. : /

I think that declaration misses the point of the feature. I'm not about to argue for or against the PR itself, but given a choice I believe that water harvesting crops is consistently more interesting than water killing them. I think it's pretty obvious if you step back and think about the context and results.

Under normal circumstances, water is unlikely to be above or at the same level as crops. The only time someone would deliberately set things up this way is if their farm was underground (or otherwise below sea level, like an underwater base) or set up vertically. If water touching plants has no benefit, it will almost never happen except by accident. In other words, it's not a challenge for a normal player, just an arbitrary setback. This is exactly the kind of thing that frustrates people, because it comes out of nowhere.

Now, let's consider the repercussions of harvesting with water. This definitely affects game balance, since it makes harvesting faster and easier. However, it also introduces a fun kind of challenge: Designing a system that, given the current fluid mechanics, can harvest plants efficiently without destroying anything else (such as torches, a pretty common light source). It's not particularly difficult, but it makes the player think about how to use the mechanic instead of punishing them for... what? Accidentally right-clicking? Breaking the wrong node?

Looking through this sort of lens, one side is an unlikely punishment and the other is a mechanic that players will choose to engage with (because there's something in it for them). If water killed plants but also had a good reason to be above them in the first place, then I think these options would be evenly balanced. But as it is, I don't see a good reason to implement the mechanic this way.

Flooding crops should kill off 1/2 the crops

Frankly, this is even worse than the above. If a new player (trying this because they've seen or played another similar game before) gets lucky, they may be led to believe that the method works. Then they'll get punished for it in the future, and it will be entirely the RNG's fault.

With all that said, I also think cherry-picking individual mechanics like this has its own problems. I think one of the reasons "the other game" is so much more engaging is that it's designed more in terms of large interlocking systems, rather than separate interactions. The former lends itself better to emergence, and with it creative problem-solving and a stronger feeling of immersion.

@TumeniNodes
Copy link
Contributor

TumeniNodes commented Sep 11, 2019

Those of us who think more "reality based mechanics", need to realize...

I made that statement, meaning those of us who have a problem with such a mechanic due to lack of reality, should consider that it would be preferred by end users.
I did not make my comment as being against this.
My attempt to point this out was "flooded" out by my side-rant.

Anything which will attract, and keep players engaged is +1 with me.
But.. is such a mechanic best provided as a base feature, or a mod? Can it be optional?
What about those who may not want this feature?

@Desour
Copy link
Member

Desour commented Sep 12, 2019

What about those who may not want this feature?

They can use a mod to override the nodes' on_flood callback (or the floodable field).

@rubenwardy rubenwardy closed this Jul 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants