If you two plan on messing around with the AI, I suggest that you first enable cheat mode so that you could see exactly what the AI by pressing Ctrl-z. You could also just let the AI play only by pressing ~ and typing into the console that appears "game.aiplay x" where x is the number of turns you want the AI to play for. Just don't set x to be 500 or something like that because once you start, you can't stop it without terminating the game.
Spoiler :To enable cheat mode if you do not already know, go into the config file and on the line that says "CheatCode" make sure the entire line reads "CheatCode = chipotle"
I agree on the cheating part, but using the cheats more effectively? That may take some time.
I am currently in a game with 18 civs, map size 50x34, raging barbs with the barb bonus for the AI set to -90 (modified Monarch level). The warriors stationed in their cities are attacking the incoming barbs (as they should) but I still have not seen an AI combatant beyond lvl4. 90% of city garrisons still have no promotions, and it is around turn 270. The AI currently does not need any help in defeating the incomming barbs, what it does need is help from player preditors. If every unit the AI had (which when they are at peace is not a lot) was at lvl4, it may give them more strategic options then say if every unit were green.
I do know it is a cheat but would it not be a relitively decent stop-gap, or am I just whistling from my rear?
Hmm. Not sure. I doubt there's any complicated MS objects IN the table, but the bit that exports it to the XML is anyone's guess. Worth a try, anyway - IIRC you can just grab Calc from openoffice.org without getting the whole suite. Its file format is an XML one, so the whole thing should be doable. Or you could wait until Kael gets Office Vista and reworks it, since the formats'll be open xml for that. Could be a bit of a wait, though![]()
Open file formats. So there should be less incompatibility.What does vista have to do with anything?
You can verify this, and see another AI flaw, if you play continent style maps and one continent is at war with another. tons of units over there, but few invasions right now.what needs to be done is the AI needs to know that if Raging Barbs is checked, then it needs to be in War mode.
When you declare war on an AI (or play Always War games), you notice that the AI does spectacularly against the barbs, and that they gain tons of highly promoted units.
The reasons are:
-when a civ is at war they produce an abundance of units and move them in war party stacks
-when a civ fights many many battles at risky odds the surviving units get tons of XP
Does anyone have any idea why my flavor changes don't affect the AI? They still go for elementalism every damn game.
giving the AI bonuses against the barbs is a bad solution imo
it makes all the AIs battles with barbs trivial, such that they get little to no xp from battling barbs, and as such, when a player goes after them, the AI dies easily
ive turned off the bonuses in my modmod, and the AI ends up with very highly promoted units.
what needs to be done is the AI needs to know that if Raging Barbs is checked, then it needs to be in War mode.
When you declare war on an AI (or play Always War games), you notice that the AI does spectacularly against the barbs, and that they gain tons of highly promoted units.
The reasons are:
-when a civ is at war they produce an abundance of units and move them in war party stacks
-when a civ fights many many battles at risky odds the surviving units get tons of XP
I should chime in that the AI loves to build lots and lots of warriors. So many of them, in fact, that it would probably help them to lose a few (because of upkeep). If they routinely go into more risky battles, that means that they'll have less warriors, but those warriors will be more promoted. Can something be done to make the AI favor getting into much more risky battles against the barbarians?
If you two plan on messing around with the AI, I suggest that you first enable cheat mode...
1) what problems with the AI we have identified
2) what problems in the source of the mod we have found (flavour settings in the XML that don't fit the tech etc)
3) what we have done and how it has helped so far
A wiki could be the way to go. We could ask the guys from the civ4 wiki if it's cool with them that we make a page for this sort of stuff or else I can host a wiki on my own box.
I don't have a problem with this as a stop-gap, But I'd like to eventually get the AI to use a wider variety of spells, and to get it to use some spells more effectively. Using DisableTechs for these techs may help as a very short-term patch.My first TODO should be this:
Read and summarize this thread: Brainstorming: Weaknesses of the AI.
Also, as a sort of preliminary solution to the most glaring weakness of the AI I propose the following: discourage the AI completely from researching into the magic-related techs. I just ran a game and ctrl-z / game.aiplay'ed myself through it and I saw that ALL three AIs went for stuff like elementalism and so on first. This is essentially wasted research. One AI didn't even get Bronze Working until round 180.
giving the AI bonuses against the barbs is a bad solution imo
it makes all the AIs battles with barbs trivial, such that they get little to no xp from battling barbs, and as such, when a player goes after them, the AI dies easily
ive turned off the bonuses in my modmod, and the AI ends up with very highly promoted units.
what needs to be done is the AI needs to know that if Raging Barbs is checked, then it needs to be in War mode.
When you declare war on an AI (or play Always War games), you notice that the AI does spectacularly against the barbs, and that they gain tons of highly promoted units.
The reasons are:
-when a civ is at war they produce an abundance of units and move them in war party stacks
-when a civ fights many many battles at risky odds the surviving units get tons of XP
vyapti: I'm not sure if the AI checks for buildings? However, I doubt it's that, since they also do go for the other low tier magic techs now and then.
Also, I've tried used iAIWeight with negative values, and I've also removed flavor from Alchemy, all to no avail. All games see the following tech order:
(if elf or dwarf: respective tech)
Education -> Writing
... -> Alchemy
(sometimes a number of small techs: fishing, hunting, masonry, mining) (NEVER BW)
knowledge -> all low tier magic techs
Here things seem to fork; either they go for the gold line (mathematics, currency) or ships (what the hell!) optics and so on, OR sometimes they go into BW. I've yet to see an AI beeline bowyers for instance or tracking.
I'm convinced right now that I'm doing something wrong in a major way. I feel that my changes in the XML files have no effect on the game. Is there a cache directory I have to clean or sth like that?
if (!isHuman())
{
for (iJ = 0; iJ < GC.getNumFlavorTypes(); iJ++)
{
iValue += (AI_getFlavorValue((FlavorTypes)iJ) * GC.getTechInfo((TechTypes)iI).getFlavorValue(iJ) * 20);
}
}
<Flavors>
<Flavor>
<FlavorType>FLAVOR_MILITARY</FlavorType>
<iFlavor>10</iFlavor>
</Flavor>
</Flavors>