I am really on the fence on this GameOption/Modular stuff, i really DONT like it, it takes away from the concept of the modular, IMPO
I think it is important to concretely define what is part of the core C2C experience vs what is important to the core programming.
Modular programming separates the experiments, both individual and group, as well as the alternative (more unstable) options/choices from gameplay to work out their necessity, bugs, speed, and balance to improve core gameplay.
To have the best worlds, to have a streamlined and stable core, and including improving and varying ideas, options, opinions, and ongoing vision, means organizing things effectively.
A stable core that slowly includes proven improvements from the modules.
AND flexible/selectable modular group and individual experiments to test ideas until they are ready to be included as default. You want regular and ongoing ideas/work flow from
core<modules<mod-mods<idea projects<threads<ideas
in threads from
exterior sources>players(new>old)>C2C community>new/existing modders>ModTeam>best established hierarchy
of good judgement and area of most desire/expertise.
This organizes the pursuit of these modules and path of inclusion better.
Ideas which show new potential to be improved upon, can also be shifted back from the core (add selectable triggers and isolated to move to modular function) so that function can be toggled between working basic and modular (improving/experimental) to give maximum accessibility. Areas which require regular tweaking, AI, gold balance, research, turn/game time/difficulty/era timing adjustments, etc. can be localized (as much as possible) and accessed from the core by linking them and organizing them into regular modules which encompass them. Making a category module that links to the gold affects of all buildings may be easier said that done, but it would make regular adjustment easier and rollbacks/variations more accessible.
Mod-Mods themselves should be external explorations or deviations which explore large changes, or philosophies which deviate from the vision of the mod, and regular explorations/experimentation until they are proven ready/popular to be included as modular in the SVN modules. They are more proof of concept, individual explorations, add on (modular) themes, controversial variations, etc. than ready to be included modules.
For clarification and example:
-
Subdued animals is now more of a core C2C experience,
-
Revolutions more of a group module which should be more of an experimental one to be reworked,
-
Multi-maps and
Viewports more of a group than individual experimental module now,
-
Leader traits more of a individual module until made a group one,
-
the Combat Mod is more of a mod-mod until made a individual or group module,
-
Advanced Civics was a mod-mod which became core (perhaps a little quickly)
At the appropriate point of discussion, these things should be shifted between these areas for development.
Core, modules, and mods-mods should stay compatible within a version.
A changing core should line up with the changing modules as things are shifted.
For Example: when features are moved between core and modules a new .1 version is added for both core folder and module that lines up.
Let's say you moved a new lightsaber unit from ls612's folder to the core.
If it is significant enough or risky change. You would make 2 versions of each folder. 1 before and after the move- so you can revert. LS612 V28.0 Core V28.0 versus LS612 V28.1, Core V28.1. All compatible folder changes can have maintain the same .1 version number. (The .1 thing is just an idea for reversion. Still haven't mucked around enough with the SVN to be familiar with how it works. Good reason to be motivated.)
The point is organization of both worlds. I think going either way too much is a mistake.
Modular exterior, streamlined core interior. Make modules of all key features as makes sense, make group and ind modules as make sense. Move them around as wise. Let mod-mods be projects, let modules be accepted working experiments.
Better Organization = Ease of Use/Improvement (worth the time to have ongoing group discussions on improving this)
Just my 2 cents on the subject.