Pay particular close attention to 19 minute mark.
It really defines how to setup AI to have a good middle game.
I will save this video and replay 19 minute mark over and over till it sinks in for me....
There is a form an alliance with other AI if player is close.
I copied down AI's methods and strategies listed below:
Mission_Move
Mission_Retreat
Mission_Guard
Mission_Sticky
Mission_Enter
Mission_Capture
Mission_Harvest
Mission_Guard_Area
Mission_Return
Mission_Stop
Mission_Ambush
Mission_Hunt
Mission_Timed_Hunt
Mission_Unload
Mission_Sabotage
Mission_Construction
Mission_Deconstruction
Mission_Repair
Mission_Rescue
Mission_Missile
Action_None
Action_Move
Action_Nomove
Action_Enter
Action_Self
Action_Attack
Action_Harvest
Action_Select
Action_Toggle_Select
Action_Capture
Action_Repair
Action_Sell
Action_Sell_Unit
Action_No_Sell
Action_No_Repair
Action_Sell
Action_Sell_Unit
Action_No_Sell
Action_No_Repair
Action_Sabotage
Action_Ion
Action_Artillery_Strike
Action_Air_Strike
Action_Guard_Area
Action_Toggle_Primary
Action_No_Deploy
Queue_Move
State_Buildup
State_Broke
State_Threatened
State_Attacked
State_Endgame
Build_Power
Build_Defense
Build_Income
Build_Engineer
Build_Offense
Fire_Sale
Raise_Money
Raise_Power
Lower_Power
Attack
To get a better Middle game:
It is recommended to get average of other players in game: Cities, Number of units, type of units. This way the AI can try and cope with your builds.
So you could make a sliding bar or button menu to increase\decrease skill level of EDCE AI.
A General that is cautious, so he builds up first and has a rudimentary defensive guard unit watching over clump of cities while a hunt\attack group is formed later to seek out targets of opportunity. Or an overly aggressive Ai that risks it all. Or something in between.
You could assign skill level based on the name of the random general name. Just place General names into appropriate array of Cautious, Aggressive, etc...
Units are given a fear algorythym based on damage, units in their group that have been killed and type of unit doing the killing.