Another handy mod feature on the way

I’m working on code to support the eventual expansion pack, and in doing so, having to add support for all sorts of mod style things. One of these is flags in challenges. Currently, challenges store a list of all of the ‘packages’ that are installed on the machine. Currently only one package exists, which is GSB. Eventually, the expansion + mods can add more.
What this means is, that when you submit a challenge you will automatically tag it with all your installed mods. Anyone downloading that challenge and running it will be prevented from running it if they dont have the same mods (right now it just crashes). All I need to do is add some UI that lets you toggle on or off your installed packages when you submit a challenge, so that people can still submit ‘vanilla’ challenges even after they have a mod installed.

I’m glad to hear this is being worked on, and from your description it sounds pretty good. I can think of three key details that I thing are important to make packages work right.

First, put some UI elements into the options menu that lets packages be easily be enabled or disabled (and perhaps given an order of precedence, so one package can override another). A package that is disabled has no effect anywhere in the game (as if it was not installed).

Second, distinguish between purely cosmetic packages (that change only graphics or sounds) and those that change actual gameplay elements (like hulls, modules or maps). Only the gameplay altering packages need special handling for challenges.

The third detail is exactly how packages should be handled at challenge time, and I think there should be three ways: Required, Optional or Forbidden.

All packages that provide gameplay elements used by the challenge would be required to try the challenge. The game won’t crash if any of the required packages are not available, but the challenge can’t be played without them. The submitter of a challenge can’t change the required packages. It sounds like this is mostly already supported, more or less.

Other packages that the challenge submitter has enabled, but which are not being used by anything in the challenge, would usually be “Optional”. Downloaders who have optional packages installed will be able to use the hulls and modules they contain, but the challenge can also be played without them. The challenge submitter can edit the list optional packages, removing any they don’t want the challenge recipients to be able to use. This also sounds like it is mostly in the game already.

Finally, all other packages that are not listed as required or optional should be considered “Forbidden”. Players who download a challenge won’t be able to use components from forbidden packages when making a fleet against the challenge. They’d either need to disable the packages, or if the game is clever enough, it might let challenge downloaders temporarily disable all of their packages that are forbidden by the challenge they’re going up against.

I’m pretty sure my suggestions are more complicated than what’s going into the game already, but I think the ideas will make packages much more useful and powerful a feature. I hope you’ll consider adding them.