Combat Odds 0.0%

I can see 2 problems with the doomsday proposals above:

- Conquest can be triggered by vassaling everyone alive. That makes up for sudden shifts of the proposed doomsday number if a civ can vassal 2 or more civs in a turn or two....

-The AI can have a very clear idea of who will vote in who in UN and AP ( pretty much as humans using BUG have :D ) if coded properly. But , given the extremely skeleton state of the AI resolution call code, it is quite unlikely you can predict when a AI will call a diplo win vote

This said, I like the idea of the doomsday clock and I think it is definitely the way to go.

P.S As we are talking of doomsday, maybe making the AI aware of the real doomsday clock in the game ( Global warming ) would be a good idea as well. But that alone would deserve another thread for discussion :p
 
You don't need BUG to predict who will vote for who; the info can be derived via a combination of who's the vassal of who + the relationship points on the detail.

Or even easier: Simply assume that anyone that's not your vassal is going to vote for the other guy so all surprises are in your favor.
 
You don't need BUG to predict who will vote for who; the info can be derived via a combination of who's the vassal of who + the relationship points on the detail.

Or even easier: Simply assume that anyone that's not your vassal is going to vote for the other guy so all surprises are in your favor.

I know you don't need BUG for that ( in fact, if only BUG could give that intel, the BUG developers would not put it there :p ). I'm just saying that the algorithym used to show who will vote for who in the interface could be easily adapted for the AI having a warning sign of a possible UN/AP win .....
 
I think programming it about an imminent Space Race Victory would be easiest and should be first. (I'd trigger it as any opponent has built the Apollo Program and has more parts than I do -> move up war preparations against that player. And I have the Apollo Program and at least as many parts as any other player -> try to win via space race.)

And a Culture victory is also fairly easy; it already when ahead seems to go after it. Just add a check about to lose a culture race by remembering last turn's rival 3rd best city and comparing it with this turn and then calculate how many turns it would take to win at the current rate. If say < 50 turns, probably move up the DOW declarations.

On diplomatic victory: Well, first I would recommend it only calling for Diplomatic Victory in cases where it's extremely unlikely that some other player would win the game. (Or does BetterAI already do this?)

Then I think I'd add the go for Diplomatic Victory logic of if I already had enough of the vote that I can't lose the game by calling it, then do so and then choose the player with the weakest power rating who did not vote for me to begin war preparations against. (Possibly skipping over player's too well liked by those that didn't have to vote for this AI that did.)

I really don't have good answers for war preparations trying to avoid losing a Diplomatic loss; my own diplomatic victories are always conquest-induced and so it's way too late by then.

I think the AI could be taught when closer to domination victory go ahead and win already by some modification to whatever it currently uses to something like as my territory and power increases care more about distance and power rating and less about the relationship.

I don't have good answers on preventing a Domination loss; probably too late by the time it's clear someone is a big threat to that anyway with the large landmass requirement.

I would guess the go for conquest would just piggy back off the go for Domination victory check above by running it even if Domination is disabled but Conquest is.
 
Yeah, that's exactly the idea ... knowledge that someone is approaching the end game should spur some action, make the AI put more resources into pursuing its route to victory and/or cause it to speed up decisions it was already considering.

An exact clock is also not necessary I think, it's only necessary to know that the other player is getting close ... ie, given what I know about civ X, are they getting close to victory type Y? Unless you're fairly certain you will reach a victory condition first, knowing someone else is "close" should be enough to motivate you. Close could be:

Space: Apollo and 1/2 space techs and 1/2 space parts
Culture: 3 cities over (2/3) of winning culture
Domination: (2/3) of pop and land percentages
Conquest: Huge power advantage over remaining free players
Diplomacy: Would get 80% of votes needed for victory (and are UN/AP resident?)
Time: Ahead in score with 10% of turns to go

We've totally thread jacked at this point ... I was planning on starting a thread on this and some other ideas I've been toying with to get you all's input soon though anyway.
 
Yeah, that's exactly the idea ... knowledge that someone is approaching the end game should spur some action, make the AI put more resources into pursuing its route to victory and/or cause it to speed up decisions it was already considering.

I wouldn't mind if relations also changed a little when victory is close:

Opponents who consider you their worst enemy get a -5: We don't want you, our worst enemy to win
Furious opponents get a -3: We don't want you, our enemy to win
Annoyed opponents get a -2: We don't want you, our opponent to win
Cautious opponents get a -1: We don't want you to win, we want to win ourselves


When the permanent alliance is checked as an option and the potential winner doesn't have a permanent alliance partner yet:

Pleased opponents get a +1: If anyone else than us is to win, then we wouldn't mind if it were you
Friendly opponents get a +2: We would love to win together with you

Pleased and friendly opponents actively try to become the permanent alliance partner of the potential winner.

This would of course work even better when a permanent alliance could consist out of more than 2 players. In that case, the world would divide in 2 factions, pro-winner and against-winner, when victory is getting close.

Of course, this is more than a beneath the hood AI-change so maybe not applicable to this mod... :confused:


Another change could be that if someone is getting close to the domination of conquest victory types, then he will be disliked. That's pretty reasonable as this civilization is actively conquering and destroying civilisations and it should be apparent for the remaining civilisations that it is not going to end well for them if they don't take action.
 
I am somewhat surprised that there is hesitation to have the AI go after someone who has launched a spaceship. WTH is the AI doing if not trying to win? I have seen enough "We would rather win the game, thank you" in it's diplomacy, shouldn't we expect the AI to try to win? If someone launches a spaceship, to me *not* having the AI go after a player that is about to win is weak AI. And if *I* launch the spaceship, I sure expect the AI to come after *me* for certain...
 
There are many examples that show that the AI in civilization IV is far from ruthless. For instance, it will not use its starting units at high difficulty levels to rush and destroy another civilisation like the human one that doesn't have those bonuses. Furthermore, an AI civilisaton will never plan to start a war with a civilization that it's friendly with and many of the more peaceful civilisations will not even plan to start a war with a civilization that it's pleased with. I don't thing that the BTS BetterAI mod is planning to change these restrictions for the AI, but maybe I'm mistaken.
 
I am somewhat surprised that there is hesitation to have the AI go after someone who has launched a spaceship. WTH is the AI doing if not trying to win? I have seen enough "We would rather win the game, thank you" in it's diplomacy, shouldn't we expect the AI to try to win? If someone launches a spaceship, to me *not* having the AI go after a player that is about to win is weak AI. And if *I* launch the spaceship, I sure expect the AI to come after *me* for certain...
If you want to have more than one chance in hell of winning the game in anything above Warlord or Noble, the AI has to not be a cold blooded gamer. That is undiscussible ..... otherwise the AI will always look to the weakest target to chew out, that in the higher levels will create, in 90% of the times, a dogpile on the human.

Other than that, the scenario you are proposing is probably even worse for the AI, regardless of being the attacker or the defender ... I can't see a AI launching a SS and being able to defend it self from 4 or 5 other AI targetting to burn his cap, and, given the leisure pace that the AI builds/upgrades units ( they don't draft/whip/$rush anywhere close of the efficiency of a human ) , the attackers would probably have some issues regarding fast moving a decent force against the AI that is about to win as well. This is not better than the current way of doing things, because it would lead to a Total war state as soon as the first civ even thinked on doing a SS ( or making the AP/UN or try culture... the argument line is the same ). In fact this is about the same issue I notice in the Agg AI option until maybe Emperor/Immortal ( where the AI starts having enough handicap to sustain the extra units they actually build ): the AI throw at each other throaths and a human with a solid defense/diplo can dodge the warfare pretty nicely and win the way they like when the AI are burned out by their own agressiveness. not mentioning that would probably make any non-military way of winning the game a cosmetic option in 90% of the cases, because ( like I seen written about the Willem II Germany ) if you are strong enough to defend yourself of all of your possible foes combined ( you would need to do that if you wanted to win by space if every AI jumped to the boat to burn your cap ) you are definitely strong enough to destroy every one of them if you do it one by one. Not mentioning what the world would be after the inevitable nuke shower of those wars..... :(

I concur with the point you make... if you are trying to win by space, it should be expectable that one AI or two think on knocking at your door. But what you are failing to see is that what would happen if you implemented things as you said, AI sees SS build = military rush to enemy cap, and multiply by 6, 17 or 39... and the same reasoning can be made to culture or diplo wins. Not mentioning what the AI would do if there were 3 or 4 possible launches to stop :crazyeye:

P.S The AI in BTS not only doesn't think on burning a cap to stop a SS, it also not expects that anyone does that. That can be seen by the code that prevents the AI of launching the ship if there is one with 100% prob in the air that will get there before theirs. If you make the AI willing to burn a cap with the enemy SS in the air ( to say the truth I see that "feature" as nothing less than a bug, but that is just me ), IMHO this restriction should be lifted too.
 
So an AI should emphasise defending his capital as soon as he launches a spaceship. A human player will target this city.

In fact, it might be wise for the AI to move his capital inland as soon as he launches, or at least as far away as possible from rival borders, to minimise the chance of losing the city quickly in a defensive war.
 
There are many examples that show that the AI in civilization IV is far from ruthless. For instance, it will not use its starting units at high difficulty levels to rush and destroy another civilisation like the human one that doesn't have those bonuses. Furthermore, an AI civilisaton will never plan to start a war with a civilization that it's friendly with and many of the more peaceful civilisations will not even plan to start a war with a civilization that it's pleased with. I don't thing that the BTS BetterAI mod is planning to change these restrictions for the AI, but maybe I'm mistaken.

I think that this is a direction that must be predetermined when anyone works on AI. In AI, there is two types of approach. Should that AI simulate or compete? This simple question can be the deciding factor for AI.

AIs that simulate attempt to act like an actual civilization would, attempting to please other civs and trade ect... winning is not their main goal, but rather to entertain the player as best they can by simulating a world full of civilizations. These AIs roleplay. These AIs, generally speaking for all games, will typically never refer to the game or show any signs that they know they are playing a game, ever. These are typically good for players who want to have a less competitive game with less strategy and more of a sandbox.

Then there are AIs that see a game as a game, and will use any means necessary to win. They see everyone as a possible asset or a threat, most likely the latter. They will play competitively and shares the same goal with as the player: to win. These AIs, generally speaking for all games, openly "know" that they are playing a game to win, and will use meta-game like the human such a REXING and ZERGING and CLASS RUSHES. This is good for players who want to fight the AI, beat the AI and want the AI to attempt to beat them. It's survival of the best tactician.

So, does BetterAI simulate or compete?

I don't think a simple answer to many of your questions would easily come to you without answering this one first.
 
Blake has stated multiple times the AI in Beyond the Sword is set up as a hybrid of those two aproaches. The AI plays as a "Roleplaying Player", ie it attempts to compete, but in a way that fits it's "personality".
 
IMO, if the AI is trying to win, the warmongers should push military wins a little harder. A while back I screwed around in the XML to create a super AI. It had a unitprob of 80 and would declare at any disposition. However, it waited to declare until it had about 160% of the target's power.. I also set its unitai to collateral since that's where the AI usually lacks on the offensive.

Now mind you, this was NON better AI, but test games with this civ in it saw it consistently walking all over its opposition, and keeping up decently in tech regardless. It would typically win UN, domination, or capitulation conquest.

The one thing I couldn't get it to do using only XML was deny its targets from capitulation, unfortunately.

Nevertheless, it was a very powerful monster and a deity player who attempted a game with it on immortal got steamrolled early ;).

I think the AI's balance of attempts at war vs peace victories is a little off consequently. If some mild XML tweaks can make military AIs more effective, this is a route at least worth a look, especially with 3.19 making it so that vassals are always willing to trade (meaning if a warmonger collects vassals it will tech better than ever).
 
IMO, if the AI is trying to win, the warmongers should push military wins a little harder. A while back I screwed around in the XML to create a super AI. It had a unitprob of 80 and would declare at any disposition. However, it waited to declare until it had about 160% of the target's power.. I also set its unitai to collateral since that's where the AI usually lacks on the offensive.

Now mind you, this was NON better AI, but test games with this civ in it saw it consistently walking all over its opposition, and keeping up decently in tech regardless. It would typically win UN, domination, or capitulation conquest.

The one thing I couldn't get it to do using only XML was deny its targets from capitulation, unfortunately.

Nevertheless, it was a very powerful monster and a deity player who attempted a game with it on immortal got steamrolled early ;).

I think the AI's balance of attempts at war vs peace victories is a little off consequently. If some mild XML tweaks can make military AIs more effective, this is a route at least worth a look, especially with 3.19 making it so that vassals are always willing to trade (meaning if a warmonger collects vassals it will tech better than ever).

What changes did you make and were? this sounds very interesting, The AI enhancements already done are very good, ahving played a few games now online, with and without i can definately notice and improvement in the way the AI fights it's battles, it's more stubborn to get rid of and generally that bit more dangerous in a war
 
IMO, if the AI is trying to win, the warmongers should push military wins a little harder. A while back I screwed around in the XML to create a super AI. It had a unitprob of 80 and would declare at any disposition. However, it waited to declare until it had about 160% of the target's power.. I also set its unitai to collateral since that's where the AI usually lacks on the offensive.

Now mind you, this was NON better AI, but test games with this civ in it saw it consistently walking all over its opposition, and keeping up decently in tech regardless. It would typically win UN, domination, or capitulation conquest.

The one thing I couldn't get it to do using only XML was deny its targets from capitulation, unfortunately.

Nevertheless, it was a very powerful monster and a deity player who attempted a game with it on immortal got steamrolled early ;).

I think the AI's balance of attempts at war vs peace victories is a little off consequently. If some mild XML tweaks can make military AIs more effective, this is a route at least worth a look, especially with 3.19 making it so that vassals are always willing to trade (meaning if a warmonger collects vassals it will tech better than ever).

So this AI was as likely to declare war at friendly than a normal furious AI. I think it's pretty logical that at present the attitude system and how it effects war declarations handicaps the AI. Most human players largely disregard relations that an AI might have towards them when declaring war and this AI disregards its own relations. Most humans play like an AI that is permanently furious towards all its neighbours. But of course that's not what most players want the AI to do. This AI would just destroy another AI when there was an opportunity, it wouldn't roleplay at all.

But I do think, it would be fine to give the AI a tiny chance to declare war at pleased and friendly. As long as the chances are small, the AI will still mostly declare war at the civilisations it doesn't like. But at least, it might at some point in time swallow its tiny neighbour with whom they are friendly.

By the way, it's very easy to make the AI not accept vassalage: Just remove the option in the game setup. It might not be what you want, but it could be useful if you just want to test how an extremely aggressive AI would function.
 
What changes did you make and were? this sounds very interesting,

LeaderHeadInfos.xml. UntBuildProb, MaxWarNearbyPowerRatio and all other PowerRatios, NoWarAttitudeProbs, UnitAIWeightModifiers. Perhaps he also introduced Mansa Musa-like trading behaviour as well.

But I do think, it would be fine to give the AI a tiny chance to declare war at pleased and friendly.

That can be done via the XML. I don't really think it would be appropriate, I like some AI roleplay here.
 
LeaderHeadInfos.xml. UntBuildProb, MaxWarNearbyPowerRatio and all other PowerRatios, NoWarAttitudeProbs, UnitAIWeightModifiers. Perhaps he also introduced Mansa Musa-like trading behaviour as well.

Yes, it was more musa-like than musa, its tech trade threshold was 100, and it would trade at any disposition. Declare at any disposition also (no war prob of 10 ----> virtually guaranteed as soon as it has the power ;)).

It also favored the cottage improvement and the culture/growth strategies. I tried to make it refuse to talk to anybody who declares on it for 200 turns, but that doesn't work on it as the declarer.

Would this be a good thing to put in betterAI? Definitely not :lol:. It's a super AI, and in practice it will do one of two things: shamelessly devour AIs coded to roleplay, or worse:

Considering that it just about always rolls a war check, and waits to declare war until it's much, much stronger than the target...just who do you think it would target on a continent, if that continent was shared with a human on any difficulty above monarch ;)?

Welcome to a 30 unit SoD of axes, swords, etc at 500 BC, and it will continue to hound you. Of course there's two problems with that: the AI might beat you, or it will damage your growth and tech enough that one of the stock AIs will find a way (or just dogpile you). This could create some unplayable games, and I don't think that's the intention of betterAI, but rather a sadistic XML tweaker screwing around in boredom ;).
 
Well, don't think you can make an AI superior to human players just by changing those xml settings. The AI won't build many buildings anymore for example and would have horrible unit cost.

We should definately tweak those settings, like increasing the AI weight for collateral units. that's an important point.
 
UNITAI_COLLATERAL is a weird one ... they never join ATTACK_CITY stacks, which are the main offensive groups the AI sends out. They're one of the unit types considered as floating defenders, which is a fairly appropriate description. No one ever groups with them, so they move around alone and mostly stay in cities, waiting to hit incoming enemy stacks.

Siege units in offensive stacks always have the UNITAI_ATTACK_CITY type.

FWIW
 
Back
Top Bottom