In my recent experience, the A.I has a hard time with revolutions. Mind you, not as bad as to cripple them. Here's specifics:
A holy city that doesn't have state religion will probably revolt for a real long time (until renaissance and beyond) for the A.I.. I think that's fair.
A lot of civs break off WAY TOO EARLY for the A.I.. Playing G.E.M with 26 civs, the civ count (living and dead) tends to hit 50 (the max) a quarter of the way through the game. Civs splinter really quick, leaving barbarian revolters for the rest of the game and no option to release a colony vassal. Maybe there can be something where Rev doesn't kick in for the 1st 5th of the game, or just spawns no new civs?
The A.I cannot manage islands/colonies in the early game. I've seen it multiple times where Khmer or India will found cities in indonesia only to have them go to constant revolt. Madagascar and Faroe is the same. They all end up inevitably barbarian. Maybe the revolt could be lowered for colonies, and raised for distance to palace to balance things out?
This. I often change the modifiers to make nearby "colonies" easier to hold than distant cities on the same continent. For example, on GEM, it should be easier for England to hold a city just across the channel than for France to hold a city in Russia. Not that I've seen that exact situation, but in general I have seen the AI consistently lose all overseas cities with the default modifiers.The A.I cannot manage islands/colonies in the early game. I've seen it multiple times where Khmer or India will found cities in indonesia only to have them go to constant revolt. Madagascar and Faroe is the same. They all end up inevitably barbarian. Maybe the revolt could be lowered for colonies, and raised for distance to palace to balance things out?
if( not capital == None and not pCity.isConnectedTo(capital) ) :
I'm poking a little at Revolutions.py to see if I can ferret out why a city that is connected to the capital with Cart Paths has a HIGHER distance increase in the RevIndex than a city that is not connected at all. I find this particular issue to be both counter-intuitive and extremely frustrating (almost to the point of making the Ancient Era unplayable for me). I am trying to parse a particular line of Python code in the file. Line 1302 of the file reads:
Code:if( not capital == None and not pCity.isConnectedTo(capital) ) :
If I read this right, this returns TRUE if both the player has a capital and the other city in question is NOT connected to the capital, correct? Or what does this mean?
Likewise, do getTradeRoutes and getTradeRouteModifier do anything now that Trade Routes are eliminated? Are these factors just zero?
if( not capital == None and not pCity.isConnectedTo(capital) ) :
cityDistCommBonus += min(150, 50 + pCity.getTradeRoutes() * 10)
cityDistModifier = ( 307.0*cityDistRaw / cityDistMapModifier ) / ( 1.0 + ( cityDistCommBonus / 100.0 ) )
My experience on Monarch difficulty is that there are perhaps too many revolutions going on. The AIs seem to be suffering from revolutions, and I'm definitely suffering from them, really early on in the BCs. It could be my sloppy playing, but in my opinion having the revolution and unhappiness mechanisms feeding each other isn't that fun to play with. Unhappy city => revolution => even more unhappy city with more rebels.
The distance penalties for both unhappiness and revolutions are quite high, but I guess that's intentional and I'm ok with it.
I had a weird thing happening in one game, I'm not sure if it's intentional or not? I razed an Ottoman city, and some turns later sent a settler near that location, around 3 tiles away from the razed city. The culture in that area showed neutral since I had razed all the Ottoman cities nearby. After founding the city, it had 0% Persian culture, 10 unhappy faces for wrong nationality, and was definitely doomed to be a nest of rebels for the following 2000+ years... RevIndex was rising high because of nationality penalty.
Also the "Too big city" unhappiness mechanism in the ancient era at least feels a bit sloppy. Jumping from zero to 4 unhappy faces when growing 1 pop feels just plain wrong. There have been several cases where I just can't work some tiles for hammers/commerce just because the tile creates too much food also. Having a start with lots of food feels bad in the current version, and that's just plain weird. Are the unhappiness values editable somehow in the xml or does that need coding? I haven't suffered from unhealthiness that much in recent games, I think that should be the other limiting factor, rather than the steep and sudden unhappiness at size 4. I would be more happy to see a heavy unhealthiness penalty for big cities in the early eras, in addition with a moderate unhappiness factor.
if( not capital == None and not pCity.isConnectedTo(capital) ) :
cityDistCommBonus += min(150, 50 + pCity.getTradeRoutes() * 10)
bCityIsConnected = pCity.isConnectedTo(capital)
if bCityIsConnected :
eRouteType = pCity.plot().getRouteType()
bTechRouteModifier = False
if eRouteType != -1:
for i in range(gc.getNumTechInfos()):
tech = gc.getTechInfo(i)
if(gc.getRouteInfo(eRouteType).getTechMovementChange(i) != 0 and pTeam.isHasTech(i)):
bTechRouteModifier = True
break
if bTechRouteModifier:
cityDistCommBonus += 150 - ( gc.getRouteInfo(pCity.plot().getRouteType()).getFlatMovementCost() + gc.getRouteInfo(pCity.plot().getRouteType()).getTechMovementChange(i) )*1.25
else:
cityDistCommBonus += 150 - ( gc.getRouteInfo(pCity.plot().getRouteType()).getFlatMovementCost() )*1.25
cityDistCommBonus += 150 - ( gc.getRouteInfo(pCity.plot().getRouteType()).getFlatMovementCost() )*1.25
cityDistCommBonus += 150 - [COLOR="Blue"]min([/COLOR]( gc.getRouteInfo(pCity.plot().getRouteType()).getFlatMovementCost() )[COLOR="Blue"], 75)[/COLOR]*1.25
(...)
Maybe everything's working as intended and I just did a good job at crushing the revolutions, but *permanently*?(...)
Actually you should get a popup asking you if you want to accept that city or not. And you certainly can refuse it. Can you upload a save? I'll have a look when I have some free time.I don't like the fact that AI cities constantly revolt and join my empire without my permission.I'd like an option to accept them or not.I don't want to keep most of these cities so I gift them back to other civs but after a while they revolt again and join me ...etc.
Actually you should get a popup asking you if you want to accept that city or not. And you certainly can refuse it. Can you upload a save? I'll have a look when I have some free time.I don't like the fact that AI cities constantly revolt and join my empire without my permission.I'd like an option to accept them or not.I don't want to keep most of these cities so I gift them back to other civs but after a while they revolt again and join me ...etc.
Have you also tried bribing the city?After a nineteen turn (!!) period of revolt, the city finally comes out of it and is productive again...... For one single turn.
View attachment 399162
Usually I got 2 ~ 3 turns of peace between revolutions, and then 14 ~ 18 turns of stalled productivity - now I'm down to one turn
I managed to get the other city off-screen under control a while ago, it's Safe now but this city just refuses to give in. Can't add any culture or happiness buildings to it (Not that they really seem to help...) because of the HUGE stretches of times the Revolutions cripple the city compared to the pitiful amounts of time it's not revolting, so I don't really know what to do with it. The Patrol promotions don't help with these situations do they? Reduce the chances it'll revolt again the turn after it comes out of revolt? I still don't know what the Patrol line is really supposed to do...