Looking at the dates of the last two posts, this seems to be a thread that was dead, so I'm not sure if replying to it will have any value.
My AI programming is very limited. I am not a programmer, and do not have a background in programming. But I have programmed AI for NWN for many years, if that lends me any credibility. And I am a frequent player/modder of Civ III if that, too, will lend me any credibility.
Off the top, I'm really quite happy with where GC3 stands right now, my opinion including the map editor and AI. I more fear downgrades from added content than I look forward to upgrades. Does the AI make bad decisions about where it places improvements on planets? Yea, but not game breaking. Particularly not game breaking at the 90% levels I imagine, although I've never played them. So what then is the AI discussion really about?
Firstly, you, Frogboy I mean, are hesitant to use cheats to give the illusion of a stronger AI. Secondly, it seems the desire for improved AI is to make the AI into a tougher opponent and to prevent the AI from taking actions that are just patently foolish to most players. Okay, we have our goals.
Now we need our perspective. From what perspective will we be regarding our efforts and determining whether or not our efforts have pushed us closer to success? From the player's? Or from the designer's? My experience in NWN has taught me that the best mods are mods that DO NOT give the player everything the player wants, mostly because the players are of the type that want immediate satisfaction and don't realize that too much immediate satisfaction actually breaks down those elements of the game that make it fun - namely challenge/reward. However, that particular of the discussion seems almost irrelevant here, because both the developer and the players want the same thing: an AI that models as much as possible the behavior of the best players. Or at least creates the illusion of doing so while having a similar result.
So, keeping the goals and perspective in mind, I thought to myself, 'how would I go about doing this?' In order to answer that, I first had to break down my gameplay. Immediately I saw the first hurdle - my gameplay never changes. The only element that would change my gameplay in a significant way is the layout of the map, more specifically, the answer to the question - how close is my nearest opponent?
Aaah, but there is second major factor that SHOULD impact my gameplay, but actually doesn't, and I have almost fallen into a trap. That is because I don't play with any victory conditions. My ideal game is an unending one. For most people, and most certainly the AI, victory conditions are going to determine gameplay. Some players let their path to victory evolve as the game goes on, some decide what victory condition to aim for based on the map, and some predetermine the victory they are after before the map has been loaded.
So on turn 1, since we can equate gameplay to strategy, the AI should of course already have a desired victory condition. To do this, the AI needs a way of assigning values to the map, and determining which type of victory condition may be best. If it were me, since we do not want an AI faction playing the game without a chosen victory condition, I would also program in an equation that could at some point inform the AI that its chosen victory condition is not going to work, and it needs to pick a new one. That equation is not only important in its existence, but in its timing as well. If that equation is already coded into the AI, then simply re-timing it so that the AI changes strategies sooner will go a long way towards making the AI more challenging and realistic. And, again, if it were me, I would include 2 variables for that timer: a relatively small random one, and a relatively large one based on the personality of the faction. Smarter factions, and higher difficulty levels for that matter, are going to change strategies sooner.
I personally also think that the chosen victory condition should be affected by the faction's traits and personality.
Now, once the faction has chosen its victory condition (VC), how will it achieve that goal? It should never, never put 100% of its resources into it. A player never would. So how much? Again, it depends on the map, and the largest factor is the projected power of other factions. Military power firstly, but as a fairly decent player, once I have determined that I am not in range of an invasion, the largest 'fear' factor for me is not military, but tech. I am far more concerned about other civs being ahead in techs than I am about being in last place with military strength. What should be a significant factor, but rarely is, is whether or not I am behind in colonies. THAT indicates to me that ALL of the AIs need to be expanding faster. So... military, tech, and expansion. Of the three, its pretty clear right now that the AI focuses on military the most, and that should not be the case, because a strong military is the weakest asset of the three to have, until enemy warships are in your ZOC. So, regardless of VC, I would reprogram the AI to focus less on military and more on techs and expansion.
Before continuing, I point out that strategy and tactics are two entirely different things, as Frogboy has noted as well.
I am not saying I would program the AI to ignore military. But investing so much into a pretty crappy military early on has a huge opportunity cost from which no recovery is possible. With the exception of range. If I were playing a human opponent, and we both started out in the same cluster or near enough, the first thing I would research is military invasion and rudimentary weapons. If no other faction is in range, I wouldn't research military for quite some time. So obviously range needs to programmed in as a factor regarding how many resources to put into military build up.
And yet, a malevolent faction with a conquest VC SHOULD pursue a strong military. The secondary problem comes in when they have the armada, but no range. So somewhere there needs to be a line or two of code that tells them to build some constructors to close the distance between themselves and their chosen victim ASAP. Otherwise they are "all dressed up with no place to go." Somebody posted above that they hate it when they see AI constructors that have traversed half the map, it doesn't seem realistic, and so forth. I beg to differ. Sending out constructors is an action that the AI rarely does, and this gives humans a HUGE advantage. I start sending out constructors very early on, and even before my expansion stage ends, on an insane map, I can target any other faction in the galaxy, and take any resource I want. And trade with anyone.
So I would also program in constructor behavior, again with a random factor and personality check, and let fly the constructors across the galaxy.
Another strategic factor is the use of credits. Aside from the beginning of the game, where I rush maybe a factory or two, and colony ships, the only thing I use credits for is buying techs. I don't start upgrading survey vessels until I have upwards of 50k credits, or so. It is rare rare rare that I upgrade a military ship. Why not upgrade military ships? Its easier to produce them, the cost-benefit ratio doesn't pan out. So why does the AI upgrade so often (and as someone said, particularly when an enemy fleet is so close?)