Goal: Core Project - new engine feature (or gestalt-module - Immortius ?)
Brief description: Add a category field to module.txt and make the New Game / Modules screen decorate them accordingly (and allow only selection of one "Gameplay Module")
Meant to be useful for: Distinguishing modules better from each other plus allow treatment of them to be more customized
Synopsis: Right now modules are all treated the same and only dependencies in module.txt really do anything unusual. Along with world generation options becoming available in the Create New Game screen I suppose, but that I believe just comes from scanning enabled modules. There's no obvious way to select your gameplay like in the days of old when we had a game type / mode drop-down, you have to just know that "Throughout the Ages" offers unique gameplay.
I suggest we add a category field to module.txt and use that to decorate modules on the "Modules" screen. We could also present modules defined as "Gameplay" separately, as a sort of game type / mode selector replacement. Categories could include:
The "Gameplay" module might be the most important entry as this would define a game type / mode and do away with the confusing type/mode thing I can't ever seem to get consistent with anyway. On the current" Modules" screen we could simply add a second list box and purely put Gameplay modules in there. You can select one of those and the dependencies will auto-select as usual but you can only select one gameplay module - with the possible exception of one gameplay module being a dependency of a fancier gameplay module, in which case it would get activated as a module but not in the gameplay box
"Augmentation" I just came up with as a general term for content module with stuff in it you should be able to use pretty easily in multiple settings. Wrote up the NightTerrors design as an example - it isn't a gameplay module as it doesn't force a particular style of playing, although it does encourage it (survival). You could enable NightTerrors in addition to L&S or W&S or even alone and it would work in a sensible fashion in any case (make nights more dangerous)
The main module listing would gain some icons and/or colors to better indicate what's what. If something is selected as a dependency of something else the selection color should differ from a choice you've made manually. Library modules should be partially faded out but selectable for testing (no point in ever enabling them solo for actual playing)
The category field would also allow for better listing elsewhere like on a module tracker GitHub page, whole module site, or a module preparation thing in the Launcher.
Thoughts?
Brief description: Add a category field to module.txt and make the New Game / Modules screen decorate them accordingly (and allow only selection of one "Gameplay Module")
Meant to be useful for: Distinguishing modules better from each other plus allow treatment of them to be more customized
Synopsis: Right now modules are all treated the same and only dependencies in module.txt really do anything unusual. Along with world generation options becoming available in the Create New Game screen I suppose, but that I believe just comes from scanning enabled modules. There's no obvious way to select your gameplay like in the days of old when we had a game type / mode drop-down, you have to just know that "Throughout the Ages" offers unique gameplay.
I suggest we add a category field to module.txt and use that to decorate modules on the "Modules" screen. We could also present modules defined as "Gameplay" separately, as a sort of game type / mode selector replacement. Categories could include:
- Library module - no standalone purpose, purely utility for other modules. Example: BlockNetwork, or even the ScalaLib Skaldarnar just prepared ?
- Asset module - plain art / passive content module, possibly with basic block/model definitions. Example: LASR, Minerals, Soils
- World module - adds world gen feature (maybe specifically a "plugin" for the world gen process?). Example: AnotherWorld (I think - this category might be tricky / not needed)
- Augmentation module - some sort of plug and play content that can be enabled and seen/played, but doesn't force particular gameplay. Could work in combination with a gameplay module. Example: NightTerrors
- Gameplay module - defines a game type/mode that may depend on a large number of modules and force a particular style of play. Unlikely to work well with other gameplay modules. Example: WoodAndStone, LightAndShadow
- Special module - Core, Sample, Malicious, maybe the module discussed previously to save user generated content in? Or nah ?
The "Gameplay" module might be the most important entry as this would define a game type / mode and do away with the confusing type/mode thing I can't ever seem to get consistent with anyway. On the current" Modules" screen we could simply add a second list box and purely put Gameplay modules in there. You can select one of those and the dependencies will auto-select as usual but you can only select one gameplay module - with the possible exception of one gameplay module being a dependency of a fancier gameplay module, in which case it would get activated as a module but not in the gameplay box
"Augmentation" I just came up with as a general term for content module with stuff in it you should be able to use pretty easily in multiple settings. Wrote up the NightTerrors design as an example - it isn't a gameplay module as it doesn't force a particular style of playing, although it does encourage it (survival). You could enable NightTerrors in addition to L&S or W&S or even alone and it would work in a sensible fashion in any case (make nights more dangerous)
The main module listing would gain some icons and/or colors to better indicate what's what. If something is selected as a dependency of something else the selection color should differ from a choice you've made manually. Library modules should be partially faded out but selectable for testing (no point in ever enabling them solo for actual playing)
The category field would also allow for better listing elsewhere like on a module tracker GitHub page, whole module site, or a module preparation thing in the Launcher.
Thoughts?