Thought long about this before I hit send. Figure its time mention this, so here goes.
So, the AI capability is pretty much as BBfanboy describes. Except when you think it through, it is actually quite large. There are two limits: AI construction time and CPU processing time.
If you open up one of the stock AI files, you will find about 50 scripts for each side. Now, each script is generally composed of a number of linked commands. Each script will accomplish a goal, like take Hong Kong, and many of them have some kind of trigger (or group of triggers) like date range to be effective or certain bases that are owned (or lost). Andy Mac (ALL HAIL THE MAC!!!) has also figured out how to group/concentrate forces for large operations beyond the original capabilities of the AI program, so there are some of these commands as well.
Now the scripts are organized by date range that they will be effective. These date ranges were likely chosen by how the game normally moves: IJ initial conquest stage, followed by stalemate, and then allied re-conquest stage. The conquest stages run largely by within a date range, bases will be taken based upon a list until the forces are expended/stopped. The stalemate timeframe is where there are a number of "raids" performed by either side (Doolittle type).
Then for stock scen 1, there are like 13 variations of the original AI file. The variations largely look at tampering with the base AI file. Things like more raids, slightly different base order in the conquest script, ... things like that. Most of the variations are fairly small, but a few of the files have BIG differences that really impact the game flow, not always beneficial to the AI, but they do keep the player honest about using the same tactics against the AI repeatedly.
All in all, really impressive. Can't say enough about the work Andy Mac (ALL HAIL THE MAC!!!) has done here, and to my knowledge done pretty much on his own.
Now, for people who like this type of thing, it is pretty easy to do a lot of copy/paste in these files. Meaning, you can work out the groupings of the commands that compose a specific script and then replicate it for more time frames, more base lists, etc. Particularly for defensive counter-attacks and raids. The files are big enough to increase the scripts from 50 per side, to like 150 per side. If you only play one side, you can remove your side to free up those lines and then you can get 300 - 400 scripts on your opponent side.
When (if) you do this, it comes at a
time to run a turn price. So beware. You can add a LOT of time to the turn sequence ... like brew another pot of coffee kinda time or shovel the driveway kinda time or if you got really extravagant: rake the leaves kinda time.
But what do you get? Well, again using several AI files that are randomly (although weighted) chosen, you can get (as IJ player) an allied opponent that chooses where to make his stand. You can move it from IND to AUS or NZ or CHI or SOV, or a couple or all. Then within the defense, you can change how. Where and how do the Dutch defend the DEI? Sure Palembang, but where else? Even if you wrote the AI, you won't know up front how the AI will defend at the start, which creates more realistic game.
Now, you still have the normal AI limitations when you play:
- always on VH to best simulate a live player
- never deep thrusts, you have to take bases in geographical order. This doesn't exclude raids, just conquest routes.
- take control of the AI side (play H2H) for a few turns/month to iron out pilot pools, leader assignments, buy-out and stand-up defeated units, and create convoys. If you play allies, you will need to add RnD and any factory expansions to this list.* This requires you to pause any conquest or other major move you have in play until the end of your H2H turns.
Anyway, in combination, with a decently fast machine, you now have an AI that you can get a pretty good game from and will work all the way through until '46 if you choose. Playing as IJ, I generally only need 3 H2H turns/month to keep things sorted. It takes 2 turns to get everything in place and then a 3rd just to make sure I didn't miss anything and double check the help is working (convoys generally) correctly.
* One of the big reasons I play IJ, less intervention is needed on the allied AI side of things.