SSTU - Shadow Space Technologies Unlimited

SSTU - Shadow Space Technologies Unlimited

98.5k Downloads

Feedback - Modular Upper Stage has too much MonoProp/EC for most missions

blowfishpro opened this issue ยท 8 comments

commented

I know that longer missions will require a lot of MonoPropellant and EC, but for shorter missions, where you really just want roll control and a bit of post-burn maneuverability, the added mass ends up taking a big bite out of your delta-v, and I can't help but wonder if a more general solution is possible.

I'm guessing the way to do this would be to scale the percentage of the "Sub Tank" container. But then the percentages wouldn't add up to 100 ... is there anything that depends on the assumption that 100% volume is accounted for, or do you think it's desirable to make sure they add up? It seems like modifying the volume in the main tank as the consumables scale isn't strictly necessary as those things usually sit outside the main volume.

commented

The module ensures that 100% of the specified 'volume' is used between the containers; if the total doesn't add up to 100%, it will pad the extra volume into the last container in the list (if I remember correctly, been a while since I wrote that code).

For that specific part / those specific parts -- I think the easiest solution, since they already use a custom part-module, will be to add an additional slider to allow for specifying the volume or ratio/percentage to be dedicated to monopropellant.

Honestly I don't think I've ever used the MUS tanks in any of my career games -- is there a reason the standard 'configure containers' button doesn't work for them / for this use?

commented

Is it possible to adjust the percentages through the UI? I hadn't seen that option.

commented

Fixed in dev, with corresponding UI slider for adjusting the support container percentage:

        /// <summary>
        /// Updates the min/max quantities of resource in the part based on the current 'totalFuelVolume' field and currently set fuel type
        /// </summary>
        private void updateContainerVolume()
        {
            SSTUVolumeContainer vc = part.GetComponent<SSTUVolumeContainer>();
            if (vc != null)
            {
                float tankPercent = 100 - supportPercent;
                float monoPercent = supportPercent;
                float[] pcts = new float[2];
                pcts[0] = tankPercent * 0.01f;
                pcts[1] = monoPercent * 0.01f;
                vc.setContainerPercents(pcts, totalTankVolume * 1000f);
            }
            else
            {
                SSTUModInterop.onPartFuelVolumeUpdate(part, totalTankVolume * 1000f);
            }
        }
commented

The percentages - no, but you can edit the contents of the secondary tank through the 'Configure Containers' gui (which apparently has only very limited resources to choose from on the secondary tank; thankfully that can be cleaned up fairly easily).

Looking at the part config though -- might still be easiest to add a slider to the ModularUpperStage plugin to allow for specifying the secondary tank percentage within a given range of the total volume (like 0% - 10% or something).

commented

Tested and working. Can now adjust the percent of volume dedicated to the secondary support tank (EC/monoprop). Includes symmetry part updates. Might not be the permanent solution, but should be workable for now.

screenshot2
screenshot3
screenshot4

Leaving issue open until I can add the rest of the fuel types to the secondary tank to allow for more generic use of the volume.

commented

Tried this out, very useful. Couple of things I noticed:

  • Even 1% seems a bit too large sometimes
  • The increments are very close together making it hard to pick any exact percentage

In light of this, maybe it's worth changing the range and increment? I'm not sure if there's any use case for very large support tanks (maybe though). But personally I think 0-10% in 0.5% increments would work reasonably well.

commented

When I use the MUS tanks I often add mono since even the SSTU RCS parts use mono (though they are all too physically large for most uses, IMHO, they just look wrong many times). What I end up doing is just changing the usual hypergolics from 1:1 to 111:111 then add 1 mono, or 20:20:1, etc, until I get mono in whatever range I want it to be.

commented

Thanks for the feedback.

Yes, the min/max/increment can be adjusted (and probably should be). 20% max seems to be a good upper limit -- if more MP is needed, the user can always use the 'configure containers' option.

SSTU-RCS parts -- I've been wanting to convert those over to use NTO/AZ50, but have been waiting for some issues with the ModuleRCSFX and RealPlumes to get fixed up first (as I wanted to do all of the breaking changes at the same time -- changing modules and resources both) (KSP-RO/RealPlume#24). Sadly it looks like RealPlumes is no longer seeing development, so it might be time to investigate alternate solutions to the RCS problems.

(Have also been deliberating on whether or not to make a 'modular' RCS part that allows for changing of # of nozzles and orientations...... but that discussion belongs in its own ticket/thread).