I over think things too much but I am not sure, in general, people understand how difficult a task that can be.
Let us just take a simple thought experiment and see where it goes.
Assume that we have a network tree of the map. This tree allows us to link all of the cities and installations (airfields, ports, anything destroy-able that we want to impact the choices that we make). This network needs to be arranged in such a way that we can navigate it the same way that we travel along a map: distances, obstacles and paths need to be accounted for and weights need to be assigned to the nodes based on their strategic values. These weights need to be adjusted for each side in the upcoming battle.
Now we have most of the components necessary to allow some AI to traverse the map and battle over nodes. When have a ton (millions of choices) of paths through the network for a decent sized map but it has weaknesses. That map does not allow units or armies to travel the space between the nodes and paths (for example: If an AI does not want to travel highway 1 or highway 2 because of bottlenecks or the high likelihood of getting their forces crushed while they are in a straight line, then unless we have the forest/field included in the network, the AI can not choose that path … strategically).
Already we are well outside the bounds of a chess game and we are ignoring the units, capabilities and strategic/tactical choices that the AI will have to make to implement it’s war plan. Throw into that mix objectives as abstract as 1) Red: Destroy Blue or 2) Blue: hold Red forces city 23 and the AI has a really difficult problem on it’s hands. How do you code a Blue AI that is supposed to delay the Red advance (assuming that is even Red’s orders).
If you have this problem solved, and I argue that it is very complex to solve and that I am most likely over thinking it, now you need the AI to generate orders for groups of units to achieve it’s overall strategic objective, react to the battles, wins and losses, and rethink it’s objectives from what-was-intended to what-is-now-possible. Each of those lower level AI ‘generals’ need to plot the best way to achieve their objectives given the section of the network that they are operating in and how the other generals are planning and executing in their section of the network.
Existing systems have done an amazing job with a complex problem given resources that were, at the time, relatively limited. We have a lo of extra CPU cycles that we can throw at the problem but the problem itself is very complex.
I am not advocating that effort should not be pushed in this direction, only that it is a more complex beast than many imagine.
Scripted campaigns are easier because they remove that top level AI. Each level of script that you add (script in the sense that a human is laying out the tasks, objectives and operational orders for a given day or half-day of the campaign) means that the AI problem gets simpler, but not trivial. If you work top down, you will eventually get to level of detail that the current Mission Editor allows with one obvious limitation … how we pass state from one mission to another.
If you take a look in the ME as it is now, you will see that ED has been putting the seeds in there for a while: airfield installations have supply fields. ED has obviously been considering this problem for a while. The trick is to determine what level of implementation gives the best representation or illusion of a ‘dynamic’ battlefield to the user - in a multiplayer environment - without digging a hole bigger than the finances can handle.
You will notice that not a single previous attempt at a flight sim implementation of a dynamic campaign has paid off financially. I do not mean to state that as proof of the difficulty but only to illustrate the fine financial edge that companies need to walk.