Jump to content

[WIP][1.8.x] SSTULabs - Low Part Count Solutions (Orbiters, Landers, Lifters) - Dev Thread [11-18-18]


Shadowmage

Recommended Posts

On 8/20/2019 at 3:43 PM, Shadowmage said:

 

I can only hope, honestly, that SSTU will not be needed for KSP2.  If they fix the issues with KSP1 regarding part-count-induced performance degradation, then the main reason for SSTU's existence will be moot.

That's kind of how I feel about Deadly Reentry. People have (ever since KSP 1.0) speculated on DR's inevitable demise since we now have atmospheric reentry heating. And yet of course DR is still around. First by implementing its own thermal system override on top of 1.0's thermal and then when Squad adopted that system there was still the need to rebalance max temps of parts that had all the thermal survivability of tungsten.

So it will be interesting to see how KSP 2 handles thermal.

Link to comment
Share on other sites

ditto on the never playing stock beyond a few hours. Mods are essential for my play style, and i would've fully abandoned KSP long ago were it not for how active the mod community is. Especially now with SSTU, it has ruined other part mods for me; no SSTU no play tbh (not that i play that much nowadays anyway but blahblahblah..). On the bright side, maybe KSP2's release will finally stabilize the KSP1 mod situation. still fed up with building a version up with mods and prepping a save, just to abandon it/put it on hold because a new game version is on the horizon over and over and over...

Link to comment
Share on other sites

Yeah same here, the never-ending updates that break each and every mod is what caused me to stop playing. The last stable build I have with all the mods I like is 1.3.1.   Tried 1.4.x and abandoned it as most mods were not updated when 1.5 came out. Tried again in 1.6.1 when RSS supported it, but before I could get all my mods, they released 1.7 (no to mention all the in-between updates)....

 It's like Squad is intentionally trying to break the will of modders in the hope they abandon the game. So many mods have been discontinued by modders just giving up or leaving. Perhaps 1.3.1 will be my last version of KSP as it works despite all the issues with performance.

 

Link to comment
Share on other sites

Well, from everything I'm reading and seeing on KSP2 -- its going to be a 'no buy' from me.  Part count limits, 'metallic hydrogen' fuel, magic-tech engines, floppy noodle rockets.

Its like they took all of the bad things from KSP1 and used those as their 'advertised features'.  Exactly the reverse of what I was looking for.

Link to comment
Share on other sites

5 hours ago, Shadowmage said:

Part count limits

 

Where did you read this from specifically? This is huge. Im on the reddit everyday and if they mentioned a part count limit then the community would be exploding. So far out of Pax West we know " Far greater part counts, unspecified." Or did you mean to have a performance limit like KSP? KSP2 will just have a higher ceiling. I read that as a HARD part count limit.

Edited by Motokid600
Link to comment
Share on other sites

8 minutes ago, Motokid600 said:

Where did you read this from specifically?

I'm not referring to a hard limit enforced by the game (e.g. an arbitrary limit).

I'm referring to that the limiting factor for performance in regards to a craft construction will be the overhead load induced by the physics connections (joints) between parts, and the overhead from processing that many separate physics entities.

So, there will still be a limit on part-count where beyond that point the game is simply unplayable due to low frame-rates.  This is unacceptable in a sandbox style game where the entire game premise is designing craft from separate parts.  Unacceptable.

I can understand a few hundred or few thousands of separate craft causing slowdowns.  But merely one single high-ish part-count craft?  I'm sorry.... what year is it again?  The only limiting factor for 'part count' related to performance should be due to the actual rendering of the polygons from those parts.

And mostly I'm bashing on it because they have, once again, chosen to go with 'parts joined by Unity Joints', which is the entire root of the problem, and my single biggest gripe with KSPs 'engine'.

Just now, Starwaster said:

Uhm, can't believe I am only just now seeing this... Custom Probe Core?

Hmm.. what?  Did I make some part that I've forgotten about?

Link to comment
Share on other sites

Ah okay I see. Yeah especially given the premise of the colony building and now word of being able to launch several crafts at the same time. Honestly KSP2 could be nothing, but a complete physics calculation overhaul and nothing more. That alone would be a buy for me. Suppose we'll find out as time goes on. Fingers crossed. Love the mod by the way Shadow. KSP2 will be lesser without your models.

Edited by Motokid600
Link to comment
Share on other sites

On the KSP2 front -- I should also note that they have stated that mods will be scripted using LUA.  So mods won't even be first-class-code anymore, but will be relegated to second-class citizens with access to only that which is exposed through the API.  Furthermore, as it will be running a script-interpreter to run the LUA mod scripts, these will be slow-as-dirt for any sort of complex computations (e.g. doing lots of simple math).  Not sure who was in charge of that decision, but they should be fired for incompetency.

Nearly every single thing that I read about the new game makes me want to pretend the entire thing doesn't exist, like it is all some bad dream that will go away when I wake up.  Sadly, its still there...

37 minutes ago, GoldForest said:

did you see the 1.8 KSP loading? An upgrade to unity 2019 and DX11 plus some other underlying core programming. 

At this point I'm kind of over it, and planning on winding down my KSP modding over the next few months.  Too little, and far too late.  I've already spent thousands of man-hours on fixing their problems, and I'm not going to get that time back just because they finally decide to upgrade.

Thanks for the info though -- I'll def. look into it; not calling it quits yet, just very fed up with the state of the game and development.  I'll take a good look over the next update when it is available and re-examine my plans at that point.

 

Edited by Shadowmage
Link to comment
Share on other sites

Think of it that way: once they stop updating KSP1, they're going to stop breaking your stuff. :) 

Indeed, if KSP2 doesn't have fully featured plugins, just LUA, then it'll almost certainly be a huge flop. Indeed, the way I see it, the whole thing might just end up DOA because of just how out of touch the devs are with the community. They're not doing early access, not one of them had posted on the forums, but they are building up huge amounts of hype. Indeed, considering the standard KSP1 (and its mods!) has set, KSP2 might bomb if it ends up anything less, and if it does that, it might sink the whole franchise... except, of course, for modding community continuing to support KSP1 and its plugins. 

I hope KSP2 will be as good as they make it out to be, but something tells me we're looking at an overhyped flop in the making. KSP1 is great only because the community has been involved in it from the very start, pointing out errors, and even suggesting new directions to take the gameplay. Plugins were a huge part of it from the start. It isn't such a roaring success because of Squad (I'd say, it's so despite Squad), it's because of us. They cannot hope replicate that without early access, and the only way for it to work out is if they make something that's more or less the same, but better on the technical end, and then listening to the community. Otherwise, KSP2 will be reduced to a footnote in KSP1's history, deep in red on Steam reviews.

Link to comment
Share on other sites

3 hours ago, Shadowmage said:

LoL, yeah, I occasionally add a bit of humor to things, and sneak in the periodic easter egg :)

Yeah, I like to do that too from time to time....

If you use Deadly Reentry, try taking a Kerbal on EVA for a personal reentry and see what happens when they start getting a little too hot under the collar ;)

Link to comment
Share on other sites

Artemis 5 - International Habitat Module and AEL Exploration Mission

  • May 2026      Falcon Heavy**                Artemis 5a         Uncrewed delivery of fuel resupply module and lunar descent vehicle
  • Jul   2026      SLS Block 1B Crew          Artemis 5           Crewed delivery of International Habitation Module and lunar landing

This mission launches a Falcon Heavy with a new expendable Lunar Descent Vehicle for integration with the Advanced Exploration Vehicle and additional supplies to the Gateway.  The SLS delivers the new International Habitat Module for the Lunar Orbital Platform.  While the lunar exploration mission continues to evaluate resources in Shackleton Crater, the crew on the Gateway establish the habitat for future missions.

 

Link to comment
Share on other sites

@Shadowmage

I have a question about your engine clustering plugin.

 

I am attempting to add this to another engine, and I am getting an odd issue where the engine will duplicate itself, with one instance being what seems to be the engine as it is without the clustering plugin, and one that will conform to the specifics of the cluster.  Do you have an idea about why this might be happening?  I can happily provide any info you would like.  I just like the clustering you have done with that plugin, and wish to use it on most, if not all, of the engines that I have, not just yours.

 

On a side note, it seems that your package here has been a big step away from my ProceduralParts addiction.  Thank you much for your work.  I see that you are having frustrations with the state of the game, and the direction of the sequel, but rest assured that many of us are immensely grateful for your contributions in making this game far more than it ever would have been without you and those like you.

Link to comment
Share on other sites

22 hours ago, xx_mortekai_xx said:

I am attempting to add this to another engine, and I am getting an odd issue where the engine will duplicate itself, with one instance being what seems to be the engine as it is without the clustering plugin, and one that will conform to the specifics of the cluster.  Do you have an idea about why this might be happening?

I would need to know a bit more about the part in question.

Which engine are you attempting to SSTU-ify?  Stock part, modded part?  Does it use ModulePartVariants?

In general it should be doable for most engines from most mods.  There might be situations where there is plugin/PartModule incompatibility, but I can't think of any specifics at the moment.

Link to comment
Share on other sites

1 hour ago, Shadowmage said:

I would need to know a bit more about the part in question.

Which engine are you attempting to SSTU-ify?  Stock part, modded part?  Does it use ModulePartVariants?

In general it should be doable for most engines from most mods.  There might be situations where there is plugin/PartModule incompatibility, but I can't think of any specifics at the moment.

The Raptor engine from the TundraExploration mod.  It does not use ModulePartVariants.  It looks to be a fairly normal engine config, but most of my experience has been 1.5.1 and older.   I have never seen FXModuleLookAtConstraint before, but all the others I believe I have seen.

 

The config is below, with my modifications below that.  I havent gotten to getting the correct numbers for the cluster module, and have simply used the module from the LR81-8096 in your pack.

PART
{
    name = TE_18_BFS_SL_RAPTOR
    module = Part
    author = Damonvv
    
    MODEL
    {
        model = TundraExploration/Parts/GOJIRAII/TE_18_BFS_SL_RAPTOR
    }
    
    rescaleFactor = 1
    
    node_stack_top = 0.0, 0.6502519, 0.0, 0.0, 1.0, 0.0, 0
    node_stack_bottom = 0.0, -0.664, 0.0, 0.0, -1.0, 0.0, 0

    TechRequired = veryHeavyRocketry
    entryCost = 13000
    cost = 9120
    category = Engine
    subcategory = 0
    title = RPTR-21 "Raptor" Engine
    manufacturer = Tundra Exploration
    description = This vacuum optimized engine is designed to be one of the best in class. Without these you probably won't get far.
    tags = cck-tundra falcon Raptor s0 engine BFS BFR SpaceX
    attachRules = 1,0,1,0,0
    mass = 2.4
    // heatConductivity = 0.06 // half default
    skinInternalConductionMult = 4.0
    emissiveConstant = 0.8 // engine nozzles are good at radiating.
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    crashTolerance = 8
    maxTemp = 2000
    bulkheadProfiles = size0
    // autoStrutMode = Grandparent

    EFFECTS
    {
        running_closed
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 0.2 0.25 0 0
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.0 0.5
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_veryLarge
                transformName = smokepoint
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.25
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.0 1.0
                localOffset = 0, 0, 1
            }
            MODEL_MULTI_PARTICLE
            {
                name = flare
                modelName = TundraExploration/FX/rptrFlare
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.3 0.15
                emission = 1.0 1.0
                speed = 0.3 0.2
                speed = 1.0 1.0
                energy = 0.2 0.4
                energy = 1.0 1.0
            }
            MODEL_MULTI_PARTICLE
            {
                name = shock
                modelName = TundraExploration/FX/rptrShock
                transformName = thrustTransform
                emission = 0.2 0.0 0 0
                emission = 0.4 0.4 0 0
                emission = 0.8 1.0 0 0
                speed = 0.2 0.2
                speed = 1.0 1.0
                energy = 0.2 0.5
                energy = 0.4 1.0
            }
        }
        engage
        {
            AUDIO
            {
                channel = Ship
                clip = sound_vent_soft
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        flameout
        {
            PREFAB_PARTICLE
            {
                prefabName = fx_exhaustSparks_flameout_2
                transformName = smokePoint
                oneShot = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_explosion_low
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
    }
    MODULE
    {
        name = ModuleEnginesFX
        runningEffectName = running_closed
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 420
        heatProduction = 350
        fxOffset = 0, 0, 1.2
        EngineType = LiquidFuel
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 356
            key = 1 330
            key = 3 0.001
        }
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 10.0
        }
    }
    RESOURCE
    {
        name = ElectricCharge
        amount = 0
        maxAmount = 0
        isTweakable = false
        hideFlow = true
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 0
        fxMax = 0.8
        maxDistance = 50
        falloff = 2
        thrustTransformName = thrustTransform
    }
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = gimbalTransform
        gimbalRange = 2
        useGimbalResponseSpeed = true
        gimbalResponseSpeed = 10
    }
    MODULE
    {
        name = FXModuleLookAtConstraint

        
        CONSTRAINLOOKFX
        {
            targetName = Pipe2
            rotatorsName = Piston2
        }

        CONSTRAINLOOKFX
        {
            targetName = Piston2
            rotatorsName = Pipe2
        }
        CONSTRAINLOOKFX
        {
            targetName = Pipe1
            rotatorsName = Piston1
        }

        CONSTRAINLOOKFX
        {
            targetName = Piston1
            rotatorsName = Pipe1
        }
    }
    MODULE
    {
        name = FXModuleThrottleEffects
        fxModuleNames = heatColor
        responseSpeed = 0.005
        dependOnEngineState = True
        dependOnThrottle = True
    }
    MODULE
    {
        name = FXModuleThrottleEffects
        fxModuleNames = throttleColor
        responseSpeed = 1.0
        dependOnEngineState = True
        dependOnThrottle = True
    }
    MODULE
    {
        name = ModuleColorChanger
        moduleID = heatColor
        animRate = 1
        shaderProperty = _EmissiveColor
        toggleInEditor = false
        toggleInFlight = false
        redCurve
        {
            key = 0 0
            key = 1 1
        }
        greenCurve
        {
            key = 0 0
            key = 1 1
        }
        blueCurve
        {
            key = 0 0
            key = 1 1
        }
        alphaCurve
        {
            key = 0 0
            key = 1 1
        }
    }
    MODULE
    {
        name = ModuleColorChanger
        moduleID = throttleColor
        animRate = 1
        shaderProperty = _EmissiveColor
        toggleInEditor = false
        toggleInFlight = false
        redCurve
        {
            key = 0 0
            key = 1 1
        }
        greenCurve
        {
            key = 0 0
            key = 1 1
        }
        blueCurve
        {
            key = 0 0
            key = 1 1
        }
        alphaCurve
        {
            key = 0 0
            key = 1 1
        }
    }
}
@PART[TE_18_BFS_SL_RAPTOR]:NEEDS[RealFuels,TundraExploration]:FOR[TundraExploration]
//0.75 - L+
{	
	@attachRules = 1,1,1,1,1
  @MODULE[ModuleEnginesFX]
  {
    //@name = ModuleEnginesRF
    @maxThrust = 332.26
	%powerEffectName = RaptorPlume
	%heatProduction = 69.91924082
    !PROPELLANT[*],* {}
	PROPELLANT
	{
		name = LqdMethane
		ratio = 43.0255036406703
		DrawGauge = True
		%ResourceFlowMode = STACK_PRIORITY_SEARCH
	}
	PROPELLANT
	{
		name = LqdOxygen
		ratio = 56.9744963593297
		%ResourceFlowMode = STACK_PRIORITY_SEARCH
	}
	@atmosphereCurve
	{
		@key,0 = 0 355.63
		@key,1 = 1 283.04
	}
  }
  MODULE
	{
		name = SSTUModularEngineCluster
		engineModelName = TundraExploration/Parts/GOJIRAII/TE_18_BFS_SL_RAPTOR
		currentEngineLayoutName = Single
		engineSpacing = 0.65
		engineHeight = 1.45290
		engineYOffset = 0
		engineScale = 1
		partTopY = 0.6502519
		smokeTransformName = smokepoint
		smokeTransformOffset = -1.75
		diameterIncrement = 0.625
		engineMountDiameter = 0.8
		upperStageMounts = true
		lowerStageMounts = false
	}
}
Link to comment
Share on other sites

21 hours ago, Jimbodiah said:

Why not just copy an existing SSTU engine that looks a bit like it? It's easy to rescale and chane the thrust/IP or even fuels.

Sure, that WOULD be the easy way.  But if I can learn how to do it the right way, especially from the one who wrote the module, that would be preferable.  I like learning how to do things.  Judging from your posts, you do too.  So I am relatively sure you can understand that.

I do appreciate the suggestion, though.

Edited by xx_mortekai_xx
Link to comment
Share on other sites

I think i found the issue.....you have the model for the engines set to "EmptyProxyModel", which appears to be just that - a model of nothing that serves as placeholder.  The cluster module adds the model, and duplicates it as needed.  To the game, its one part.  To the eye, its not.

 

The engine I am trying to cluster still has its own model set as the model instead of the empty one. So the clustering module is doing its job just fine, but its doing it over the model that is already there.

Link to comment
Share on other sites

Artemis 6 - Gateway US Habitat Module and Lunar Landing

  • 2027      Falcon Heavy**                Artemis 6a         Uncrewed delivery of fuel resupply module and lunar descent vehicle
  • 2027      SLS Block 1B Crew          Artemis 6           Crewed delivery of US Habitation Module,  and lunar landing
 
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...