Bug or Feature? Wheat and Trees(possibly other plants) grow faster than in Minecraft. #2428

Open
opened 2022-07-14 22:53:07 +02:00 by mxpllck · 10 comments

Title says it all

Title says it all
Author

It's not necessarily a bad thing; waiting around for crops to grow is one of the most boring parts of the game Mojang made.

It's not necessarily a bad thing; waiting around for crops to grow is one of the most boring parts of the game Mojang made.
cora added the
needs discussion
label 2022-07-14 23:05:29 +02:00
Contributor

you can particularly make it go faster by repeatedly loading and unloading the blocks with your farm because it will trigger the catch up mechanic of abms.

We could easily make it slower but idk i think it's fine too hehe.

you can particularly make it go faster by repeatedly loading and unloading the blocks with your farm because it will trigger the catch up mechanic of abms. We could easily make it slower but idk i think it's fine too hehe.
Contributor

The only thing about growth speed is that when you have two 9x9 farm plots you'll make so much crops that you'll need different chests for each crop type, or you'll end up running out of room in one or two, and this without using Fortune on crops. :P

At least it's easier with wheat, which can be packed into hay bales, but beets, carrots and potatoes stack up quite fast. :)

In Minecraft, having 2 farms of 9x9 is next to nothing. :P This is one of the things that feels like it needs balancing but it's so convenient that I happily ignore it most of the time. :))

Related issue: #1909. About the catch-up mechanic, that's weird because if you stand next to the crops they will grow slower, compared to going away far enough and returning. So there seems to be a bug in how this mechanic works. It's great that we have it, but time should be accounted for correctly. Catching up feels more like a speed up.

The only thing about growth speed is that when you have two 9x9 farm plots you'll make so much crops that you'll need different chests for each crop type, or you'll end up running out of room in one or two, and this without using Fortune on crops. :P At least it's easier with wheat, which can be packed into hay bales, but beets, carrots and potatoes stack up quite fast. :) In Minecraft, having 2 farms of 9x9 is next to nothing. :P This is one of the things that feels like it needs balancing but it's so convenient that I happily ignore it most of the time. :)) Related issue: #1909. About the catch-up mechanic, that's weird because if you stand next to the crops they will grow slower, compared to going away far enough and returning. So there seems to be a bug in how this mechanic works. It's great that we have it, but time should be accounted for correctly. Catching up feels more like a speed up.

I think making it a little slower would be good.
Right now it gives wheat so fast (which could be cause of the catch up mechanic) that i can basically stack up on bread without even thinking about it, which is a bit too convenient i guess.
The hunger speed might be another factor too, i almost never get hungry.

I think making it a little slower would be good. Right now it gives wheat so fast (which could be cause of the catch up mechanic) that i can basically stack up on bread without even thinking about it, which is a bit too convenient i guess. The hunger speed might be another factor too, i almost never get hungry.
Contributor

Yes, that's basically the only drawback - it becomes a bit too easy.

Yes, that's basically the only drawback - it becomes a bit too easy.
kneekoo added the
gameplay
label 2022-07-15 08:33:15 +02:00
Contributor

Look its very simple you have an interval and a chance value.

lets say you have interval = 30 and chance = 5:

Every 30 seconds your crop will have a 1 in 5 chance of advancing to the next stage - this all only happens in active blocks.

Now if you leave and come back it will notice that it was unloaded and set the chance to 1 for the next iteration - that's the whole catch up mechanic.

Look its very simple you have an interval and a chance value. lets say you have interval = 30 and chance = 5: Every 30 seconds your crop will have a 1 in 5 chance of advancing to the next stage - this all only happens in active blocks. Now if you leave and come back it will notice that it was unloaded and set the chance to 1 for the next iteration - that's the whole catch up mechanic.

Weird, i don't remember Minecraft ever having a catch up mechanic.

After your comment I kept thinking, if calculating the time diff from when the chunks were unloaded and when the chunks are loaded back to create a rough estimate of how many times to update the crop would be a good solution. does that makes sense?

i.e. if the player unloads the chunk for 110 seconds, it rounds down to 3 crop updates. By only rounding down it prevents exploitation of the system, and perhaps use the 20s leftover (from 110 % 30) so it doesn't get too unfair.

if the player unloads the chunk for a decade, to prevent it taking another decade to load, it could just make all the crops grown.

Don't know if anyone already thought of that, i just got kinda curious.

Also in a little bit of testing it seems the catch up mechanic is indeed the big offender here. When walking about 6 chunks away from the farm (with minimum render distance), every time i come back literally all the crops in a 10x7 farm upgrade to next stage.
When i'm next to them it takes sooo much longer, ~5 minutes in and only 2 wheats have grown fully and some are still in the first stage, which is fine.

Weird, i don't remember Minecraft ever having a catch up mechanic. After your comment I kept thinking, if calculating the time diff from when the chunks were unloaded and when the chunks are loaded back to create a rough estimate of how many times to update the crop would be a good solution. does that makes sense? i.e. if the player unloads the chunk for 110 seconds, it rounds down to 3 crop updates. By only rounding down it prevents exploitation of the system, and perhaps use the 20s leftover (from 110 % 30) so it doesn't get too unfair. if the player unloads the chunk for a decade, to prevent it taking another decade to load, it could just make all the crops grown. Don't know if anyone already thought of that, i just got kinda curious. Also in a little bit of testing it seems the catch up mechanic is indeed the big offender here. When walking about 6 chunks away from the farm (with minimum render distance), every time i come back literally all the crops in a 10x7 farm upgrade to next stage. When i'm next to them it takes sooo much longer, ~5 minutes in and only 2 wheats have grown fully and some are still in the first stage, which is fine.
Contributor

you misunderstand. this is an engine mechanic. the only thing we can change about it is the interval the chance and if there should be catch-up or not.

It might make sense to get the rough timing about like minecraft but reimplementing the exact algorithm is probably a bad idea for at least 2 reasons: copyright and performance.

you misunderstand. this is an engine mechanic. the only thing we can change about it is the interval the chance and if there should be catch-up or not. It might make sense to get the rough timing about like minecraft but reimplementing the exact algorithm is probably a bad idea for at least 2 reasons: copyright and performance.

you misunderstand. this is an engine mechanic. the only thing we can change about it is the interval the chance and if there should be catch-up or not.

Oh welp. I thought it was implemented as a mineclone mod.

It might make sense to get the rough timing about like minecraft but reimplementing the exact algorithm is probably a bad idea for at least 2 reasons: copyright and performance.

Yeah performance could possibly be a problem. Idk what you mean by copyright since Minecraft never had a catch up mechanic afaik.
Quick google search shows that actually lots of people have already thought of that (lol)
https://www.minecraftforum.net/forums/minecraft-java-edition/suggestions/3027976-crops-and-animals-should-grow-in-unloaded-chunks

> you misunderstand. this is an engine mechanic. the only thing we can change about it is the interval the chance and if there should be catch-up or not. Oh welp. I thought it was implemented as a mineclone mod. > It might make sense to get the rough timing about like minecraft but reimplementing the exact algorithm is probably a bad idea for at least 2 reasons: copyright and performance. Yeah performance could possibly be a problem. Idk what you mean by copyright since Minecraft never had a catch up mechanic afaik. Quick google search shows that actually lots of people have already thought of that (lol) https://www.minecraftforum.net/forums/minecraft-java-edition/suggestions/3027976-crops-and-animals-should-grow-in-unloaded-chunks
Contributor

the catch up with abms just reduces the chance value according to time the block was unloaded - but this often results in chance = 1 for already low values so that's why you see a lot of crops growing when you load the block.

the catch up with abms just reduces the chance value according to time the block was unloaded - but this often results in chance = 1 for already low values so that's why you see a lot of crops growing when you load the block.
ancientmarinerdev added the
#P6: low
label 2023-02-03 15:40:14 +01:00
ancientmarinerdev added the
nodes
label 2023-05-25 16:43:44 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: VoxeLibre/VoxeLibre#2428
No description provided.