Commander Bello
Say No 2 Net Validations
I would say, one of the biggest problem of the AI is that it does not evaluate the situation.
A good example is the irrigation while under despotic rule. Another example is about road building. Have you ever noticed, how long it takes the AI to calculate when you build an additional piece of road somewhere?
Let's say, the current situation is as follows:
---_-W
With - being existing road, _ being road to be finished, W being water
Being in mid-game, the building of the one piece of road may easily cause some 10 - 20 seconds of calculation. I mean, come on!
There is nothing to calculate!
Instead, obviously the engine checks for the whole planet, what relations this one tile of road could have with all other nations, resources and so on. But, the only thing it should have to check is, what relations does the one road tile to the left provide, and what relations does the one road tile to the right provide. And I intentionally said "check" as this should be found in some kind of table.
Just another case is the route calculation. Did you ever notice, that the engine is pretty quick in finding it's path to a given point (if you send a unit or some of them to that point). Now, what is going to happen, if you finalise a road between the original location and the target tile?
Does the engine take notice and makes use of it? No, it doesn't!
Your units will follow the initially determined path, whatever has happened in the meantime.
So, sometimes there are certain values stored, and sometimes they aren't. The funny thing is that it seems to be almost in the wrong moment. When it would make sense to store a value, the engine has to calculate it. When it would make sense to calculate each turn, it follows stored values...
My only hope is that in Civ4 they will make use of moduls, so that we can easily change them once and distribute.
On the other hand, based on my experiences with Civ3 I am not very confident about this. My fear is that we will find some kind of "spaghetti-Python" and then have to find out, how to improve it.
A good example is the irrigation while under despotic rule. Another example is about road building. Have you ever noticed, how long it takes the AI to calculate when you build an additional piece of road somewhere?
Let's say, the current situation is as follows:
---_-W
With - being existing road, _ being road to be finished, W being water
Being in mid-game, the building of the one piece of road may easily cause some 10 - 20 seconds of calculation. I mean, come on!

There is nothing to calculate!
Instead, obviously the engine checks for the whole planet, what relations this one tile of road could have with all other nations, resources and so on. But, the only thing it should have to check is, what relations does the one road tile to the left provide, and what relations does the one road tile to the right provide. And I intentionally said "check" as this should be found in some kind of table.
Just another case is the route calculation. Did you ever notice, that the engine is pretty quick in finding it's path to a given point (if you send a unit or some of them to that point). Now, what is going to happen, if you finalise a road between the original location and the target tile?
Does the engine take notice and makes use of it? No, it doesn't!

Your units will follow the initially determined path, whatever has happened in the meantime.
So, sometimes there are certain values stored, and sometimes they aren't. The funny thing is that it seems to be almost in the wrong moment. When it would make sense to store a value, the engine has to calculate it. When it would make sense to calculate each turn, it follows stored values...

My only hope is that in Civ4 they will make use of moduls, so that we can easily change them once and distribute.
On the other hand, based on my experiences with Civ3 I am not very confident about this. My fear is that we will find some kind of "spaghetti-Python" and then have to find out, how to improve it.
