Right, that took a bit longer than expected. The formula for growth in resource is pretty simple:
Code: Select all
growth on next tick = 5 if excess > 122.5
growth on next tick = 0.1 + excess/25 if excess between 0 and 122.5
'growth' on next tick = excess/25 if excess is negative
(excess = total resource - resource in use)
but the consequences are more complicated to understand fully.
Here's a "fancy" graph:
*Edit : Image size too large
The raw data is on this Google Docs spreadsheet
if you want to look at it in more detail!
I gave a simulated village with 100 Food in use a total Food supply of 300 and let it run for a bit in my simulation.
As you can see, the growth is linear in the beginning, growing with one unit per second until the food in use reaches about 180 (to be precise 122.5 before maximum), and then it starts slowing down.
You can use this chart for determining how long it takes to grow to a specified target use. Let's do an example: suppose your village is stable at 10 food in use, and all of a sudden you get 50 food extra (so max food is 60). How long does it take to grow to 30 food? Since the growth does not depend on the actual food in use, only the excess, we can shift all the numbers by 240, so the question becomes if your village uses 250 food, the max food is 300, how long does it take to grow to 270 food. That question we can answer: we look up in the chart when the food is 250 (that's about somewhere between 180 and 185 seconds) and when it is 270 (close to 245 seconds), so it takes about 60 seconds. I say "About" because it's unfortunately not an exact science yet :-)
Man, this is difficult to explain in a nice way without getting too mathy!
That's all for now, except that the Google Docs thingy has a second sheet (at the bottom, it's called "Time to grow") where you can see how long it takes to grow from 100 to a given size (given the initial setup). As you can see, the last 5 units or so can really take a long time, so it's worth it to overshoot (as I said before).
If you have any questions, please let me know! This is tricky stuff, and I'm not sure I did the best job possible explaining and interpreting it...