Ah, I see. But wouldn't the game need to track an awful lot of data (not to mention deciding what effect goes with what fictional plant) to get this working?
Yeah, a bit of data is needed, that's for sure. If you wanted 1 "number line" from -n to +n, you could add that in using as few as 3 bits per farm (it'd be a small scale and multiple plants in the farm that wanted different soil types (one thrive + and one thrive -) would both get as if they were at 0.
Though I think a dual scale (ie two lines from -n to +n) would allow for more interesting crop interactions.
Ex.
N: Nitrogen
P: Phosphorous
Plump Helmets like +N and -P (and moves soil -N and +P)
Cave wheat like +N and +P (and moves soil -N and -P)
Sweet Pods like -N and -P (and moves soil +N and +P)
Pig Tails like -N and +P (and moves soil +N and -P)
Quarry bushes like 0N and +P (and moves soil -N and -P)
6 bits of data per farm would give you a -3 to +3 scale on both (with 1 extra state on each left over if you want to have a perfect middle), which isn't much, as we're talking per-farm. No reason to do it per-tile.
Final thought: 7 degrees of variation doesn't quite work because each plant would add or subtract 1. but what if we did it such that the "scale" was dependent on the size of the
farm? Largest farms are 10x10 (100 tiles) and you can easily get enough sliding scale space in 7 bits (14 total). Thought we might want 100 on each side, so add a bit. 8 (and 16), which is a mere two bytes per farm. Sounds good to me!
(Plants would modify the soil value upon maturation IMO)