Right.... did some very early thinking about key issues (this list will definately change if and when i start proper work on this)
Issues;
mission types?
x / y/ z placement (maybe require some form of AI to make sensible judgements RE alignment in particular - maybe also set a
preference for variation)
Background placement (just randomly? - or use region templates?)
How to parse in ship / weapon data and use it? (specifically RE: mod recognition)
Random ship / loadout?
Language independence (for future integration / enhancement?)
!!!Level of user control (key! - need to judge interface too)!!!
Interface itself (what to include, what level of complexity, whether to have some form of very basic 'battleships' style placement?)
SEXPs - what to use and how to control
Briefing generation (templated?)
Factions (how to Id & set hostiles, what about new species entries?)
waypoint setup?
how to time / judge arrival of hostile / friendly wings? And also speed caps?
Basically, there's going to be 'complexity watershed', where you'll need to write what is effectively an AI expert system to create a complex mission. One thing I realised is that, if you want an escort mission, you have a very difficult issue in timing when hostiles will arrive and where. Even stuff like initial orientation is important - and not to mention if you want fighterbay arrivals.
So.... I'd suggest concentrating on simpler missions types. I think any mobile escort missions would require a degree of planning and judgement that is very difficuly to emulate in code - at least in terms of an initial implementation.
What I'd suggest is starting with simple attack / defend missions set around a single static target, such as an Arcadia or destroyer. That should be a relatively simple way to work-out and setup a simple fsm output algorithm.
Another key issue is identifying the ships themselves. This is going to be quite tough, because of the orientation and beam-free issues. i.e. not only will i need to figure out the ship names (for fsm use), but also their types for setting up where they can use. It may be easier to create a simple config file with short entries ala;
$ship: unique-name
$type: fighter/bomber/capship
$player: yes/no
$faction: list? or hostile/friendly?
(or similar)
For the generator. Depends on the user, of course. from a personal point of view, I would like to start with this approach - which would still leave the possibility of adding in a tbl parsing module later on. Same goes for other tbls - OO will make it piss easy to add new parsers later on, there's a fair old number of patterns that allow dynamic / static changing of class types without affecting the rest of the program.
In terms of loadout, i'd say it's best to keep the default and allow the player to alter their loadout - with every weapon unlocked. Again, this'll require a way to get weapon info.
(ASIDE!!)
NB: I did think of a neat gametype idea which may / may not work - have a pool of 'neutral' ships. As the player racks up kills - or as the opponent does, the neutral ships join their side. I'm not sure how easy this would be to implement in a generator, but it could be a neat alternative to straight skirmishes.