That's the spirit
At some point in the next couple of months I want to start doing the logic for the campaign mode.
The way I work is I skip between parts of the project, so one day I'll work on the FDM. When I get bored, I work on something else.
I find this is the only way to complete a project for me. If I had to grind away on one area until it was complete, well it would be work rather than fun.
The campaign mode can be written as a stand alone app. You do the mission planning and results as if the human player had not flown a mission.
To do this I need a huge amount of data.
I think the easiest place to start would be WWII. Western front, using the existing map on this web site.
I need to know things like...
Where are the bombing targets ? (factories, dam's, airfields, oil production, etc.)
What aircraft are available and where ?
What defenses are there at the targets ?
What are the production rates of war material ?
What are the main transport routes ?
All those sort of questions lead to a interrelated mesh of data nodes. You start out with a steady state, then tweak nodes based on game actions and re-solve the network.
For an example.
An aircraft factory at site A produces 10 BF109's a day and keeps 10 days stock of components.
It needs 10 units of components from site B. 10 units of components from site C. etc.
The components from site B travel by rail through site D.
The components from site C travel by rail also through site D.
The player attacks the factory and does 10% damage. Factory produces 9 aircraft the following day and loses 10% of it's component stock.
The next day the player attacks site B doing 20% damage. Factory produces 10 aircraft, but loses 1 days stock of B components. Site B loses all production for 2 days.
The next day the player attacks site D doing 50% damage. Factory produces 10 aircraft, but loses 1 days stock of B and C components.
You can see the way the data can be organized into a complex system with very few rules. These rules can then be changed in game testing to improve the accuracy of the simulation.
We can also add other rules as we think of them and see what happens.