Jump to content

[ANY][0.3.0] More Fuels!


Clamp-o-Tron

Recommended Posts

More Fuels!

banner.png?raw=true

A simple Kerbal Space Program mod to add another fuel mixture to the game for (very) partial realism.

This is HEAVILY in Dev, more mod support will come soon! Until I accumulate enough support, this will remain in beta.

FAQ:
Q: It's not right! [x] doesn't burn AZ50/NTO!
A: Shoo. Back to RO with you.
Q: Does this need RealFuels?
A: Nope.
Q: How do I request compatibility for stuff?
A: Raise an issue, ping me on the forums @Clamp-o-Tron, or make a pull request if you've done it yourself! There's a guide in the package if you want to do that and don't know how.
Q: Is this compatible with KSP version x.x.x?
A: It won't work with KSP2 (yet), but any KSP1 version with a working Module Manager and B9 Part Switch should be just fine!\

Q: How do I download?
A: We're still in beta, so you'll have to grab a prerelease from GitHub instead of Spacedock.

Dependencies:
B9PartSwitch
ModuleManager

Supports (As of 0.2):
Bluedog Design Bureau
Shuttle Orbiter Construction Kit + reDIRECT
Stock
ReStock+
Making History
Tantares and TantaresLV
Yeah, it isn't very much, but more will come!

Credits:
@Jso for basis of the patch
@blowfish for B9 Part Switch
@sarbian for Module Manager
@hemeac for some work with the CryoTanks patch
@Gordon Dryfor correcting my typos

Edited by Clamp-o-Tron
0.3.0 is better late than never.
Link to comment
Share on other sites

1 hour ago, coyotesfrontier said:

This is exactly what I've been looking for! Amazing!

Nice to know that someone is interested. Keep on mind, though, that this version is not ready to be played in a save you care about. It's mostly out for playtesting and to give you all a chance to try it out.

Here's a list of what's coming in 0.2:

Pin down a few stubborn BDB engines.

Get part switch for BDB LR87/91 working (I think I know what the problem is)

Create a new template for MonoProp engines.

Add support for tantares (+lv&sp).

(maybe?) have convert-o-trons be able to make the hypergols.

Try to figure out an issue with monoprop disappearing from parts when fuelswitch is set to hypergol.

Add support for a couple new mods (TBD).

Link to comment
Share on other sites

Looks really interesting.  Just a couple of curiosity questions: Are you planning on renaming the display names to more "stockalike" names or just sticking to the CRP display names?  Given that the defined Aerozine and NTO are about as 20% as dense as LF/O, are you planning on tweaking engine performance or cost at all similar to cryo engines?

Edited by hemeac
Link to comment
Share on other sites

Just now, hemeac said:

Looks really interesting.  Just a couple of curiosity questions: Are you planning on renaming the display names to more "stockalike" names or just sticking to the CRP display names?  Given that the defined Aerozine and NTO are about as 20% as dense as LF/O, are you planning on tweaking engine performance or cost at all similar to cryo engines?

Thanks for the interest! It is (obviously) still very much in flux and might not see the light of a 1.0 release until I can figure out some efficient MM patching and find all the edge-case bugs.

The names can change, if you have any suggestions tell me. I'd like to stay away from stuff like "Propellium" or "Explodium" and go with real-ish names. 

I don't believe I've seen any change in the engine performance. BDB Titan II at 80% fuel load performs with about 150 m/s of margin on a BDB Gemini, and BDB Apollo SPS is just about right for capturing in Mun orbit, and returning home. That said, I only did those and the Belle upper stage as tests, if anything weird shows up, please alert me.

Link to comment
Share on other sites

5 hours ago, Clamp-o-Tron said:

Thanks for the interest! It is (obviously) still very much in flux and might not see the light of a 1.0 release until I can figure out some efficient MM patching and find all the edge-case bugs.

The names can change, if you have any suggestions tell me. I'd like to stay away from stuff like "Propellium" or "Explodium" and go with real-ish names. 

I don't believe I've seen any change in the engine performance. BDB Titan II at 80% fuel load performs with about 150 m/s of margin on a BDB Gemini, and BDB Apollo SPS is just about right for capturing in Mun orbit, and returning home. That said, I only did those and the Belle upper stage as tests, if anything weird shows up, please alert me.

Agree that those names may be too "stockalike" for my personal preferences :-).  Was thinking just Aerozine and drop the 50.  NTO perhaps could by HypergolOxidizer.  That keeps the length within CRP conventions and similar to LqdMethane.

I'll give it a test run soon, but I am definitely not a professional when it comes to part balancing.  With that being said, I've been working on a personal mod that adds part upgrades to engines through B9 and have added Methalox variants to Hydrolox engines.  Will need to think about the role of Hypergolic engines in my playthrough and if so, how to patch in support for your mod :-).  However, Wikipedia tells me that the advantage of a hypergolic fuel is their ability to restart unlimited times.  That could make for a compelling argument to add that functionality to the reliability of engines in Kerbalism.

Edited by hemeac
Link to comment
Share on other sites

5 hours ago, hemeac said:

Agree that those names may be too "stockalike" for my personal preferences :-).  Was thinking just Aerozine and drop the 50.  NTO perhaps could by HypergolOxidizer.  That keeps the length within CRP conventions and similar to LqdMethane.

I'll give it a test run soon, but I am definitely not a professional when it comes to part balancing.  With that being said, I've been working on a personal mod that adds part upgrades to engines through B9 and have added Methalox variants to Hydrolox engines.  Will need to think about the role of Hypergolic engines in my playthrough and if so, how to patch in support for your mod :-).  However, Wikipedia tells me that the advantage of a hypergolic fuel is their ability to restart unlimited times.  That could make for a compelling argument to add that functionality to the reliability of engines in Kerbalism.

Thanks, Aerozine sounds good. I might stick with NTO though.

RE: B9 part variants that use different fuels. I'm having some trouble with those part switches. That might just be because the MM patch is extremely poorly written (which I will optimize over the next few days).

Restartability is definitly one of the advantages of hypergolic propellants. The others are that they are storable without cryostats, and the combustion cycle can be much simpler than a kerolox or hydrolox engine. I don't know if I'll do Kerbalism configs (never have played with it, it's just incompatible with too much stuff), but that won't stop someone (hint hint) from doing them, it's a good idea. Engine ignitor is the mod I wish was more supported, but it's patchwork. Storability might be a good upside to using these instead of cheaper kerolox. Maybe I'll make oxidizer (LOX) boiloff?

Link to comment
Share on other sites

Have been warming up to Kerbalism after watching Mike Aben's Permanent Presence series on YouTube.  It may come down to relative performance on my computer though.  I like part failures, but found that Oh Scrap was really CPU intensive.  Have yet to install yet and have just been browsing through the configs at the moment, so hoping that works well and the life support aspects don't end up being too much of a pain.

Not averse to oxidizer boiling off as a trade-off.  

This is the framework that I have been using to get Kerolox/Hydrolox/Methalox engines using B9 Part.  In practice when switching the parts in the VAV, I need to take the engine off and put it back on for it to show dV, but otherwise this framework works well.  Have stripped out the part upgrade modules to keep it readable.  If you want me to poke around your patches a bit, let me know.

Spoiler

@PART[Ares-MAV-Stage1-Engine-Inner]:AFTER[TM4KSP]
{
	@TechRequired = heavierRocketry
	@cost = 3500
	@entryCost = 15000
	
	@description ^= :Engine can accept other fuels.: :
	!MODULE[ModuleB9PartSwitch]:HAS[#moduleID[FuelMix]] {} // Remove the default so we will add our own module.
	
	@title = MN-7 "Valencia" Liquid Fuel Engine
	@description = #$description$ \n\n<color=#ff0000>This part has upgrades!</color> 
	
	// Baseline LH2
	%key00_LH2 = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0$
	@key00_LH2[1, ] *= 1.3
	%key10_LH2 = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,1$
	@key10_LH2[1, ] *= 1.3
	%key20_LH2 = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,2$
	@key20_LH2[1, ] *= 1.3
	
	%Thrust0_LH2 = #$MODULE[ModuleEnginesFX],0/maxThrust$
	@Thrust0_LH2 *= 1.08
	
	// Baseline Methalox
	%key00_CH4 = #$key00_LH2$
	@key00_CH4[1, ] *= 0.82
	%key10_CH4 = #$key10_LH2$
	@key10_CH4[1, ] *= 0.82
	%key20_CH4 = #$key20_LH2$
	@key20_CH4[1, ] *= 0.82
		
	MODULE
	{
		name = ModuleB9PartSwitch
		moduleID = engineSwitch
		switcherDescriptionPlural = Engine Models
		switcherDescription = Engine Switch

		affectDragCubes = False
		affectFARVoxels = False
		
		SUBTYPE
	    {
			name = original
			title = #$../../title$
			descriptionSummary = Original Model.
			descriptionDetail = <b>Thrust:</b> 48.2 kN ASL / 80.0 kN Vac.\n<b>Isp:</b> 205.0 s ASL / 340.0 s Vac.
			addedCost = 0
			defaultSubtypePriority = 1
			primaryColor = #3cff00
			secondaryColor = #bfa760
	    }
		
		SUBTYPE:NEEDS[CryoEngines]
	    {
			name = originalLH2
			title = #$../../title$
			@title ^= :7:7H:
			@title ^= :Valencia:Tangelo:
			@title ^= :Liquid Fuel:Cryogenic Rocket:
			descriptionSummary = Hydrolox Model.
			descriptionDetail = <b>Thrust:</b> 52.1 kN ASL / 86.4 kN Vac.\n<b>Isp:</b> 266.5 s ASL / 442.0 s Vac.
			addedCost = 0
			defaultSubtypePriority = 1
			primaryColor = #3cff00
			secondaryColor = #99ccff
			
			MODULE
			{
			    IDENTIFIER
			    {
					name = ModuleEnginesFX
			    }

			    DATA
			    {
					maxThrust = #$../../../../Thrust0_LH2$
					atmosphereCurve
					{
						key = #$../../../../../key00_LH2$
						key = #$../../../../../key10_LH2$
						key = #$../../../../../key20_LH2$
					}
					PROPELLANT
					{
						name = LqdHydrogen
						ratio = 1.5
						DrawGauge = True
					}
					PROPELLANT
					{
						name = Oxidizer
						ratio = 0.1
					}
				}			    
			}
			
	    }
		
		SUBTYPE:NEEDS[CryoEngines,CryoTanksMethalox]
	    {
			name = originalCH4
			title = #$../../title$
			@title ^= :7:7M:
			@title ^= :Valencia:Bergamot:
			@title ^= :Liquid Fuel:Cryogenic Rocket:
			descriptionSummary = Methalox Model.
			descriptionDetail = <b>Thrust:</b> 52.1 kN ASL / 86.1 kN Vac.\n<b>Isp:</b> 218.5 s ASL / 362.4 s Vac.
			addedCost = 0
			defaultSubtypePriority = 1
			primaryColor = #3cff00
			secondaryColor = #00bf8f
			
			MODULE
			{
			    IDENTIFIER
			    {
					name = ModuleEnginesFX
			    }

			    DATA
			    {
					maxThrust = #$../../../../Thrust0_LH2$
					atmosphereCurve
					{
						key = #$../../../../../key00_CH4$
						key = #$../../../../../key10_CH4$
						key = #$../../../../../key20_CH4$
					}
					PROPELLANT
					{
						name = LqdMethane
						ratio = 3
						DrawGauge = True
					}
					PROPELLANT
					{
						name = Oxidizer
						ratio = 1
					}
				}			    
			}
			
	    }		
	}	
}

 

I have created a spreadsheet that calculates the values for descriptionDetail.  I have seen modders who have automated that step, but I feel that this is a reality control step to make sure that the numbers aren't too off and I do modify some atmosphere curves as a surprisingly large number of engines in mods keep the ISP of engines the same as atmospheric pressure increases above one, so I have gone through and patched them.

 

Link to comment
Share on other sites

19 hours ago, Clamp-o-Tron said:

have any suggestions

In Soviet Union, the hypergolic propellants were code-named Heptyl(UDMH) and Amyl(NTO) to hide their composition from public and foreign intelligence. So, maybe some derivatives from those names can feel more kerbal, than real-life formulas.

Link to comment
Share on other sites

Just now, Hohmannson said:

In Soviet Union, the hypergolic propellants were code-named Heptyl(UDMH) and Amyl(NTO) to hide their composition from public and foreign intelligence. So, maybe some derivatives from those names can feel more kerbal, than real-life formulas.

That is absolutely perfect! I'll go ahead and write some resourceDefs for those.

Progress update: I've written the template for hydrazine (monoprop) engines, and will start applying it to Tantares stuff later today.

Link to comment
Share on other sites

26 minutes ago, Gordon Dry said:

I just launched BDB Vanguard and the ratio of fuel consumption was not balanced.

K, will take a look.

EDIT: The first stage burned Kerolox IRL, so it's not hypergolic. Do you mean the Alpha upper stage? Also, are you using the latest dev branch?

Edited by Clamp-o-Tron
Link to comment
Share on other sites

9 hours ago, Clamp-o-Tron said:

Do you mean the Alpha upper stage?

Yes

9 hours ago, Clamp-o-Tron said:

Also, are you using the latest dev branch?

From your mod or from BDB? If the latter, actually I use latest release of BDB.
I used the latest dev of your mod before this commit: https://github.com/Clamp-o-Tron/KSP-Stockalike-Hypergols/commit/4150df879ef31ca569c6f961f367812596a77318

I try it again with the latest changes.

Edited by Gordon Dry
Link to comment
Share on other sites

On 9/28/2020 at 3:50 PM, hemeac said:

I have created a spreadsheet that calculates the values for descriptionDetail.  I have seen modders who have automated that step, but I feel that this is a reality control step to make sure that the numbers aren't too off and I do modify some atmosphere curves as a surprisingly large number of engines in mods keep the ISP of engines the same as atmospheric pressure increases above one, so I have gone through and patched them.

Would you mind sharing that spreadsheet?
 

Link to comment
Share on other sites

7 hours ago, Stone Blue said:

Would you mind sharing that spreadsheet?
 

The spreadsheet doesn't automate it as I found that there enough things that I alter between engines such as titles, etc.  As I am adding part upgrades and convert some engines to hydrolox/methalox, this makes it easier to reference: Github.  For the engines that I have converted to hydrolox/methalox, I've come up with a general formula for the conversion as I cannot be bothered to balance each one individually.

Link to comment
Share on other sites

6 hours ago, Gordon Dry said:

Well, I got Kerbalism Life Support tanks which can hold WasteWater or Oxygen - and Hypergolics...

Those tanks aren't holding other fuels, right? If they do, \_('')_/ not my problem. If not, *sigh* another thing to fix.

 

2 hours ago, KeaKaka said:

This is exactly the mod I was looking for! 

 

Great! Do remember that this shouldn't be used in a save you care about. Stuff will change and break. I'll go to 1.0 when I feel confident that nothing important might have to change. That's probably going to be after 0.4, but no promises.

Speaking of versions and progress, I've got a few things done! Some of that was just @Gordon Dry fixing my black-tea fueled developing (my motto is "get it done quickly, badly, then fix it or have it fixed later :) ). The other things were getting the monoprop patch (which broke in at least one very specific edge case) working, and creating a patch that makes oxidizer (LOX as usually interpreted) boiloff as does LH2 using the cryotanks module (todo expand to use bdb module). This patch is optional and disabled by default.

Link to comment
Share on other sites

5 hours ago, Clamp-o-Tron said:

If not, *sigh* another thing to fix.

These tanks only hold life support, which is one of those

  • Supplies
    • Food
    • Water
  • Food
  • Water
  • Oxygen
  • Sewage
    • Waste
    • WasteWater
  • Waste
  • WasteWater

Other tanks normally hold one of those

  • Oxygen
  • Nitrogen
  • Hydrogen
  • Ammonia
  • CarbonDioxide
  • XenonGas

The Hypergolics are now added to all tanks.

Edit:

https://github.com/Clamp-o-Tron/KSP-Stockalike-Hypergols/pull/13

 

Edited by Gordon Dry
Link to comment
Share on other sites

Something new:

Several B9 tanks have for each subtype something like this (example from the bluedog_agenaLongTank)

				addedMass = -0.05
				addedCost = -287.8
				percentFilled = 100

but the added Hypergolic entry does not. Could be out of balance somehow?

Edit:

In most of the cases the values in the different subtypes are the same.
It should be possible to grab them from another subtype.

Edited by Gordon Dry
Link to comment
Share on other sites

7 hours ago, Gordon Dry said:

Something new:

Several B9 tanks have for each subtype something like this (example from the bluedog_agenaLongTank)


				addedMass = -0.05
				addedCost = -287.8
				percentFilled = 100

but the added Hypergolic entry does not. Could be out of balance somehow?

Edit:

In most of the cases the values in the different subtypes are the same.
It should be possible to grab them from another subtype.

percentFilled is already in the .cfg, and addedMass is mostly irrelevant. Might tweak addedCost to reflect the precautions needed for handling hypergols... oh who am I kidding, the ground crew would just be guzzling them like black coffee.

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