[Feedback] Testing 224 - Crop growth times

Sounds like the system should have been designed to be less complex. The farming is interesting but it seems to be extremely over-engineered from a mechanic standpoint.

4 Likes

If that were the case then you would get multiple seeds back from a single crop growth.

4 Likes

With a single tomato plant you’d get somewhere around 50 tomatoes on average, depending on the plant’s size and conditions of course. And probably at least a few hundred seeds in total as a result, just from the one plant… Off the top of my head, I don’t remember what the average number of seeds in a tomato is.

Not to mention, common domesticated tomato is sort of self-pollinating. :stuck_out_tongue:

1 Like

Want to know what causes players the most issues with systems in Boundless, to the point of quitting? Uncontrolled RNG, look at the forging threads and can see it. Why such love for RNG in your game design?

Boundless has more RNG built into it than actual life LOL

2 Likes

Farmimg simulation my foot. If it was a farming sim you could get back 1 to 1 or more seeds for most crops.

1 Like

It would be nice if that’s how farming worked in this day and age. Oh yes, there are primitive subsistence farmers around the world who do do that, but that’s certainly not the case in any society today with sufficiently advanced technology to connect to the internet and play online games.

This farming simulation more closely aligned with modern farming: Monsanto sells you their GM seed every year with its death gene and sues you if it finds any self-seeded plants. Dumping oodles of chemicals on your crop hastens ripening times. Harvest is by using AoE combines.

I live in a very rural area with plenty of cash cropping going on. No one saves seed. That’s something done in story books read by city kids and wacky granola-eating pony-tailed people with a predilection for tye-dye hemp shirts or sundresses.

1 Like

Not sure if you are trying to disguise an in insult in here?

So we are doing industrial farming with our hand held tillers are we?

Not to mention the manual planting and harvesting. :roll_eyes:

This is also pretty insulting to the growing organic farms and farmers, and those that choose not to buy mass produced industrially farmed products.

6 Likes

I’m no coder, but I can get to grips with logic, and this doesn’t make much sense to me, as logic would suggest that the system would have to know the state of the crop regardless of whether there was a process in place to allow/stop the crop from proceeding to the next stage.

So surely the amount of data stored would be the same, but the RNG element it’s just another process on top, in fact using up more data space?

If, for some reason I cannot fathom, it takes less data with the RNG added than a linear progression, then surely all you have to do is make the RNG element have a 100% chance? Same system but linear growth time.

I’m happy to be shown the error of my thought process, but that reasoning genuinely makes no sense to me! :face_with_raised_eyebrow: :man_shrugging:

I understood it this way:

Let’s say the crops have 4 (visual) stages over which they grow. Each day advances the crops growth.
That means all crops are fully grown after 4 days.

But what of you want the grops to grow over 8 days?
You would need an additional counter to keep track of the days that have past, because the value that is stored, only keeps track of the (visual) 4 stages.
OR you could give the crops a chance of 50% to grow each day. Then they won’t take exactly 8 days to grow, but on average. ( oversimplified )

hands down i would prefer the extra counter otherwise that means worst case it could take 8-12 days for a 4 day crop to grow if you get bad rng and after the 2ed time of that happening to me i would be done with farming

I oversimplified the math to explain the idea. They are using more complex math the have more control over the randomness.

Minecraft crop growth is also probably based btw.:

true but its also easily 80 times faster then boundless when its takes 37 min to grow vs 3HR’s you are going to notice the RNG alot more

and yes the times are subject to change but i dont think they will drop even close to minecraft levels

I guess my point is that the system would have to know the current state of the crop, regardless of linear growth or ‘chanced based’ growth.

If the crop is at stage 5, why do you need to keep the data for stage 1-4?

Or if each day has a 50% chance to go to the next stage, why would the system require more information if it has 100% chance?

I’m not arguing for or against using a chance based crop progression here, I’m just saying the the reason stated above doesn’t seem logical.

The data cannot be the same because Luca explained there is something else needed. I myself don’t understand the specifics so in some way it might not sound logical but I trust that it IS logical because of what they put in place.

I’d lean to @Kirinvar and the explanation he provided. The additional counter is needed and that extends the data you are tracking. While this isn’t a big deal it means somewhere at some other time you have to account for that data and space that you used up earlier.

So if you do this and make the executive decision that just to give people a consistent growth signal and things people are asking for here at some point another game feature will have to be limited because you used up all your bits.

There is a set amount of data that can be stored. The developers have the huge task of trying to manage this limitation and only add data where it is absolutely needed. That means putting in systems that might not be as ideal as they want but they cannot risk running out of this limited space or the game development stops.

As an example - this is why we only have a few rotations and a few patterns that deco blocks can make. They can’t go too far or they will use up their limited space.

This is an area where the community needs to understand and make a compromise to protect the game instead of putting their interests ahead of the game. Luca isn’t stupid… so he put a system in that could work decently as best as it could considering the constraints they have.

2 Likes

OK, I think I’m starting to get it.

Rather than each plant having its own individual growth ‘stages’ (as had been my thinking), there is a set of universal growth stages that all plants follow, the only difference being the visuals.

And to create variation in growing times using the universal rules, each type of crop has a different percent chance to advance to the next stage each ‘day’.

@Xaldafax I’d kindly ask if you are quoting me again, to please make sure you contextualise correctly, the quote you used makes it seem like I was making a statement, rather than asking a question, as you lifted part of the question and not the whole thing, which changes the tone of my post significantly. Thanks

1 Like

Yeah sorry about that… I was trying to address a specific thing and didn’t want to confuse that, but I can see how it might confuse the other side!

I’m thinking that universal stuff is more inline with what is happening. They must not have had an easy way to do the tracking of day 1, 2, 3, etc without taking up more bits. And since the bit space is like one of the most important thing to manage they have to just make concessions and make a simpler system in one way.

I’m not sure I like the variance either… I think I will just focus on planting and coming back X amount of time later and just accepting the return after I play with optimization. Instead of trying to micromanage a RNG game mechanic… probably give me way too much grey hair.

1 Like

Generally speaking, anything block-based has 8 bits to play with for encoding extra state, eg chiselling blocks uses “all” of those bits to encode the different shape/orientiations of the shapes.

In some cases, we use extra block-ids where those bits aren’t sufficient, eg texture-rotation (because chiselling already uses all the 8 extra bits) uses 3 extra block-ids instead.

For crops, that means that as a base, we have 8 bits to play with.

3 bits are used for fertilizing. There are 3 types of fertilizer (including the “none” type for when not fertilized at a ll) (2 bits) and also a skill that makes fertilizing “better” (1 bit).

That leaves 5 bits for other things, which we use to store the stage of the crop growth for a maximum of 32 stages. Currently we only use up to 8 stages (so 3 bits), but @james is playing with having in-between stages of growth for more visual variance; and noting that more stages means less variance in the growth process (will “act” less randomnly).

Now, crops tick once per day, and say we have a crop which we want to be fully grown in 225 days (fuel crops have this expected growth time); how would you do that? either you need to store the day that the crop was planted so that you can evaulate “current day - day crop was planted” to know how longs its been… but storing that “day” would need a “lot” more than just 5 bits, it would need more like 5 bytes since servers can live for a long time; so it would make more sense to store “how old is the crop (in days)” which involves much smaller numbers, and then each game-day when the crop is ticked, it will just increment that value. For 225 days, that requires 8 bits… but we already used 3 of them for fertilizer. Also note that the (not yet released) prestige crops have an expected-growth time as it stands of 420 game-days + a wither expected time of 1260 game-days which would mean storing a counter up to 1680 needing 11 bits… but lets ignore that for now.

Now, we might be able to use block-ids to get those 8 bits, we need 3 more bits, which means using 8 block-ids instead of 1, but there’s another problem, which is that there are things like lighting/liquid/block conditions/fertilizer that can effect the growth rate, speeding it up or slowing it down, and if we wanted no RNG, then we actually need much more precision in that tick value than “1 day”… we would need something more like “1/32th of a day” meaning another 5 bits for extra precision, and now suddenly instead of an extra 8 block ids, we actually need 256 block-ids… and if we go back to the unreleaed prestige crop, we would need 2048 block-ids which I hope you can agree is a bit much… but there is “another” problem… which is that fertilizer also has a life time (currently 12 hours = 30 game-days) so need another 5bits, and now instead we need 8192 block ids, or 65536 block ids for the unreleased prestige crops… which is more than the entire range of the block-id datatype to begin with… aka this is just not feasible to “not” have rng with a block-data based system… so what else is there? Well we could make it an entity-based system so that there is an entire entity for every single crop… but then we would have to severely limit how many crops can be placed as it would be far too expensive to have huge fields of crops where every crop has entity data to be stored and maintained (and sent to clients! eek bandwidth…)

So instead, introduce RNG, and instead of storing “days since planted” we just store a much smaller value that can fit, which is the “growth stage”, and there is a probability of advancing to the next stage each day based on the desired average growth time, this is a poisson process which gives an accurate “expected” growth time for all the crops without worrying about precision, but as with any RNG is a law of large numbers and sometimes you get very good RNG rolls and the crop will mature “much faster” than its expected growth time (yay!) and sometimes much slower (boo!).

(There is also an entirely non-technical side to the RNG of crops… which is that it just looks better (visually; opinion) to see a field of crops grow somewhat stochastically instead of advancing exactly like a machine, and also gives a reason to be more pro-active in maintaining your crops, checking for those whose fertilizer has run out quicker than expected to fertilize again and get the best rng rolls on growth, or checking for those that have matured more quickly for an early harvest etc.)

17 Likes

i get the system would be nuts without it but you can also see why we are panicking. the forge rng is the thing of nightmares and keeps alot of people away form doing it and now we got to deal with that for mats that we would need for pies and such depending on how bad it is we could see a noticeable drop in the food usage form people just not wanting to have to deal with even 1 season of bad rng and now all of a sudden sometihing super common like teaching pies goes the way of forged tools where only a select few that have the patience to make them do.