Roland Johansen
Deity
I'm with r_rolo1 on this one. I also think it would be a huge step backward to let the AI always pick a certain tile improvement for a certain terrain type. For instance, the all cottages on grassland idea would create cities that barely grow when they don't have access to a food resource. In general, the approach
would result in barely any growth or production when the city doesn't have access to a food resource. No, the number of farms has to depend on the amount of food available to the city. Also, such a city couldn't get any production without hills or slavery.
Other problems:
-you can't farm all plains if the AI can't create irrigation chains as not all plains are adjacent to fresh water or other plains tiles.
-you're not using tile improvements like workshops, lumbermills, watermills and windmills which can often be far superior to the cottage, farm and mine improvements. Some source of hammers is needed when the city has few hills.
While there are serious problems with the current worker algorithm, it at least looks at what the city needs the most. That is a good thing. The problem is that those needs aren't stable for some reason. The parameters that make the AI decide what a city needs should depend on more constant factors so that they go for a final best improvement of the city. They should depend less on the current happiness and health of the city or on empire wide elements (war, more research required, more units required) as those changing factors would result in constant reimprovement of the area around a city.
I think the AI should try to locally optimise that one city without taking into account the whole empire as those empire wide requirements aren't constant enough. Later, an improvement might be made in trying to make the AI dedicate some cities towards a certain purpose (units, research), but again that dedication needs to be stable, unchanging.
1. Always improve special resources
2. Always mine hills (and chop away the forest from hills)
3. Always cottage grasslands
4. Always irrigate plains
would result in barely any growth or production when the city doesn't have access to a food resource. No, the number of farms has to depend on the amount of food available to the city. Also, such a city couldn't get any production without hills or slavery.
Other problems:
-you can't farm all plains if the AI can't create irrigation chains as not all plains are adjacent to fresh water or other plains tiles.
-you're not using tile improvements like workshops, lumbermills, watermills and windmills which can often be far superior to the cottage, farm and mine improvements. Some source of hammers is needed when the city has few hills.
While there are serious problems with the current worker algorithm, it at least looks at what the city needs the most. That is a good thing. The problem is that those needs aren't stable for some reason. The parameters that make the AI decide what a city needs should depend on more constant factors so that they go for a final best improvement of the city. They should depend less on the current happiness and health of the city or on empire wide elements (war, more research required, more units required) as those changing factors would result in constant reimprovement of the area around a city.
I think the AI should try to locally optimise that one city without taking into account the whole empire as those empire wide requirements aren't constant enough. Later, an improvement might be made in trying to make the AI dedicate some cities towards a certain purpose (units, research), but again that dedication needs to be stable, unchanging.