Page 1 of 1

City growth rate formula

Posted: Fri Jul 01, 2011 11:09 pm
by Implode
Can someone help me verify this. The strategy guide page 196 states the city growth formula to be:

Base Growth Rate = (Max Size - Current Size + 1) / 2 (rounding up)
Actual Growth Rate = (Base Growth Rate * 10) + applicable mods from granary, farmer's market and race

Now, they also state an example of a city max 22 current size 12, saying this would be
(22 - 12 + 1) / 2 = 4.5, rounded up to 5.

That's just wrong, (22 - 12 + 1) / 2 = 5.5 not 4.5. Having tested this a bit by trying some cities in the original MoM using races with no growth modifier (like high men), with no granary and no farmer's market, constructing something other than Housing, I believe the example is right and the formula is wrong. I think its actually -1 not +1, so

Base Growth Rate = (Max Size - Current Size + 1) / 2 (rounding up)
The example is then (22 - 12 - 1) / 2 = 4.5, so is then correct.

If anyone can test this out a bit to verify what I found that would be a great help :) I spotted this by writing unit tests against the Java code. I think the old Delphi MoM IME code is also wrong, because I just wrote it like the formula said and assumed it was right.

Thanks :)

Re: City growth rate formula

Posted: Thu Jul 21, 2011 6:49 am
by Lucern
Hey Implode,

I just saw this...I've solicited the aid of the Realms Beyond MoM community on this one.

http://www.realmsbeyond.net/forums/show ... post161777


(roughseas.ca)

Re: City growth rate formula

Posted: Fri Jul 22, 2011 9:35 pm
by Lucern
Thanks to I_Like_Serena over at Realms Beyond:
I once did an analysis and found the following:

  • Max Pop is equal to the Max Food plus effect Granary (+2 food, +20 growth, +6 MaxPop) and Farmer's Market (+3 food, +30 growth, +9 MaxPop)
  • Pop Growth is (Max Pop - Pop) x 5 rounded upward to a 10 fold plus Racial Growth modifier
  • When a city size increases (by 1) the population is rounded downward to a multiple of 1000
  • Housing increases growth by 2% times Production, that is, GrowthHousing = Growth x (1 + Production x 2%)