re: AI settle logic. i wrote most of that, so i kinda feel responsible. what exactly is wrong, respectively can be optimized?
please try to formulate clear rules and conditions which can be actually be implemented.
3 Main issues:
1. Settling cities in the closest gaps / extremly close to hostile nations.
This is the most annoying part of the AI settle logic. Completly useless, nearly undefendable cities, spammed into the last possible corners, only to get one strategic ressource or luxuries (which they some times already have).
No human (or atleast no normal thinking human) would place such cities against other humans. If I see someone doing this, I will ask him which source code hes using and send them to you.
2. settling extremly aggressiv and span its own borders to extreme distance
This is also annoying, and I often have the feeling all AI are settling first into my direction, even they have a lot of space into the other directions. Really asking me, if you coded a "human annoying" factor in, to piss off every human player and secretly laught every time thinking about that.
But atleast, I can understand (in most cases) aggressiv settling and picking spots early to deny the best spots to others, cause I want to do this too. But sometimes this is ridicoulus overdone, creating cities 4 tiles away from the border of an other empire, while your own border is 10-20 tiles away with plenty of land between those borders.
3. deny to settle anything for long, long time (not directly settle logic, but concerns the theme)
Seen this now several times, especially rome, sweden and songhai are sitting with plenty of military units at their capitol and didnt send any settler. Sometimes the they start settling after that period, or they declare war, run around relative useless with their units and start settling after the war. Perhaps this can be legit for humans who can use superior military tactics (and the ability to reload if it does not work), but that's often the deathblow for the nation, which sits normally till mid or end of the game at the bottom of the scoreboard.