Jump to content

[WIP] Nert's Dev Thread - Current: various updates


Nertea

Recommended Posts

Probably looks like the easiest case scenario is to run the reactors as simple generators, unless NFE is installed, where they will take on the properties of NFE reactors. That will also cause them to act more like "real" NTR reactors, ie you'll have to warm them up before getting optimal thrust and stuff, and will be able to run them at very low power to extend core life and generate energy off the generator portion. Will have to work on that code a bit, but most of it is in NFE as well.

22 hours ago, Starbuckminsterfullerton said:

Have you thought about releasing DeployableEngines on it's own? The community could probably do a lot with it given some documentation, and BDAnimation is overkill for many things.

I'm not going to "officially" release it, but it's always available for people to use given the friendly license requirements.

13 hours ago, Fraz86 said:

his chart contains suggested mass and cost values for the ZBO part configs. Setting the correct mass in the part config will avoid the need for redundant calculation in the fuel-switch config. The suggested costs are 2x lifting tank costs, which corresponds to ~3x the "dry" cost for the tank itself (because ~1/2 of lifting tank cost is fuel).

Cheers, thanks.

7 hours ago, Jimbodiah said:

my screenshot is how I see it on other devices, but the LH tanks are just orange. Maybe they were meant to look like that though.

If it just looks orange, your normal maps aren't loading. What graphics settings are you using?

Link to comment
Share on other sites

@Nertea New fuel-switch config that properly discounts the cost of the LH2/OX configuration for ZBO tanks (because OX doesn't require fancy boiloff prevention). Requires the previously posted mass & cost changes for the ZBO part configs.

// Lifting tanks
@PART[*]:HAS[@RESOURCE[LiquidFuel],@RESOURCE[Oxidizer],!MODULE[InterstellarFuelSwitch],!MODULE[ModuleEnginesFX],!MODULE[ModuleEngines],!MODULE[FSfuelSwitch]]:NEEDS[!modularFuelTanks&!RealFuels]
{
	%LH2ConversionFactor = 10 // <- EDIT HERE (units of LH2 that occupy a volume equivalent to one unit of LF or OX)
	%LH2OUnitRatio = 15 // <- EDIT HERE (LH2:OX unit ratio for LH2O configuration; should correspond to burn ratio of cryogenic engines)
	%mixOXProportion = 0.4 // <- EDIT HERE (proportion of tank volume containing OX; should approximately = 1 / [1 + [LH2OUnitRatio / LH2ConversionFactor]])
	%dryMassPerUnitLH2 = 0.000025 // <- EDIT HERE (dry mass per unit LH2 capacity)
	
	%LF = #$RESOURCE[LiquidFuel]/maxAmount$
	%OX = #$RESOURCE[Oxidizer]/maxAmount$

	%totalCap = #$RESOURCE[LiquidFuel]/maxAmount$
	@totalCap += #$RESOURCE[Oxidizer]/maxAmount$

	%onlyLH2 = #$totalCap$
	@onlyLH2 *= #$LH2ConversionFactor$

	%mixOX = #$totalCap$
	@mixOX *= #$mixOXProportion$
	%mixLH2 = #$mixOX$
	@mixLH2 *= #$LH2OUnitRatio$

	// masses
	%massOffset = #$mass$
	%tempVar = #$totalCap$
	@tempVar *= 0.000625 // standard dry mass per units of LF/OX
	@massOffset -= #$tempVar$ // accounts for non-standard tank mass, which should remain constant across fuel configurations, e.g., extra mass for spaceplane tanks
	
	%onlyLH2mass = #$onlyLH2$
	@onlyLH2mass *= #$dryMassPerUnitLH2$
	@onlyLH2mass += #$massOffset$
	
	%mixLH2mass = #$mixOX$
	@mixLH2mass *= 0.000625
	@tempVar = #$mixLH2$
	@tempVar *= #$dryMassPerUnitLH2$
	@mixLH2mass += #$tempVar$
	@mixLH2mass += #$massOffset$
	
	// costs
	%LFOcost = #$LF$
	@LFOcost *= 1.02
	@cost -= #$LFOcost$
	
	%mixLH2cost = #$mixLH2$
	@mixLH2cost *= 0.03675
	@tempVar = #$mixOX$
	@tempVar *= 0.18
	@mixLH2cost += #$tempVar$
	
	%LFcost = #$totalCap$
	@LFcost *= 0.8
	
	%OXcost = #$totalCap$
	@OXcost *= 0.18
	
	%onlyLH2cost = #$onlyLH2$
	@onlyLH2cost *= 0.03675
	
	!RESOURCE[LiquidFuel] {}
	!RESOURCE[Oxidizer] {}
	
	MODULE
	{
		name = InterstellarFuelSwitch

		volumeMultiplier = 1
		massMultiplier = 1

		resourceGui = LF/OX;LH2/OX;LF;OX;LH2
		resourceNames = LiquidFuel,Oxidizer;LqdHydrogen,Oxidizer;LiquidFuel;Oxidizer;LqdHydrogen

		resourceAmounts = #$../LF$,$../OX$;$../mixLH2$,$../mixOX$;$../totalCap$;$../totalCap$;$../onlyLH2$

		displayCurrentTankCost = true

		hasGUI = true
		showInfo = true

		availableInFlight = false
		availableInEditor = true

		basePartMass = 0
		tankMass = #$../mass$;$../mixLH2mass$;$../mass$;$../mass$;$../onlyLH2mass$
		tankCost = #$../LFOcost$;$../mixLH2cost$;$../LFcost$;$../OXcost$;$../onlyLH2cost$
	}
	MODULE
	{
		name =  ModuleCryoTank
		FuelName = LqdHydrogen
		// in % per hr
		BoiloffRate = 0.05
	}
}

// ZBO tanks
@PART[*]:HAS[@RESOURCE[LqdHydrogen],!MODULE[InterstellarFuelSwitch],!MODULE[ModuleEnginesFX],!MODULE[ModuleEngines],!MODULE[FSfuelSwitch]]:NEEDS[!modularFuelTanks&!RealFuels]
{
	%LH2ConversionFactor = 10 // <- EDIT HERE (LH2 vs LF/OX capacity conversion; should be identical to LH2ConversionFactor for lifting tanks above)
	%LH2OUnitRatio = 15 // <- EDIT HERE (LH2:OX unit ratio; should be identical to LH2OUnitRatio for lifting tanks above)
	%mixOXProportion = 0.4 // <- EDIT HERE (proportion of tank volume containing OX; should be identical to mixOXProportion for lifting tanks above)
	%dryMassPerUnitLH2 = 0.00003125 // <- EDIT HERE (dry mass per unit LH2 capacity)
	
	%LH2 = #$RESOURCE[LqdHydrogen]/maxAmount$
	
	%mixOX = #$LH2$
	@mixOX /= #$LH2ConversionFactor$
	@mixOX *= #$mixOXProportion$
	%mixLH2 = #$mixOX$
	@mixLH2 *= #$LH2OUnitRatio$

	// masses
	%mixLH2mass = #$mixOX$
	@mixLH2mass *= 0.000625
	%tempVar = #$mixLH2$
	@tempVar *= #$dryMassPerUnitLH2$
	@mixLH2mass += #$tempVar$
	
	// costs
	%LH2cost = #$cost$
	@LH2cost *= 0.5
	@tempVar = #$LH2$
	@tempVar /= #$LH2ConversionFactor$
	@tempVar *= 0.459
	@LH2cost += #$tempVar$
	@cost -= #$LH2cost$
	
	%mixLH2cost = #$LH2cost$
	@tempVar = 1
	@tempVar -= #$mixOXProportion$
	@mixLH2cost *= #$tempVar$
	@tempVar = #$mixOX$
	@tempVar *= 0.18
	@mixLH2cost += #$tempVar$
	
	!RESOURCE[LqdHydrogen] {}
	
	MODULE
	{
		name = InterstellarFuelSwitch

		volumeMultiplier = 1
		massMultiplier = 1

		resourceGui = LH2;LH2/OX
		resourceNames = LqdHydrogen;LqdHydrogen,Oxidizer

		resourceAmounts = #$../LH2$;$../mixLH2$,$../mixOX$

		displayCurrentTankCost = true

		hasGUI = true
		showInfo = true

		availableInFlight = false
		availableInEditor = true

		basePartMass = 0
		tankMass = #$../mass$;$../mixLH2mass$
		tankCost = #$../LH2cost$;$../mixLH2cost$
	}
	MODULE
	{
		name =  ModuleCryoTank
		FuelName = LqdHydrogen
		// in % per hour
		BoiloffRate = 0.05
		// in Ec per 1000 units per second
		CoolingCost = 0.10
	}
}

EDIT: Corrected error in above fuel-switch config and added explicit cost calculation for lifting tanks.

Edited by Fraz86
Link to comment
Share on other sites

14 hours ago, Nertea said:

Probably looks like the easiest case scenario is to run the reactors as simple generators, unless NFE is installed, where they will take on the properties of NFE reactors. That will also cause them to act more like "real" NTR reactors, ie you'll have to warm them up before getting optimal thrust and stuff, and will be able to run them at very low power to extend core life and generate energy off the generator portion. Will have to work on that code a bit, but most of it is in NFE as well.

This sounds awesome!

It's a bit sad that none of NFP engines run hydrogen anymore. Cool hybrids could be made with ion engines and NTRs which would act both as hi-thrust option and power source.

Edited by Psycho_zs
Link to comment
Share on other sites

4 hours ago, Nertea said:

@Fraz86, that table you posted, that's total masses, not dry masses, right? Just asking because you mention adjusting in the cfg, where dry masses are specified. 

All of the numbers in that chart are meant to be plugged directly into the part configs. Thus, "mass" is dry mass, and "cost" is total cost.

Edited by Fraz86
Link to comment
Share on other sites

Hell Yeah!

Although not with the latest version, but here is my modular space-assembled Nova craft: http://imgur.com/a/5pcon

Angle restrictions for OctoGirder ports, although not perfect, helped a lot! 'captureMinRollDot = 0.99995' should do fine for now. In one of the tests I was able to dock Liberator structural assembly to the back of two fuel modules.

I'm planning to experiment with RealPlume for NTRs soon.

 

KerbalEngineer is in test pack, is that intentional?

Edited by Psycho_zs
Link to comment
Share on other sites

7 hours ago, Psycho_zs said:

Hell Yeah!

Although not with the latest version, but here is my modular space-assembled Nova craft: http://imgur.com/a/5pcon

Angle restrictions for OctoGirder ports, although not perfect, helped a lot! 'captureMinRollDot = 0.99995' should do fine for now. In one of the tests I was able to dock Liberator structural assembly to the back of two fuel modules.

I'm planning to experiment with RealPlume for NTRs soon.

 

KerbalEngineer is in test pack, is that intentional?

Nice! dV on it looks solid, what's the TWR? Will be adding the angle snapping to my game soon enough.

RealPlume also messes with engine sounds. Due to what it did to several engines in the game, that kinda killed it for me. As always, your milage may vary.

 

I think we all know why this happens. @Nertea just because you took two or three days away doesnt mean you need to cram for us. You've been gone for longer and most of us didn't freak out*. :P Get yourself some much needed sleep (and coffee).

*Okay, some of us freaked out mildly, but you don't seem like the type to just walk off the face of the Earth never to return.

 

EDIT: Took a closer look at those pics. Love what you did with the docking segment there @Psycho_zs

Edited by Captain Sierra
Link to comment
Share on other sites

I do not remember specifics now, it's something about 3.7Km/s dV and TWR 0.25 or 0.2.

But it is currently hauling a small science station bound for near-Kerbin solar orbit. Maiden voyage.

With this design it is possible to dock additional tanks at front, or change the whole propulsion modules. With Neptunes it is possible to dock oxidizer tanks and have a departure boost.

It is also possible to dock one Liberator on a harness between rear ports, both TWR and dV would boost... I should have made those Neptunes detatchable...

 

Link to comment
Share on other sites

21 minutes ago, Jimbodiah said:

Is there a reason why Engineer is now redistributed with CryoStuff?

It's pretty obvious that the dev copy is indeed a dev copy. In fact, it's so dev that "CryoStuff" will never exist as a real mod, it's two mods, CryoEngines and KerbalAtomics, that just happen to interdepend so much that they are packaged for testing. So if something accidentally gets bundled in my "package up before work" time, it's probably not going to be in those.

2 hours ago, Captain Sierra said:

Nice! dV on it looks solid, what's the TWR? Will be adding the angle snapping to my game soon enough.

RealPlume also messes with engine sounds. Due to what it did to several engines in the game, that kinda killed it for me. As always, your milage may vary.

 

I think we all know why this happens. @Nertea just because you took two or three days away doesnt mean you need to cram for us. You've been gone for longer and most of us didn't freak out*. :P Get yourself some much needed sleep (and coffee).

*Okay, some of us freaked out mildly, but you don't seem like the type to just walk off the face of the Earth never to return.

 

EDIT: Took a closer look at those pics. Love what you did with the docking segment there @Psycho_zs

I try to check the forums every day, but may not post and certainly may not make a test release.

9 hours ago, Psycho_zs said:

Hell Yeah!

Although not with the latest version, but here is my modular space-assembled Nova craft: http://imgur.com/a/5pcon

Angle restrictions for OctoGirder ports, although not perfect, helped a lot! 'captureMinRollDot = 0.99995' should do fine for now. In one of the tests I was able to dock Liberator structural assembly to the back of two fuel modules.

I'm planning to experiment with RealPlume for NTRs soon.

 

KerbalEngineer is in test pack, is that intentional?

That's a pretty nice ship. Good find on the capture parameter, I'll remember to look into that again when fixing NF construction.

Found a number more things to add - situation masks for CryoEngines, CTT support for CryoTanks/KerbalAtomics, move some patches from CryoEngines into CryoTanks, clear out EngineLight from KerbalAtomics... surface FX for KerbalAtomics... lots of stuff.

Edited by Nertea
Link to comment
Share on other sites

39 minutes ago, Nertea said:

It's pretty obvious that the dev copy is indeed a dev copy. In fact, it's so dev that "CryoStuff" will never exist as a real mod, it's two mods, CryoEngines and KerbalAtomics, that just happen to interdepend so much that they are packaged for testing. So if something accidentally gets bundled in my "package up before work" time, it's probably not going to be in those.

Yes, but it could have been possible you were testing something and needed Engineer for this X5. Hence the question just to verify if it was done on purpose for testing or just got in there by accident.

Link to comment
Share on other sites

13 hours ago, Psycho_zs said:

Angle restrictions for OctoGirder ports, although not perfect, helped a lot! 'captureMinRollDot = 0.99995' should do fine for now. 

Well that's cool. Does the orientation have to be mirrored, or can it be rotated by 90* increments (since they are square)?

@Nertea Here's hoping that really is the last test version.  I'm thinking about writing an MM patch to give these engine FX to other nuclear rockets, would anyone be interested? 

 

Link to comment
Share on other sites

Some Real Plume experiments, just for LH2 mode, I do not know what to use for augmented:

 

@PART[ntr-sc-125-1]:FOR[RealPlume]:NEEDS[SmokeScreen]	// Neptune
{
    PLUME
    {
        name = Hydrogen-NTR
        transformName = thrustTransform
        localRotation = 0,0,0
        localPosition = 0,0,-1.3
        fixedScale = 1.2
        energy = 2
        speed = 3
    }
	@MODULE[ModuleEngines*]:HAS[#engineID[LH2]]
	{
		@name = ModuleEnginesFX
        %powerEffectName = Hydrogen-NTR
        !fxOffset = del
	}
}



@PART[ntr-sc-125-2]:FOR[RealPlume]:NEEDS[SmokeScreen]	// Stubber
{
    PLUME
    {
        name = Hydrogen-NTR
        transformName = thrustTransform
        localRotation = 0,0,0
        localPosition = 0,0,-1.1
        fixedScale = 0.95
        energy = 1.5
        speed = 2
    }
	@MODULE[ModuleEngines*]:HAS[#engineID[LH2]]
	{
		@name = ModuleEnginesFX
        %powerEffectName = Hydrogen-NTR
        !fxOffset = del
	}
}


@PART[ntr-gc-25-1]:FOR[RealPlume]:NEEDS[SmokeScreen]	// Liberator
{
    PLUME
    {
        name = Hydrogen-NTR-HighTemp
        transformName = thrustTransform
        localRotation = 0,0,0
        localPosition = 0,0,-2
        fixedScale = 2.5
        energy = 2.5
        speed = 3
    }
	@MODULE[ModuleEngines*]
	{
		@name = ModuleEnginesFX
        %powerEffectName = Hydrogen-NTR-HighTemp
        !fxOffset = del
	}
}


@PART[ntr-sc-25-1]:FOR[RealPlume]:NEEDS[SmokeScreen]	// Poseidon
{
    PLUME
    {
        name = Hydrogen-NTR
        transformName = thrustTransform
        localRotation = 0,0,0
        localPosition = 0,0,-2.5
        fixedScale = 2.5
        energy = 2.5
        speed = 2.5
    }
	@MODULE[ModuleEngines*]:HAS[#engineID[LH2]]
	{
		@name = ModuleEnginesFX
        %powerEffectName = Hydrogen-NTR
        !fxOffset = del
	}
}

 

Link to comment
Share on other sites

Augmented with oxidizer? Then you have a LH2/LO2 combustion, which has a light blue-ish, almost colorless flame, and therefore little to no effects past minimal licking around the bell exit. See: videos of hydrolox upper stages in space. Centaur stages come to mind.

EDIT: Though if it's hydrogen rich, it'll have a reddish hue. See: Delta IV Heavy taking off.

Edited by Streetwind
Link to comment
Share on other sites

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...