Addressing the Late-Game Mop-Up

Eunomiac

Chieftain
Joined
Sep 27, 2007
Messages
87
Location
Toronto, Canada
I've played two games with Better AI, and in both games I got off to an early lead that I was able to maintain until the very end. I kept wondering, "why doesn't the AI notice that I've knocked out two Civs already and am clearly hellbent on global conquest?"

Perhaps a simple diplomacy attitude modifier could be implemented, something like "we must unite against the global threat," that steadily increases between those Civs lagging behind whenever one Civ pulls ahead in power? If this modifier could grow so large as to drive remaining Civs into permanent alliances with each other, this could mitigate the "cruising to victory" problem that so often turns the late-game into a tedious mop-up: the merger of two weak Civs could well result in a formidable opponent, keeping things interesting all the way through. It would also increase the importance of diplomacy in military-focused strategies, since you'd want to keep your opponents hating each other so they won't all band together.

It would also work in your favor if you started to fall behind — instead of resigning yourself to defeat, you could look for an AI Civ in similarly dire straits and focus your strategy on luring them into a merger.

This might be outside the scope of Better AI, if the mod is intended to work behind-the-scenes only. But maybe the general idea could still be implemented — that AI civs will notice when someone pulls ahead, and adjust their plans accordingly to keep the game competitive.
 
That's not a bad idea.

Some thoughts...

"We Must Unite Against The Global Threat" ... (Top Civilization Power + all Vassals of that Civilization Power) / (My Power + Your Power) - 1?

Negative effects: Pairs of ultra-small civilizations will really like each other.

BaseGlobalThreat := (Top Empire Power) / (My Empire Power) - 1

If I am the Top Empire, BaseGlobalThreat is 0.
If the Top Empire is 2 times as large as my empire, it is 1.
If it is 3 times, it is 2. Etc.

That might be too strict.

Another idea:
BaseGlobalThreat := (Top Empire Power) / (All Empire Power - Top Empire Power) * 10

that is "The Global Threat is the ratio of power between the top empire, and the rest of the world, times 10".

So if you control 1/2 of the world's power, it is 10. If you control 1/11th of the world's power, it is 1. If you control 2/3 of the world's power, it is 20. Etc.

GlobalThreatAllianceFactor := 0 if you are the Top Empire. Otherwise (Your Empire Power)/(All Empire Power - Top Empire Power) * (NumberOfLivingEmpires-1) * BaseGlobalThreat

Here we weight it. Weak civilizations are not good allies against the Global Threat, while strong ones are. So we seek to cozy up to powerful civilizations.

It works out to "your empire power, divided by the average empire power other than the top one", times the base global threat.

Interestingly, if your empire is not the most powerful on the planet, this would even make AIs like you. Once you cross the boundary and become the top empire, all of these bonuses instantly disappear, as you are now the global threat they want to oppose...
 
A nice idea so long as those who are sure they are my friends and whom I am sure are mine do not adopt this negative attitude. I once aligned myself with the Mongols in the classical age and we were true friends throughout an entire game on a world Conquest Bash- we made a perm alliance at the end and won together.

So maybe so long as the attitude toward you is cautious or less already then this could be added in, but for those who are friendly, they ignore it. Do something that offends them to cautious and WHAM they go the whole hog into hating you.

That might work.
 
There is some precedent for this kind of negative attitude effect ... a civ with many vassals will suffer attitude penalties against 3rd parties. The current behavior is certainly a little odd, if you accept a capitulated vassal other leaders worry about it but if instead you simply take over all their territory there is no penalty.

I agree with Dearmad that the goal should not be to cause all civs to turn on the top one, solid friends of the top civ should not be driven away unless some direct action first makes them doubt the intentions of the top civ.
 
I think there's a non-intuitive twist in there. Civs A-Z, where A is the strongest and Z is the weakest (linearly). If CivA is engaged in a total war against CivB and CivC, and CivD was at war with no one, likely CivD could be considered the GlobalThreat. They are very strong and not wasting resources battling others.

However, if CivA was at war with Civs X-Z, CivA might still be the global threat. Perhaps:

CivGlobalThreatPower = (Civ Power + Civ Vassal Power) - SUM(AtWar Power) / FACTOR1
If CivGlobalThreatPower * FACTOR2 > MyThreatPower, then find GlobalThreatAlly

All in all, I like the idea quite a bit.
 
If we pursue this idea, how about some realistic boundaries. Astronomy certainly needs to be researched... probably industrial/modern era civs? Or have the effect start weak at some era and increase with each era.

Limit/concentrate the effect on continents that have been affected militarily (city conquest in last third of an era) by the "global threat"? Limit to/concentrate on civs that have lost territory or a city to the threat, or that border a civ that has lost a city to the threat?

I've always thought there should be some sort of negative consequence for completely eviscerating your friends. That's another thread though...
 
I don't consider myself experienced enough with Civ IV to be able to assess the subtleties of balancing things, but I agree that we should zero in on the intended result of this tweak. As Dearmad said, the goal isn't to create a dogpile at the end. Instead, I think there are two goals:

  • emphasizing the importance of diplomacy in a military conquest game, to keep your opponents at each other's throats long enough for you to take them out, and
  • ensuring there's at least one competitive opponent at every phase of the game (I would argue that this should trump almost every other concern, save for the player's diligent diplomatic efforts under the above)
Ideally:

IF two Civs are adjacent to each other, AND
IF their merger would create an empire with a score no more than 10% higher than a leading Civ they feel threatened by (i.e. this wouldn't apply to close friends),
THEN the modifier should be approaching whatever adjustment would be needed to encourage a permanent alliance between Civs that would otherwise be at, say, a -4 attitude with each other

The -4 bit ensures that this whole thing won't be undone by old "you declared war on us" and close borders penalties, but instead would require the player's diligent diplomatic attention to keep those Civs apart.

The above could be used to calibrate the "we must unite against the global threat" modifier, which would still have effects long before reaching the threshold for a permanent alliance (like encouraging more trade among weaker Civs, agreements to stop trading with stronger civs, etc.). While I can't be sure, I would assume that the result would be to compress the range of scores behind the scenes long before a permanent alliance entered the picture.
 
-4 "We fear you are going for a conquest victory"

Seriously though, the AI should be made aware of the different modes of winning and act against it like any human player would. This means gifting military techs to the weaker civ being attacked by a strong threatening civ the AI believes might get too strong if it succeeds with it's conquest.
 
if you are already the dominating civilization, every -XXXXXXXX does not matter anymore.

more important is something i have mentioned in another thread:

I would like to see temporary "war alliances" to defeat/decrease the power of a dominating civilization. atm it's only possible by religious votes.

Like: If Power(civ1)+Power(civ2) > Power(dominating civ) which is currently at war (so opponent+civ1+civ2 >>> domination civ) -> civ1 will 'ask' civ2 for a war vs dominating civ
 
-4 "We fear you are going for a conquest victory"

Seriously though, the AI should be made aware of the different modes of winning and act against it like any human player would. This means gifting military techs to the weaker civ being attacked by a strong threatening civ the AI believes might get too strong if it succeeds with it's conquest.

The goal of the better AI projects is in general to make the AI play more like a strong human player. A strong human player in a MP game certainly is aware of this, and reacts accordingly. It would be nice if the AI did understand that a weaker civ was about to be annexed by a threatening civ. We've all gifted military techs in such situations, and programming the AI to do the same should be pretty easy. It would be frustrating though to be attacking your technologically backwards neighbor and come to find out they've jumped up a few military levels in a couple of turns.
 
Is the purpose of the Better AI mod to make the AI play more like a human being, or more like the character in the game would (i.e. as if Augustus Ceasar were really at the helm of the Roman Empire)? I've always assumed the goal was the latter, otherwise we risk ruining the atmosphere/theme of the game. While a player might always gift techs to a weaker civ facing annihilation, I don't know if Augustus Ceasar would.

On the other hand, enemies-turned-reluctant-allies by the threat of some external juggernaut seems very flavorful to me :-)
 
Perhaps the AI could strive to equalize the power courve between less advanced civilizations than it's own?

Example:

Victoria is a bystander. She has medium power and high tech.
Hatshepsut has weaker power than V, and inferior tech.
Shaka has superior power to V, and medium tech.

If victoria spots that Shaka attacks Hatshepsut, she notices the higher power (than herself and of hatshepsut) of Shaka, and the lower (than herself) power of Hatshepsut. In the interest of dragging out the war and keeping shaka from growing too strong, and to further her relations with Hatshepsut, she may gift a few military techs to Hatshepsut.

Some kind of general analysis/equation of comparing power ratings combined with threat to self could be a good basis in AI logic for figuring out how to support and hinder various civs from growing too strong through conquest.
 
Kind of a war through proxy...

perhaps picking a side on each conflict?

if you like Hat more than Shaka, (even if you are say Neutral to Hat) then you might want to support her in the war whatever the power balance. If you dislike both of them , support the weaker to prolong the war and weaken them both.

As for the strength element - the stronger another opponenet is the better relationships have to be to avoid a "we feel threatened by" reaction, so if they are twice your power you might feel threatened if you have neutral relations, but if relations are more positive you wouldn't feel threatened until perhaps three times the power. Actions would be to propose defensive treaties with similarly threatened nations, or pre- emptive military action.
 
Back
Top Bottom