GlobalExplorer
11-01-11, 11:38 AM
During the discussion in the 'stability mod thread' I had some ideas about automated processes and I will try to outline them here more precisely.
What I'm thinking of is an application to automatically generate campaign data and I would like to know if someone has attempted something like this or had similar ideas.
pseudocode
:read in campaign data
data could be in SH5 / SH4 / SH3 format
theoretically even other formats (ideal would be a meta format which contains meta data like descriptive texts and other information that could be used for generation of specific dynamic missions)
:analyzing target installation
analyze available roster of ship types, ports, and other things
:re merging data according to target installation
this means ship types / classes are re-assigned according to the available setup
the logic is defined by the programmer
:writing campaign data to target format
self explaining
this step produces clean output files in the target format
other stuff like radio messages could be generated on the fly
Besides the general fact that it could save a lot of time for the campaign designers, such a tool has several uses, which are:
1. cleanup of existing campaign. I think an automated process will turn out much more consistent data than a manual process. If it is programmed well it should be free of inconsistencies in the data and result in less CTDs and quirks.
2. it can be used to reassign campaigns to make use of the target rosters, i.e. if additional units that have been added to the roster they will also be used by the new campaign
3. it can be used to merge campaigns from different sources.
4. it can be used to convert campaigns automatically from older versions (Silent Hunter 3 etc)
5. theoretically, one could even generate campaign data dynamically, providing the application can handle meta data, analyze geometric data, coast lines etc, and run them through a GIS like library or topology suite.
So far I was only thinking about a tool can be used by programmers, but a next step could be the creation of a new mission editor, that integrates all these functions with a user interface.
What I'm thinking of is an application to automatically generate campaign data and I would like to know if someone has attempted something like this or had similar ideas.
pseudocode
:read in campaign data
data could be in SH5 / SH4 / SH3 format
theoretically even other formats (ideal would be a meta format which contains meta data like descriptive texts and other information that could be used for generation of specific dynamic missions)
:analyzing target installation
analyze available roster of ship types, ports, and other things
:re merging data according to target installation
this means ship types / classes are re-assigned according to the available setup
the logic is defined by the programmer
:writing campaign data to target format
self explaining
this step produces clean output files in the target format
other stuff like radio messages could be generated on the fly
Besides the general fact that it could save a lot of time for the campaign designers, such a tool has several uses, which are:
1. cleanup of existing campaign. I think an automated process will turn out much more consistent data than a manual process. If it is programmed well it should be free of inconsistencies in the data and result in less CTDs and quirks.
2. it can be used to reassign campaigns to make use of the target rosters, i.e. if additional units that have been added to the roster they will also be used by the new campaign
3. it can be used to merge campaigns from different sources.
4. it can be used to convert campaigns automatically from older versions (Silent Hunter 3 etc)
5. theoretically, one could even generate campaign data dynamically, providing the application can handle meta data, analyze geometric data, coast lines etc, and run them through a GIS like library or topology suite.
So far I was only thinking about a tool can be used by programmers, but a next step could be the creation of a new mission editor, that integrates all these functions with a user interface.