kartoFlane wrote:While having multiple .ftl files with different mod: tags is appealing, I think getting all of those to work in every combination might be problematic.
Yeah, I also believe that it should mix different parts of the flagship and create ready to use file with it. Here are my thoughts I sent to Rann:
Hey Rann
Here are my thoughts on the ship randomization mod.
Accessebility
I agree that the process of creating a ready-to-use random flagship mod should be as easy as possible to not confuse the player. That's why I'm a little sceptical if the command line stuff is of any use. I don't really understand what will be possible with that but in my opinion the mod should be as simple as possible. I'd prefer if the user can follow a simple, short procedure to create a randomized flagship mod. In my opinion it would be ideal if the player just has to drop an executable into the mod folder and execute it to create the mod, then patch it in regularly via SMM.
Program Assets
What will the program need to work? Well, 1st) the code it uses to randomize the flagship obviously. But it will probably also need the 2nd) parts that can be randomly added, like weapon blueprints for example. While the EL tool can create a brood variety of gear I'm not sure if it is suitable to generate randomized flagship weapons. Of course it could easily create variations of them, but for balance and style reason I would prefer to create fewer possible flagship guns that each have a clear profile and strongly differ what the flagship has so far. My idea that the program generally randomizes the flagship by choosing assets from predefined pools of possible modifications. The random gear will also need 3rd) image components to work, mostly custom weapon images we could create for the randomized flagship.
Extend of Randomization
How far do we want to go? New guns are probably the first thing to put in. Adding augments is also possible. If we want to go all the way we can also randomize the layout, having the program choose from a list of predefined room-plans. Adding and removing systems is also possible, but not all systems will work. Beyond that not much is possible. Power surges are a no go for example. Crew could be changed, but to me that appears a little fishy lore-wise.
Cherry on the Pie
I absolutely love Russion Rockmans idea to enable the player to look at the secret data at gamestart and know beforehand how the flagship will be equipped. A big part of being able to beat the flagship is being prepared for what it will throw at you. By telling the player (to some extend) what he/she will be up against we allow him/her to prepare for the final battle during the entire run and create a unique "meta-mission" for each playthrough. Awesome!
Program Functionality
This is my non-programmer idea of how the program could handle all this.
The program has a template of how the final flagship mod will look like, with most of the randomization parts filled with placeholders. The template would most likely include the modified starting event, flagship blueprints and layout files as well as all the possible weapon blueprints, anims and images the flagship coulld use. These exact parts could for example be:
Layout
(needs a new set of layouts for all possible flagship variations, depending on phase, difficulty and AE enabled true/false)
Weapon 1
(needs a weapon blueprint in blueprints.xml that overrides the original gun, also needs the weapon visuals and animations)
Weapon 2
(needs a weapon blueprint in blueprints.xml that overrides the original gun, also needs the weapon visuals and animations)
Weapon 3
(needs a weapon blueprint in blueprints.xml that overrides the original gun, also needs the weapon visuals and animations)
Weapon 4
(needs a weapon blueprint in blueprints.xml that overrides the original gun, also needs the weapon visuals and animations)
Systems Phase 1
(needs to replace or add one or more systems in the all phase one flagship ship blueprints)
Systems Phase 2
(needs to replace or add one or more systems in the all phase two flagship ship blueprints)
Systems Phase 3
(needs to replace or add one or more systems in the all phase three flagship ship blueprints)
Augment 1
(needs to insert an augment into the flagships ship blueprints for all phases)
Augment 2
(needs to insert a second augment into the flagships ship blueprints for all phases)
Augment 3
(needs to insert a third augment into the flagships ship blueprints for all phases)
The program has asset pools, possibly in the form of xml files, for each of these randomizable parts. For each randomizable part it chooses an asset from the respective pools and inserts it into the mod template, or directly generates the mod by putting the assets together. Then it outputs a ready to use .ftl file directly in the mo folder. Weapon 1-4 would all draw from the same pool for example, but the program should probably never choose one weapon more than once. If we want to tell the player how the flagship will look like, we also need each of these assets to have a small text snippet tied to it. The program will have to use insert these into the game start option that allows the player to have a look at the data. Probably by to override certain placeholders (BOSS_ASSET_AUGMENT_2_TEXT and so on) with these texts upon choosing the each flagship asset.
Yeah, that are my initial thoughts on how this could work. Again, just from a non-programmer perspective. Your thoughts? If this is feasible I could create a mod template to visualize how the output would look and then id put together asset to fill the pools. For augs that would obviously just be a simple list. But the guns would require some spriting as well...
What do you think?