Workers

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

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.
 
And watermills? And workshops? You are both assuming that the AI will do as liberal use of the whip and as good city placement as a top human ( suposedely emperor is already a somewhat elite level ), so you are assuming that the Ai will be able to whip out infrastructure and have dedicated cities as good as the humans. That will not happen for a while, i suppose, even with good coders working on it 24/7.... What I see it would happen with your ruleset and current city placement logic is that most of the AI cities would be small and lack production until Biology put the plains farms working.

I do think that the current logic is a good place to start, and I think it would be a lot better with:
-making the AI workers stay quiet if there isn't any pressing deal to do ( they simply don't stop now )
-changing the valours of the improvements to make them more resilient to destruction, especially improvements that can't be built
-Give a good look to the decision cicles in the way to make them more stable in limit conditions. The current messes are pretty much the result of the AI being pulled to have more food and more production and more cash out of the same place, when the city has not much margin to get much of one without messing with the others. probably making the AI more aware of what it will lose would do wonders in that regard ( does this extra 1 F compensate losing 4 C ? no way..... )

Ok, the best solution would be centralized planning as humans do, but that would require dotmapping and memory, two things that the AI of today simply isn't prepared to use.

P.S Major X-post with Roland. We are developing the same line of argument, i guess....

P.S 2 : I forgot another reason to not go that way. There has been a rule regarding the development of better AI to never consider making hardcoded rules for things in regular game, because a lot of mods use betterAI as their logic decision core. Food, hammer and commerce outputs of improvements can be easily modded and betterAI should be able to cope with that without having to recomplie everytime someone invented a new resource or a new terrain or another ways of improving the terrain ( say, if you could farm tundra or desert in a mod, for a quick example )
 
Top Bottom