Crop rotation?
Re: Crop rotation?
The game isn't done yet, that's why.
Where are the greenhouses, bees, windmills, solar panels?
Where are the greenhouses, bees, windmills, solar panels?
X1 / PC gaming
Ontario, Canada
Ontario, Canada
Re: Crop rotation?
Crop rotation is unlikely to ever be in this game without mods.
Re: Crop rotation?
There is currently not enough space in the density layer map to store previous crop information. The density map is where stuff is stored based on small squares about what crop is planted, what state it is in and so forth. There is not even enough space to store info like what day the crop was p,anted, thus precluding adding realistic growth models to the game. Considering how simple the growth is in the base game with no changes whatsoever at least since 11 (when I started playing this game), adding "complex" mechanisms like crop rotation are clearly not seen as priority by the game’s designers.
Re: Crop rotation?
Thank you for the answer.theSeb wrote: ↑Sat Dec 22, 2018 12:15 pm There is currently not enough space in the density layer map to store previous crop information. The density map is where stuff is stored based on small squares about what crop is planted, what state it is in and so forth. There is not even enough space to store info like what day the crop was p,anted, thus precluding adding realistic growth models to the game. Considering how simple the growth is in the base game with no changes whatsoever at least since 11, adding complex mechanisms like crop rotation are clearly not seen as priority by the game’s designers.
A city building game in alpha done by one guy in Ukraine has a realistic crop rotation system so I did not realize it was that difficult.
Re: Crop rotation?
It really depends on the game and how it was created. Doing such a thing is much easier in a city building game, because you as the player cannot just create a field with a little bit of this and a little bit of that and so forth, like you can in a game like FS. It's pretty easy to store past crop information about a field in a city building game. In a game like FS you cannot store past information about each field. You have to store information on each little square of the map. It's not impossible. You need more space in the density layer map, or another density layer map. Adding another density layer map means that all maps must be specially modified.
Making the density map layer larger on the other hand has implications on performance.
Making the density map layer larger on the other hand has implications on performance.
Re: Crop rotation?
Is there information available on the structure of the density maps?
Platform : PC
Re: Crop rotation?
Thank you for the answer. It is useful to know. But as you indicate; if there is a will there is a way.theSeb wrote: ↑Sat Dec 22, 2018 12:56 pm It really depends on the game and how it was created. Doing such a thing is much easier in a city building game, because you as the player cannot just create a field with a little bit of this and a little bit of that and so forth, like you can in a game like FS. It's pretty easy to store past crop information about a field in a city building game. In a game like FS you cannot store past information about each field. You have to store information on each little square of the map. It's not impossible. You need more space in the density layer map, or another density layer map. Adding another density layer map means that all maps must be specially modified.
Making the density map layer larger on the other hand has implications on performance.
Re: Crop rotation?
Is there some reason they couldn't just use an array to store the previous crop for each field? I'm sure there's a number associated with each crop as there is for each field. An array of integers might work, with the element number being the field number and the value being the previous crop. Each time a field is planted, update the array with the new crop.
If the map is made up of a grid pattern, the array would be a little more complex, but not that much.
If the map is made up of a grid pattern, the array would be a little more complex, but not that much.
X1 / PC gaming
Ontario, Canada
Ontario, Canada
-
- Posts: 1875
- Joined: Fri Jun 22, 2018 5:57 pm
- Location: United Kingdom
Re: Crop rotation?
As The Seb said, it’s not just a case of just the fields. As you can make fields anywhere the map they would need to store information for anywhere that could realistically be plowed.thumbwiz wrote: ↑Sat Dec 22, 2018 3:16 pm Is there some reason they couldn't just use an array to store the previous crop for each field? I'm sure there's a number associated with each crop as there is for each field. An array of integers might work, with the element number being the field number and the value being the previous crop. Each time a field is planted, update the array with the new crop.
If the map is made up of a grid pattern, the array would be a little more complex, but not that much.
Re: Crop rotation?
Because that would be a huge array since the squares are 0.5 metres squared on maps which are 2km by 2km and all of that needs to be constantly synced between all of the clients in multiplayer. Arrays of integers are not an efficient way to store data and it's not how we store large data sets. 2km by 2km = 4,000,000 metres squared. Your suggestion then means that we need an array with 8,000,000 values just to store previous crop information for only one year. You need to store multiple years worth to create any worthwhile crop rotation based on reality.thumbwiz wrote: ↑Sat Dec 22, 2018 3:16 pm Is there some reason they couldn't just use an array to store the previous crop for each field? I'm sure there's a number associated with each crop as there is for each field. An array of integers might work, with the element number being the field number and the value being the previous crop. Each time a field is planted, update the array with the new crop.
If the map is made up of a grid pattern, the array would be a little more complex, but not that much.
Re: Crop rotation?
Well we all know they're not known for being efficient. And you're right, first year computer science is probably way too complex for them.theSeb wrote: ↑Sat Dec 22, 2018 4:28 pmBecause that would be a huge array since the squares are 0.5 metres squared on maps which are 2km by 2km and all of that needs to be constantly synced between all of the clients in multiplayer. Arrays of integers are not an efficient way to store data. 2km by 2km = 4,000,000 metres squaredthumbwiz wrote: ↑Sat Dec 22, 2018 3:16 pm Is there some reason they couldn't just use an array to store the previous crop for each field? I'm sure there's a number associated with each crop as there is for each field. An array of integers might work, with the element number being the field number and the value being the previous crop. Each time a field is planted, update the array with the new crop.
If the map is made up of a grid pattern, the array would be a little more complex, but not that much.
It's what a first year computer science student might try though.
X1 / PC gaming
Ontario, Canada
Ontario, Canada
Re: Crop rotation?
The point is that the density maps that are used are actually very clever and efficient in storing the fruit data. It’s your suggestion that isn’t efficient. Hence why the game does not use it.
Re: Crop rotation?
If the squares are 0.5m then 2Kmx2Km = 2000x2000x4 = 16,000,000 values surely? In the old days, that type of data would have probably been stored and manipulated bitwise. The I'm assuming a high-level function of some sort handles the density layer maps. At the client level that data would have to be manipuilated for display purposes to create further sets of data for the display at varying draw distances. It also has to I assume be processed by the growth and weed routines.
Of course, the data might not be stored as a grid array at all. Because large blocks of the field grids contain substantially the same information, it would make sense to store information about the block, and it's location. That makes the processing of the information and changes to it non-trivial.
Of course, the data might not be stored as a grid array at all. Because large blocks of the field grids contain substantially the same information, it would make sense to store information about the block, and it's location. That makes the processing of the information and changes to it non-trivial.
Platform : PC