My first post here. Please forgive the post length. I'll provide some background. I'm a mature-age hobby programmer working in a small team that is working on an addon/enhancement for a commercial combat flight simulator game. The game already has collision models, flight models, aircraft models, maps, terrain textures & all those things necessary for a combat flight simulator. Aircraft and ground objects 'missions' are scripted in a text file ie waypoints with actions to be taken along the path. Objects already interact independently of scripted code. eg. An anti-aircraft unit will automatically start to fire at an enemy plane when the plane comes within range.
What we are aiming to do is to build a persistent-war for the sim. One where on-line players can jump in & the Ai is 'controlling' the war much as a 'General' would control his army. ie deciding where units are sent, what their missions will be, what the current overall strategic situation is like, what the strategic goals of the army objective will be (which may change over time or as the battle progresses). It is intended that this 'war' could run for weeks. The scripting language is C# which I'm confortable using. The game code exposes many different events within the game eg OnAircraftTakeoff method will be fired when an aircraft takes off from an airfield. game events, outcomes, stats and any other needed information would be stored in a MySql database (again we know how to do this OK).
I'm interested in using something like a simulated annealing approach to developing a strategic Ai to 'control/manage' the war. I'm not dumb, I understand the idea behind the algorithm heuristics, but I can't get my head around the practicalities of coding such an approach.
1. How to determine overall META strategy for an army? (This would be equivelent to a General controlling the army)
- attack enemy airfields (to destroy planes)?
- attack enemy shipping (to reduce supply)?
- attack enemy factories (to reduce production)?
2. How would the Ai 'decide' when to switch META strategy?
3. Once META strategy is determined, how to get the Ai to 'decide' which missions to run & what strategy each squadron/army sub unit should use? (This would be equivelent to a wing commander, division Colonal or Brigade Commander controlling forces under his command)
- Send bombers to bomb a factory? Which factory?
- Send fighters to scout-out enemy aircraft as a defensive manouver?
- When to move AA units to be more effective to intercepting enemy bombers?
- When would a bomber squadron 'decide' not to travel a certain route to target due to AA losses?