Puppeteer
Emperor
Thinking/babbling out loud here:
I had been thinking strictly in terms of BIQ and SAV data, but "player preferences" may not necessarily need to be per-SAV.
So, C3X config data is currently in a single .ini . Oz seems to be suggesting scenario-level configs, so to me that's BIQ-based config. And, of course, players may just want a no-raze/sub-fix/etc epic game or even existing scenario, and that could be from the .ini file, or in the SAV.
For UIs to each of these, well .ini is manual for now. For BIQ we're talking Q's editor and/or a utility program to inject config into custom BIQs. In the future, an in-game UI may exist to either add prefs to the SAV or to the .ini. And a utility program could be used if we want to inject config into a SAV.
The big question I'm stumbling on is priority. If the scenario specifies no-raze but the player wants razing, for example: which wins? Which should win? Should the scenario editor allow/disallow C3X player config overrides?
For the nearer term, I had been imagining per-game config being in the SAV, but that means the user has to start the game, run a utility, then reload the game. And how likely is it that a user is going to have different configurations for different games? Probably little; if they want no-raze they probably want it on all games.
The potential downside is in sharing the SAV file, the C3X config is lost. But that is probably less annoying than having to run an external utility and reload every time you start a game.
The conclusions I'm coming to:
I had been thinking strictly in terms of BIQ and SAV data, but "player preferences" may not necessarily need to be per-SAV.
So, C3X config data is currently in a single .ini . Oz seems to be suggesting scenario-level configs, so to me that's BIQ-based config. And, of course, players may just want a no-raze/sub-fix/etc epic game or even existing scenario, and that could be from the .ini file, or in the SAV.
For UIs to each of these, well .ini is manual for now. For BIQ we're talking Q's editor and/or a utility program to inject config into custom BIQs. In the future, an in-game UI may exist to either add prefs to the SAV or to the .ini. And a utility program could be used if we want to inject config into a SAV.
The big question I'm stumbling on is priority. If the scenario specifies no-raze but the player wants razing, for example: which wins? Which should win? Should the scenario editor allow/disallow C3X player config overrides?
For the nearer term, I had been imagining per-game config being in the SAV, but that means the user has to start the game, run a utility, then reload the game. And how likely is it that a user is going to have different configurations for different games? Probably little; if they want no-raze they probably want it on all games.
The potential downside is in sharing the SAV file, the C3X config is lost. But that is probably less annoying than having to run an external utility and reload every time you start a game.
The conclusions I'm coming to:
- For now, the .ini config makes the most sense (or JSON or whatever file)
- Once an in-game UI for C3X settings is available, then maybe in-SAV config with in-.ini defaults makes sense
- Scenario C3X config vs player C3X config needs to be considered
- Which one overrides the other?
- Should the modder be able to prevent config overrides?
- In the near-term, SAV and BIQ sharing for C3X may be a bit janky as there is no transfer of C3X config, but this is less important than single-player satisfaction for increased adoption of C3X