KSP-RO / ProceduralParts

A continuation of StretchySRBs, which is a continuation of StretchyTanks
71 stars 79 forks source link

Set PartUpgradesInSandbox setting on init #284

Closed HebaruSan closed 3 years ago

HebaruSan commented 3 years ago

Problem

Users of this mod continue to be very confused by unexpected procedural part size limitations in sandbox:

image

image

image

Causes

These two things together mean that ProceduralParts has very surprising behavior in sandbox. Where the user expects to be able to build whatever they want in sandbox, instead they have some very small parts that can't be enlarged, ever, if they don't know about the setting.

Changes

Now this setting will be set to true programmatically during initialization. There's no reason a user would want it set to false, and setting it to true does nothing other than what the user expects anyway, so this should be fine. Consider it a workaround for a very poor design decision in stock.

Pinging @DRVeyl in hopes of starting a conversation about addressing this.

DRVeyl commented 3 years ago

This sort of thing might be fine for ProcParts. Is it fine for everything else? Do I really want to remove this as a configurable option, and also deal with any confusion from anyone who might set that parameter, and then have no idea why it changes back with every scene?

I agree it's a weird thing to default off rather than on. Is there a way to MM patch this default value, or is it one that happens to be defaulted in code because of a different, and I'd suggest actually bad, design decision? (Ref: https://bugs.kerbalspaceprogram.com/issues/25962)

There is a third party/mod interaction question here. While I guess this would inherently conflict with any other mod that doesn't want part upgrades applied by default in sandbox... I don't know what this use case is, but should I prohibit it?

I also feel like it is very strange to assume that users are not familiar with how to use the base game. Clearly they all aren't, but that still seems an odd thing for me to forcibly override.

HebaruSan commented 3 years ago

Is it fine for everything else? Do I really want to remove this as a configurable option, and also deal with any confusion from anyone who might set that parameter, and then have no idea why it changes back with every scene?

Yes, I think so. Compared to this mod essentially not working in sandbox out of the box, some unlikely confusion in some unknown corner case is a worthy tradeoff. I would expect that this hypothetical would never actually happen.

There is a third party/mod interaction question here. While I guess this would inherently conflict with any other mod that doesn't want part upgrades applied by default in sandbox... I don't know what this use case is, but should I prohibit it?

Yes. A user who installs ProceduralParts and then loads a sandbox game, wants this setting set to true. If they have also installed some unknown mystery mod that relies on not having part upgrades in sandbox (??), then they've installed conflicting mods and will have to deal with that (notably, the other mod will catch the heat for that anyway, so your support load would only decrease). If such a mod actually exists and reveals itself, we can even mark them conflicting in CKAN to help prevent that.

I also feel like it is very strange to assume that users are not familiar with how to use the base game. Clearly they all aren't, but that still seems an odd thing for me to forcibly override.

Well the proximate cause of that is the non-obvious connection between "my procedural parts won't expand" and the concept of part upgrades. I don't think most users think about part upgrades very often, or even know they exist, and there's no indicator of any kind that this is the cause. But in career mode it makes sense, so the question becomes why sandbox isn't behaving like a fully unlocked career mode.