Is BetterAI really better? Let's find out

So far it seems Better AI doesn't have any tricks up its sleeve to deal with the two cheapest tricks human players hold over them, the worker-steal and the axe-rush.
That is closer to the objective of Aggressive AI than Better AI. To my knowledge, even Aggressive AI does not go all out to prevent such a thing happening but it definitely does a lot better in response to that player strategy. The problem is, people complain about Agg AI because it is weaker in peaceful parts of the game. In the past, I and a couple of others have had the very controversial view that Agg AI is for rushers and non-Agg AI is for those who don't rush as this was the design philosophy used by the main Better AI programmer back in the days of warlords (Blake), who also happened to be one of the AI developers for the BtS expansion - almost certainly why the BtS AI was much more cunning in warfare than in warlords. I don't want to bring back that debate here but just in response to your comments I would suggest trying BBAI combined with Agg AI and seeing how that goes. I haven't played the latest versions of Better AI for a while so I'm not sure how they play.

As rolo said above, even the Better AI guys need to work within the existing game design and part of that is not to spam units near the start of the game - something the human player must do in order to rush, and a worker-steal strategy programmed into an AI would be so amazingly annoying it's not hard to see why that has not been touched.
 
As rolo said above, even the Better AI guys need to work within the existing game design and part of that is not to spam units near the start of the game - something the human player must do in order to rush, and a worker-steal strategy programmed into an AI would be so amazingly annoying it's not hard to see why that has not been touched.

I'm not saying the AI should try to duplicate these tricks, that would be some terrible nonsense, but there is room for improvement in how they react to them. Without building any more archers than he did, my victim could have quickly doubled the number of defenders in his capital by reinforcing, but he didn't. This wouldn't have stopped me, or made the attack unsuccessful, but it would have slowed me down. The way it works now, the AI is practically begging to be eliminated by an axe rush.

AI axe rushing or worker stealing humans might be needlessly vindictive, and I have no interest in seeing anyone teach the AI how to do that, but I have no problem with them being as vindictive as possible trying to stop my axe rush once the DOW has been made (or even when they see the stack approaching). That's only fair. They have basically lost the game the moment I decide to rush (well, maybe not a chariot rush, I still don't have the hang of those), they owe it to themselves to go out fightin', not whipping grannies and building mines in a city that is going to fall next turn.

I have yet to see what improvements Better AI really has in store. I'm still hopeful they will blow my socks off. But the title of this thread is "Is BetterAI really better? Let's find out." Maybe my rivals are a little further ahead in tech than they would be otherwise, but I have no way of knowing. The difference would probably be measured in fractions of a tech anyway. For all I can tell, I have played a game to 1 AD and so for the answer so far is No.
 
Sorry, but you are saying: "I am doing something that the original coder, for some reason decided to not code the AI to cope with because it would bork the rest of the game. So the AI is stupid and any mod that doesn't change it is null and void" That is not a aceptable point...

Let me repeat this : the fact that the AI can't cope with a rush is a game design decision to not bork the rest of the game .... it is atleast as much a game design decision as you being able to draft rifles or that the AI will trade more with civs that it is friendly with than with civs that is Furious with. And to say the truth, what would be the only solution to both worker steal and early rushes? Say to the AI to build more units... and then you would not rush them and they would be cripped by maintaining a relatively large standing army :p Not exactly the best of the worlds , right?
 
If the AI is designed to expect peace for 80 turns...

It plays well when it gets this, but what is its backup plan when it gets early war from a crafty player?

Can how it handles an early worker steal, blockade, or rush be changed without affecting the late game? Maybe a function that calls the normal scripts after turn X, but before turn X call early game response functions.

Can the AI make different decisions when it starts next to a human or has human units on/near its border or are all players human and AI alike seen the same by the game? Human will backstab/dow at any moment, so should the AI prepare for this?
 
I am a poor Monarch player with BBAI (record is 2-6). The obstacle preventing me from getting better right now is a tendency to turtle up & bad diplomacy skills. I also tend to somewhat ignore the naval aspects of the game, and never use slavery (don't know how to, will learn eventually but not this game).

Spoiler :

This game, I started by putting two cities to block off Hannibal, then expanded peacefully while wonderspamming slightly in the capital. No wars yet, (from me or AI). Unfortunately I got shut out of oil, with Hannibal claiming it to the frozen North and Pacal to the SW.

If anyone is kind enough to look at this 1730 AD save, how can I improve my game? Should I attack Hannibal or Pacal for the oil? Carthage looks delicious..
 

Attachments

  • BBAI dizzygreen AD-1730.CivBeyondSwordSave
    420.4 KB · Views: 49
  • Civ4ScreenShot0002.JPG
    Civ4ScreenShot0002.JPG
    181 KB · Views: 92
  • Civ4ScreenShot0003.JPG
    Civ4ScreenShot0003.JPG
    224.8 KB · Views: 92
  • Civ4ScreenShot0004.JPG
    Civ4ScreenShot0004.JPG
    182.6 KB · Views: 77
  • Civ4ScreenShot0006.JPG
    Civ4ScreenShot0006.JPG
    186.4 KB · Views: 93
  • Civ4ScreenShot0007.JPG
    Civ4ScreenShot0007.JPG
    149.8 KB · Views: 80
  • Civ4ScreenShot0008.JPG
    Civ4ScreenShot0008.JPG
    156.3 KB · Views: 96
Pacal is usually weak in troops, so you could do a short war and take his oil island and ask for peace. Then gear up for a full scale war with Hannibal. Pacal looks to have curisairs while Hannibal will be landing cavalry, rifles and cannons and his navy is probably pretty big.

If you decide on Pacal, raze his city and put a new on right next to the oil so charly doesnt culture steal it from you.
 
Sorry, but you are saying: "I am doing something that the original coder, for some reason decided to not code the AI to cope with because it would bork the rest of the game. So the AI is stupid and any mod that doesn't change it is null and void"

No I'm not. If you'd like a copy of what I am saying, press the quote button. You will find it is more accurate than writing something different in quotation marks. I would also disagree with someone that said that.

By using my method you might get something like this:

I have yet to see what improvements Better AI really has in store. I'm still hopeful they will blow my socks off. But the title of this thread is "Is BetterAI really better? Let's find out." Maybe my rivals are a little further ahead in tech than they would be otherwise, but I have no way of knowing. The difference would probably be measured in fractions of a tech anyway. For all I can tell, I have played a game to 1 AD and so for the answer so far is No.

See, now you can communicate what I actually said instead of something that I would disagree with.

And to say the truth, what would be the only solution to both worker steal and early rushes? Say to the AI to build more units... and then you would not rush them and they would be cripped by maintaining a relatively large standing army :p Not exactly the best of the worlds , right?

I am not sugesting the AI shoot it self in the foot. In my game and the synopsis above that you read so much nonsense into, I have given alternate sugestions:

there is room for improvement in how they react to them. Without building any more archers than he did, my victim could have quickly doubled the number of defenders in his capital by reinforcing, but he didn't. This wouldn't have stopped me, or made the attack unsuccessful, but it would have slowed me down. The way it works now, the AI is practically begging to be eliminated by an axe rush.

...

I have no problem with them being as vindictive as possible trying to stop my axe rush once the DOW has been made (or even when they see the stack approaching). That's only fair. They have basically lost the game the moment I decide to rush (well, maybe not a chariot rush, I still don't have the hang of those), they owe it to themselves to go out fightin', not whipping grannies and building mines in a city that is going to fall next turn.

A little subroutine that could check to see if another city could send some of its defenders to help hold the one that is threatened would go a long way to helping defend against rushes without changing their build priorities at all. And thier build priorities do need to change when the war is actively going on. I watches as my victim whipped something other than an archer in his capital one turn before I took it. All of these things are possible improvements to the AI, and from what I see none of them are in the mod.

Now, if you reply to this, I would appreciate it if you didn't quote me as saying, "this mod sucks, durt, dur, DUR!" again. I have not said that, so if you want to argue with someone about how great the mod is, go find someone who has played it and didn't like it. I am not that person. I am a person trying it for the first time and reserving judgment until I can get more interactions from the AI. I observed that it doesn't do anything differently against worker stealing and axe rushes. Unless that is untrue, stop trying to disagree with me.
 
Ugh, I didn't realize we had the gay and small map script going, but I played it anyway, finding a way to bypass all the incessant micro.

I didn't see the immortal save, so I took the monarch one...

1802 UN.

Spoiler :



























There, UN.



I did a lot of classical/medieval war to test the AI's warring ability. It didn't feel too different from a normal game, which meant a walkover on monarch. The only reason I didn't take domination for this was that one of the AIs split a colony (thanks G&S!) and wouldn't vassal even after I took 8 of its 12 cities, including its capitol and every city on its mainland continent. Nope, because he had lincoln as his butt buddy on a frozen tundra island, no vassaling.

So I just beat down who I could without having to do any annoying shipping, turn on production automation, set every city to emphasize commerce, automated workers, turned off leave improvements, and just hit end turn while teching democracy then straight to mass media.

I noticed that for monarch AIs they did tech slightly better...I was expecting a more dynamic war game though, especially on a gay map that hands everyone 0398476098473 cities (including us). Oh well.

One thing I did learn is that i'm definitely playing SP with the CAR mod from now on ;).
 
A little subroutine that could check to see if another city could send some of its defenders to help hold the one that is threatened would go a long way to helping defend against rushes without changing their build priorities at all. And thier build priorities do need to change when the war is actively going on. I watches as my victim whipped something other than an archer in his capital one turn before I took it. All of these things are possible improvements to the AI, and from what I see none of them are in the mod.

Changes that are supposedly better maybe aren't. Let's take a scenario where you're attacking with a 2 move unit, or units with guerrilla or woodsman II. If the AI shuffles its defenders, you can outmaneuver it, block it on defensive terrain, kill its units in the field using mounted, or bypass the front city and go on a capture or razing spree. That may even be the reason they just lazily programmed the AI to spam several units in all of its cities...programming something to act dynamically to that kind of threat was probably hard (note, in my wars in this game, I still didn't see the AI shift its garrison in such a way that would hold off a horse archer charge).
 
Ugh, I didn't realize we had the gay and small map script going

Nope, because he had lincoln as his butt buddy

I was expecting a more dynamic war game though, especially on a gay map

Dude. Is there something about yourself that you want to tell the group? We're not judgmental.

BetterAI is better, not perfect. It's still got a long way to go before it can challenge someone who's read any War Academy articles. You're an excellent player, so I'm unsurprised that you were not challenged on Monarch. I would suggest trying Aggressive AI next time. It anticipates war a little better, though its war strategies are just as equally brain-dead as usual. Mostly, the AI plays a better peaceful game, but I have seen a few surprise declarations of war that made me scramble to take back a coastal city. The AI brings overwhelming force in its intercontinental wars now. I'm an outrageously sloppy player, and I sometimes leave a single Warrior defending a coastal city, long after I've reinforced every other coastal city with a dozen Infantry. For people like me, who play below their skill level, BetterAI can be an eye-opening experience, since you're not expecting the AI to notice your sloppiness.

Unfortunately, the AI will probably never be good enough to truly challenge a skilled human. It's not bad at handing Noble-Monarch players their ass, though.
 
Dude. Is there something about yourself that you want to tell the group? We're not judgmental.

BetterAI is better, not perfect. It's still got a long way to go before it can challenge someone who's read any War Academy articles. You're an excellent player, so I'm unsurprised that you were not challenged on Monarch. I would suggest trying Aggressive AI next time. It anticipates war a little better, though its war strategies are just as equally brain-dead as usual. Mostly, the AI plays a better peaceful game, but I have seen a few surprise declarations of war that made me scramble to take back a coastal city. The AI brings overwhelming force in its intercontinental wars now. I'm an outrageously sloppy player, and I sometimes leave a single Warrior defending a coastal city, long after I've reinforced every other coastal city with a dozen Infantry. For people like me, who play below their skill level, BetterAI can be an eye-opening experience, since you're not expecting the AI to notice your sloppiness.

Unfortunately, the AI will probably never be good enough to truly challenge a skilled human. It's not bad at handing Noble-Monarch players their ass, though.

No don't get me wrong, I'm impressed by betterAI, I just really hate big and small. A lot. Of all the maps in the game, it's on part with archipelago in terms of the amount of micro needed to play it very well. I hate micro fiercely, especially incessant, annoying things like constantly loading a galley because there's absolutely 0 way to automate it. Also this map is one of the better scripts to milk sushi for score which I also think is kind of stupid :p.
 
No don't get me wrong, I'm impressed by betterAI, I just really hate big and small. A lot. Of all the maps in the game, it's on part with archipelago in terms of the amount of micro needed to play it very well. I hate micro fiercely, especially incessant, annoying things like constantly loading a galley because there's absolutely 0 way to automate it. Also this map is one of the better scripts to milk sushi for score which I also think is kind of stupid :p.

You should try some Big&Small with say, Massive Continents (Normal continents isn't that prone on ship-micro-galore usually either, but you could get a couple of bad rolls), Tiny Islands and a separate island area. This usually plays a lot like a Pangaea/Fractal but is a bit more interesting with the colonization factor and funkier terrain. Like this ship micro is almost guaranteed to be needed less than on Continents/Hemisph for example.

I also really like the resource allocation, actually B&S is the only map where I've ever favored Cereal Mills over Sushi because I happened to have something like 7 Corn + a lot more possible from trades and not really much seafood at all.

Because it usually gives very good land it's also challenging as the AIs play relatively better with good land than bad - BetterAI doesn't change this AFAIK.
 
what would be the only solution to both worker steal and early rushes?

Fixing worker steals is mostly a question of never leaving a worker in a position where it can be taken and not taken back on the following turn. In Izmir's game, the AI should probably have converted its two defending archers from AI_RESERVE to AI_CITYDEFENSE as soon as it got DoWed. This would have allowed them to counter-attack the warrior on 0.2 strength.

Defending against the rush better is also possible without breaking the game. As Izmir says, the AI could have whipped a second archer, which could have killed off another axeman or two. Additionally, the AI should have seen Izmir's power graph and boosted its production of archers a little to compensate. Fixing the relative perceived strength of axes and archers would help this. The archer counter-attack is also dumb.

My victim could have quickly doubled the number of defenders in his capital by reinforcing, but he didn't.

This, however, I don't see. The AI has two turns to respond between your DoW and losing Carthage. Building a road on a flood plain with two workers takes two turns, and without that road Carthage is too far away from Hadrumentum. It's also too far from Utica. Therefore, I think Hannibal is best off keeping his archers in his cities and taking as many of your axes with him as he can.
 
The only way to fix early rushes is by making the AI build more units, and the only way to then save the rest of the game is for the AI to use those invested hammers to get returns, i.e. rushing, which would make the game unplayable on higher difficulties. In that case you might as well rename the game 'Hittin people with sticks' in stead of Civilization.

Also, you could fix workerstealing by making a new negative diplo modifier '-4 you have been our enemy since the dawn of time', for when you declare war before, say, 2500 BC, making early declarations less attractive.
 
Like this ship micro is almost guaranteed to be needed less than on Continents/Hemisph for example.

Ship micro on continents is merely using large transport stacks most of the time. None of this ferrying a couple units here and there and constantly giving load/unload orders since waypoints and massed movement are impractical.

Massive continents are probably more preferable to me though as you say.
 
There is a simple and not that unrealistic way of partly fixing the ship micro issue. Workboats ought to be able to create a bridge over a single tile of water, at some point in the tech tree (maybe Engineering) and later slightly longer ones, maybe up to three tiles, with some modern era tech. These could be destroyed in the same way fishing boats can, and work as a road over a water tile. Not sure if this would clash in a fundamental way with the unit programming (there might be issues with land units moving to a water tile).
 
Do you guys really move your workers around the continent that often? why not just delegate two of em for a city thats stranded on a little island.
 
Also, you could fix workerstealing by making a new negative diplo modifier '-4 you have been our enemy since the dawn of time', for when you declare war before, say, 2500 BC, making early declarations less attractive.

That's not bad. I've actually always thought the diplo modifiers for war/peace should scale with time; the +1 bonus for "years of peace" should be a +1-4 modifier, and then you could add a -4 for early war.

It also wouldn't be too tough to make worker-stealing harder, but the fix would be just as easily gamed as the current situation: if the AI knows to move its workers away from tiles that are threatened by units from a civ that it isn't at war with, worker stealing would be really tough, but it would also mean that you could station a warrior just outside the AI's cultural radius to prevent it from improving that grassland gem in the capital's BFC without declaring war. Cure is worse than the disease.

It's the same problem with adapting the AI to expect a rush. Either the human player is going to beeline bronze working and whip out axes, or it's not. If the AI guesses wrong, it loses. So, for the AI to properly compensate for both cases, the only way to program it to do that is to let the computer be a cheating bastard and see your tech and build queue, and respond appropriately. That's questionable at best, in the early game, and by the time modern warfare rolls around, it'll mean that your SOD will always be met with precisely the correct countermeasures in precisely the correct place. Also not so good.

And that's the rub with all of these fixes being proposed. It's not that there are intrinsic parts of the game that can be exploited, it's that we've learned what the AI is likely to do in most situations, and we've adapted our strategies to take advantage of weaknesses in those tactics. The only systemic fix for that is to make the AI predict what a human players countermeasures are likely to be, and as an occasional dabbler in AI programming, let me tell you what the likelihood of that happening is.
 
You could station a warrior just outside the AI's cultural radius to prevent it from improving that grassland gem in the capital's BFC without declaring war.

The AI can simply move a unit onto or adjacent to the grassland gem. Then the warrior will not be able to steal the worker without winning a combat against the odds. I'd also be in favour of teaching the AI to steal workers, if it gets the opportunity. This means that human players, like AI players, will need to use units to guard their workers.

For the AI to properly compensate for both cases, the only way to program it to do that is to let the computer be a cheating bastard and see your tech and build queue, and respond appropriately.

The AI can already see the power of neighbouring civs which should be all it needs to see if you've whipped out a stack of ten axes. It also knows how close you are, so it knows whether those axes might be a threat. These two things should allow it to respond to early game rushes - or at least respond better than it does now.
 
Good reply, MartinHarper.

The AI should definitely try to remain nearer to the top in power, as long as it doesn't impact their research too much. This way, AIs who make or capture shrines (and, later, corporations) will become crazy powerful, much like the human players. Of course, this does contradict the unit build probabilities in the XML, which some players would find a turn-off. Maybe this sort of strategy should be limited to "Aggressive AI"?
 
Top Bottom