It is time to limit growth of city factories. I think that *.dat file of factories for building in cities would contain this line:
one_per_citizens_number=number
where number means how much people have to live in city to that factory can be built there. Of course number means the lowest number and then multiples of that number.
And why this limitation of industry growth? Because (for example) three waste yards in village with (for example) 500 people is too much.
Well, for example a chemist needs less workers than a steel mill, so unrealistic things still can happen. Further, what do you do with factories outside town, like grain farms and power stations? They don't belong to a town, but magically get workers too.
I think this might complicate the creation of a new industry chain.
Other kinds of objects like curiosity buildings have that parameter called BuildTime but I don't know what would happen if you add it to a factory dat file, I mean, perhaps the game engine realizes about it and applies the rules related or it just ignores it because that attribute doesn't correspond to that kind of object.
1. country factories? Nothing - they would stay as they are now.
2. I don't think so - I have not made any factory yet but for factory you need only goods' names (for production and/or consumption) - and (of course) name of object name of factory you make
for example bakery:
inside you have only factory name and below you have only name of consumpted good and producted good. Nothing else. It is reason why I think that it cannot make preparing new industry chains difficult.
Obj=factory
name=bakery
copyright=Patrick
Location=City
#needed productivity in tones : 700 (5 trains / month)
#size : 3x3 = 9
#average productivity per tile : 39
DistributionWeight=1
Productivity=640
Range=200
pax_level=30
#Smoke=industry_smoke
#SmokeTile=0,1
#SmokeOffset=-13,-28
#SmokeSpeed=96
#total flour input 500
InputGood[0]=flour
InputFactor[0]=70
InputCapacity[0]=5000
InputSupplier[0]=0
#OutputGood[0]=food
#OutputCapacity[0]=400
MapColor=119
Dims=3,3
BackImage[0][0][0][0][0]=bakery.0.2
BackImage[0][1][0][0][0]=bakery.0.1
BackImage[0][2][0][0][0]=bakery.0.0
BackImage[0][0][1][0][0]=bakery.1.2
BackImage[0][1][1][0][0]=bakery.1.1
BackImage[0][2][1][0][0]=bakery.1.0
BackImage[0][0][2][0][0]=bakery.2.2
BackImage[0][1][2][0][0]=bakery.2.1
BackImage[0][2][2][0][0]=bakery.2.0
# EOF