Jump to content

[Plugin] [Part] [v.17] KIS KSylon Hybrid Rocket [17Oct12] [GPL/MIT]


kellven

Recommended Posts

0.17 stuff here

As this was never completely updated for 0.15, I decided it was time to update to 0.17.

New name for this project is KSylon, reciprocating LED strip not included...yet.

For KSP 0.17

https://dl.dropbox.com/u/74137297/KISylonV08a.zip

9m Bonus Engine:

https://dl.dropbox.com/u/74137297/KISEngKSylon9m.zip

for use with GQDM "Prometheus"

http://kerbalspaceprogram.com/forum/showthread.php/5316-0-17-Gaby-s-Quick-And-Dirty-Miscellania-v1-1-We-like-big-LFT-s-and-we-cannot-lie

For those unfamiliar with this mess of a thread, here you will find at least a crude approximation of the hybrid engines proposed for the Skylon SSTO drone/cargo/spaceplane thingy.

For those who still don't know what this is, essentially it's a Jet engine welded onto a rocket, or a rocket with an air intake.

-Below 30km(Kerbin), this engine gives you an air-breathing ISp of 3500

-Above 30km it functions in pure rocket mode with an ISp of 450

-This is offset by the TwR of about 0.58(see notes 1 & 2)

This means it's extremely efficient at moving stuff to/from Kerbin orbit, but it can push less rocket. Highly similar to the nuke rocket with the ISp range reversed.

4+1 sizes available:

1m: Both stack and radial versions. Radial model was from Thobewill10.

ksylon1mstack.th.jpg

ksylon1mradial.th.jpg

2m: Stack only.

3m: Stack only.

ksylon3mstackjoolship.th.jpg

Bonus

9m: Stack only, for use with GQDM "Prometheus" 9m tanks. To further help with lag reduction when hauling fuel dumps to orbit.

ksylon9mstack.th.jpg

1)Note on TwR: This is actually the Thrust/Mass compared to LiquidEngine 1. Spreadsheet of KSP&RL engine specs mostly updated to 0.17: https://dl.dropbox.com/u/74137297/KSP_0.17_EngineSpecs.ods

2)Note on specs: I tried keeping the specs of this as close as possible to the proposed specs for the SABRE engine. The stumbling block is the mass, which should be around 4.56 instead of 1.8. The problem is the stock "jet" engines have a TwR of 0.58, and 0.76, which should be somewhere around 0.10, meaning the Jets in KSP are ridiculously light, and I had to compensate to make these engines competitive.

3)Note on "Air": "Airbreathing" mode (3500 ISp) should be activated whenever 2 conditions are met: 1-Atmospheric Density is >= 0.003 & 2-Engine is in an atmosphere containing Oxygen. Keep these in mind when planning trips to other planets. Author is still attempting to get a plane onto Laythe for proper testing. Atm Den switch (atmCutoff) is in the part.cfg, 26km(SABRE) is 0.006.

4)Note on "Code": This version extends the LiquidFuelEngine class new to 0.17, adding atmospheric switching, and "Disable"-ability.

Known Bugs:

1) The visual "exhaust" effects can get stuck "on" if you disable the engines with throttle >0, then cut throttle. Just toggle the engines on/off with 0 throttle to get rid of it.

2) The single tiny exhaust effect looks ridiculous on the 9m engines, but they're there just for lag reduction, so not a priority.

0.17 Version has nothing to do with MechJeb, and is under MIT license.

0.15 and below below

.15 stuff here, for .14, look at the bottom spoiler.

->V06 Repackaged everything properly and added Copyright(left) + GNU blablabla. Also added readme with description/install/usage/configurables.

https://dl.dropbox.com/u/74137297/KISBroadswordV06.zip

Fries and a drink extra.

You also need the latest MuMechLib(MechJeb) by r4m0n installed in Plugins directory. If you don\'t have the camera update, get latest version from here:

http://svn.mumech.com/KSP/trunk/Releases/MuMechLib.dll

^Latest Version Up Top^

Recompiled against the camera MechJeb version thingy, should be working again.

https://dl.dropbox.com/u/74137297/ZKISAtmoEngine.dll

Too tired to repackage it, so it\'s just the plugin this time. Can\'t remember if I released the LOX/LH2 MuMech Tank parts, but those seemed to burn through LOX way too quick, have to look at it some time later.

I also got my gigantic resource monster version to burn through standard fuel tanks as 'generic resource mass' when they run out of actual resources, but having problems getting the fuel bars to show on the tanks when stock engines aren\'t also burning them. Also got gimbal mostly figured out, but the animation seems to be bent 90\', so need to fix that first. Need to recreate the fxgroup from scratch once I make sure the gimbal is working right.

Updated for MechJeb 1.8.4

http://dl.dropbox.com/u/74137297/KISBroadswordV05a.zip

Updated for MechJeb 1.8.3

Seems I\'m going to have to recompile everything every single time MechJeb updates now.

http://dl.dropbox.com/u/74137297/KISBroadswordV05.zip

If you want to try out spaceplanes, but just can\'t seem to make a plane that flies well:

screenshot64jm.jpg

This is a little big, but well balanced, wingtip anhedral for auto-leveling, enough wing to use as a glider, can be easily flown without (A)SAS/MechJeb, and is perfectly capable of landing on the Mun, Minimus, and back to Kerbin. Only thing it doesn\'t have is RCS, or Jeb.

http://dl.dropbox.com/u/74137297/KISSpaceplaneA.zip

Requires Broadsword & MechJeb.

Broadsword description, and MechJeb 1.8.2 version:

Thobewill10\'s model looks very nice with C7\'s new parts. Really did a nice job with that model, and it\'s not even using the new .15 graphic features.

Picture here:

screenshot23ns.jpg

KIS Broadsword V04a

-This is a MuMechVariableEngine that combines the functions of an air-breathing ramjet, and a traditional vacume-capable rocket.

-Below 30km, it functions as an air-breathing Jet engine with high fuel efficiency, and can be used for purely atmospheric flights, though it doesn\'t track the advanced parameters C7\'s engines do.

-Above 30km it automatically switches to pure rocket mode, and burns fuel at a comparable rate. This is also the mode used when near an object with no atmosphere, such as the Mun.

-It also utilizes the Engine Control menu so it can be turned on/off as a group at will. Very helpfull if you\'re using the DA props.

-This version uses only the normal fuel found in the default tanks. LOX/LH2 versions will be coming as they become available again.

-As I\'m using the default fuel for this one, I adjusted mass to match the standard rockets.

!!THIS REQUIRES MECHJEB 1.8.2!!

http://kerbalspaceprogram.com/forum/index.php?topic=8021.0

If you have MechJeb, or either of the updated DA packs working, you should already have the correct library in your Plugins folder.

Plugin, Parts, and source here:

http://dl.dropbox.com/u/74137297/KISBroadswordV04a.zip

My sourcecode references MuMechLib, which is under GPL, so mine is as well.

If you\'re still running .14x for some reason, you can still use the stuff in the spoiler below:

For clarification, the Broadsword download is an atmospheric and vacuum hybrid engine part, and plugin.

The pods are non-plugin parts (2-3m command pods).

The longship is a pre-built ship, and self contained set of custom parts; it\'s a 'dual-vector thrustship' or aircraft without wings that uses engines pointing down for lift, and rear for propulsion.

Broadsword: Upd 28 Apr 12

V3a to correct a small oversight in altitude check. Now correctly checks for presence of an atmosphere also.

Zip files for those Mac people

http://dl.dropbox.com/u/74137297/KISBroadswordV03a.zip

http://dl.dropbox.com/u/74137297/KISMMTanksV02.zip

http://dl.dropbox.com/u/74137297/KISBigPodsV02.zip

Screen of Thobewill10\'s new model. Many thanks, Thobewill10.

(Sorry, deleted original picture, this is the best one I could find right now.)

screenshot6d.jpg

Old screen of my own ugly tanks and engines.

broadsword.jpg

Broadsword and Tanks

-Broadsword & Air ram: A combined cycle rocket for Jet level efficiency in atmosphere, and high rocket efficiency in space. Light enough to reach orbit; but like all airbreathers, ++ heavy compared to 'pure' rockets.

Required

You need 2 plugins for this now, so be sure you end up with both MuMechLib and KISAtmoEngine in your plugin folder.

KISAtmoEngine is in Broadsword v03 download.

MuMechLib is MechJeb:

MechJeb 1.8

Broadsword v03a

http://dl.dropbox.com/u/74137297/KISBroadswordV03a.rar

Second plugin and source is included in this download. New model by Thobewill10 makes the 1m version look like an actual engine. New code also completely automates the air ram, and eliminates many problems.

Note: I added a temporary simple collider untill I can get a better fit. There are also lots of hidden toys in the code, but please don\'t play with them yet, unless you really know what you\'re doing. Excluding Broadsword specifics, they aren\'t done yet, and have never been tested.

LOX/LH2 tanks v02

http://dl.dropbox.com/u/74137297/KISMMTanksV02.rar

contents:

LOX tank-(0.5m base) LOX tank, heavy and tiny. Lots of sizes, total tank equivalencies noted.

LH2 tank-(1.5m base) LH2 tank, big and light. Lots of sizes, total tank equivalencies noted.

Tanks are pre-matched. You need 1 tank equivalent of LOX AND 1 tank equivalent of LH2 when above 30km. Below 30km, you just need 1 tank of LH2.

Space: 1 LOX + 1 LH2 = 1 stock fuel tank

Atmosphere: 1 LH2 = 1 stock fuel tank

General rule of thumb that works for me is to pack 2 LH2 for every 1 LOX required to reach orbit. This reliably reaches orbit for me, and usually gives me a bit of LH2 left over for reentry.

Broadsword engine was converted from SABRE specs (Skylon) and normalized to Silisko Edition 2 Alpha.

Notes/bugs:

The LH2 tanks are extremely light, and double as structural members in all my ships now. The LOX tanks are massively heavy, and are best kept right around where your desired CoM, as they should rightly have their own gravity well.

LH2 tanks are probably unrealistically light when empty, mass was calculated paired with a LOX tank to equal a standard 'fuel' tank, but those are highly unbalanced to begin with.

BigPods:

2 Big pods, for big rockets, for big Kerbals, for big people with big tanks, and bigness issues.

http://dl.dropbox.com/u/74137297/KISBigPodsV02.rar

Longship-VTOL style 'thrustship' No wings, just engines. Same idea as the prop pack, only on the bottom, and highly unpretty. This is old and neglected now.

mediafire

Semi-functional sub parts. Causes stack damage from engine thrust, project neglected for some time.

mediafire

Licensed under MIT. If anyone has a licensing issue, please contact me, if contact cannot be made, consider it in principle copyfree.

Under GPL, too confusing otherwise, as r4m0n\'s MuMechLib is under this.

Edited by kellven
Spoilerification
Link to comment
Share on other sites

  • 3 weeks later...

Of course I would.

I was actually thinking of asking r4m0n for permission to extend his part code so the air/LOX switch happens automatically at 30km, and make the air ram properly take into account throttle and altitude. I decided not to, as I was the only one who seemed to be using them, but if someone else want\'s to use them, I\'ll send him a message.

Link to comment
Share on other sites

Definitely check out Thobewill10\'s new model. Forgot to mention, the engine is now 1 part, requires no input(for atmo switchoff), and no longer requires a LOX tank for atmospheric flight, can run on just LH2 now.

Link to comment
Share on other sites

So this is incorrect now?

Notes/bugs:

The air ram refund is a bad hack. It returns the LOX consumed by 1 engine at full throttle to the tanks. It will not switch on/off automatically. Broadswords require at least 1 LOX tank on board to work, even with the air ram engaged. If any of the tanks go completely empty, they die, and are dead for good.

Link to comment
Share on other sites

You are correct, I was just extremely tired when updating, and wanted to get Thobewill10 a working part quickly since he was nice enough to make a model for the engine.

The old convoluted hack with a MuMech SolarPanel is completely gone, and replaced with a much more convoluted, but clean and quiet extension to r4m0n\'s VariableEngine directly. It switches automatically, does not require any LOX on board below 30km, and doesn\'t 'refund' anything as it simply doesn\'t consume oxidizer below 30km in the first place. The tanks still die if they go empty, but that is normal tank behavior.

Link to comment
Share on other sites

Been deliberately ignoring KPS for a few days. It looks like C7 not only got atmospheric engine code into the main game, but from the last video he posted, it covers everything I was adding to MechJeb to extend the engines. Very good news, not only can I now use C7\'s fantastic part models(as they\'re going to be in the base game), I also can just tweak the new atmospheric engine class, rather than creating it out of whole cloth like r4m0n and I were doing.

In other words, I can now start actually modding again, instead of coding to extend the game.

Be sure to thank C7 when the update gets released, really top notch job.

Link to comment
Share on other sites

Oops, sorry. Took down the picture of Thobewill10\'s model by mistake. This is a set of engines and tanks. The tanks are just MuMechVariable tanks set to hold 'LH2' and 'LOX', with appropriate stats for their contents. The engines are hybrid atmospheric/space ramjet/rockets, stats were converted from Skylon SABRE engine stats.

Basically, they\'re air breathing LH2 jet engines until you hit 30km, after that, they need LOX as well as LH2 and function as rocket engines. The ugly grey and black models are by me, the non-ugly model was made by Thobewill10. Everything was balanced around SE V2a, and the stock fuel tanks.

A lot more could be done now that r4m0n opened up his plugin to extension, but like most people, I\'m waiting on .15 release. Every time I poke one of the devs, they keep spilling more treats about what\'s in the update. The info I have already, makes coding anything else for .144 pointless, so it\'s sort of nap time until .15 comes out.

Link to comment
Share on other sites

Oops, sorry. Took down the picture of Thobewill10\'s model by mistake. This is a set of engines and tanks. The tanks are just MuMechVariable tanks set to hold 'LH2' and 'LOX', with appropriate stats for their contents. The engines are hybrid atmospheric/space ramjet/rockets, stats were converted from Skylon SABRE engine stats.

Basically, they\'re air breathing LH2 jet engines until you hit 30km, after that, they need LOX as well as LH2 and function as rocket engines. The ugly grey and black models are by me, the non-ugly model was made by Thobewill10. Everything was balanced around SE V2a, and the stock fuel tanks.

A lot more could be done now that r4m0n opened up his plugin to extension, but like most people, I\'m waiting on .15 release. Every time I poke one of the devs, they keep spilling more treats about what\'s in the update. The info I have already, makes coding anything else for .144 pointless, so it\'s sort of nap time until .15 comes out.

Ah, i see, thanks!

Link to comment
Share on other sites

Probably an issue with the MuMechVariableTanks not serializing something properly(the same tanks the COSMOS pack uses, if you wanted to check). None of my parts/code actually add anything back to the tanks anymore, the engines just have a dynamic burn switch for oxidizer. I will take another look at r4m0n\'s tank code, but I\'m sort of stuck between two problems.

I\'d been poking at C7, and he\'d been dropping treats like a pinata about what\'s in .15. It appears someone took a good whack at Mu over the weekend, and a solid mountain of info came out. While it doesn\'t look like a whole lot got done in the .15 update from looking at the feature list, under the hood, it seems they did a near complete recode of the whole game. Iterative improvement like that is a very good thing to see, and that they aren\'t afraid to do heavy restructuring, most companies would pass out at the thought of heavy recoding like that. But it also means nothing I write now will have relevance past the update.

The other problem is that I have no more idea when .15 will come out than anyone else does. It could be 0600 Monday morning, or two weeks from now. I\'ll look at the tank code again, and if I see something, try to fix it, but I don\'t want to write a lot of code that\'s going to be wasted effort sometime in the next week. I\'ve got a lot of ideas for functionality I want to add, and most of them are in a 'comply to code' state already. I\'m not going to work further on them until .15, and it looks like it\'ll take some time to digest the structural changes introduced.

--All clear, block of text over--

There\'s a third problem of course. Toady One is hording wheelbarrows and minecarts all to himself, and teasing us with reports on his testing. It\'s just cruel that both KSP and DF are 'almost updated' at the same time, it\'s a clear failure to communicate, and it\'s inexcusable.

Edit: Forgot to mention that I left the old engine models in so they could be stack attached like normal rockets at the bottom of a stack. I have plans for keeping a bottom connector engine like that, with air intakes poking out of the top rim radially.

Link to comment
Share on other sites

Think I found the bug, it\'s not that the fuel tanks are refilling themselves when vessel switching, it\'s that the icon gauges are resetting to the new 'maximum', which was the previous current level. Nobody knows exactly how KSP saves data between 'scenes', but I think it\'s an issue with MuMech tanks having a custom 'maxfuel' parameter, and custom icon gauge code. The vanilla tanks don\'t have a cap, only a current value, which makes testing them difficult.

I can definitely say that my Munship I left with a sliver of LOX burned through it\'s entirely 'full' gauge in a couple of seconds, so the gauge may be wrong, but the value is saved/loaded correctly.

Link to comment
Share on other sites

Here\'s r4m0n\'s icon code:


{
fuelBox = stackIcon.DisplayInfo();
fuelBox.SetLength(2.0F);
XKCDColors.NextColorAlpha = 0.6F;
fuelBox.SetMsgBgColor(XKCDColors.DarkLime);
fuelBox.SetMsgTextColor(XKCDColors.ElectricLime);
fuelBox.SetMessage(type);
fuelBox.SetProgressBarBgColor(XKCDColors.DarkLime);
fuelBox.SetProgressBarColor(XKCDColors.Yellow);
XKCDColors.NextColorAlpha = 1.0F;
}

fuelBox.SetValue(fuel / fullFuel);
if (fuelBox == null)

And here\'s where he sets fullFuel:


protected override void onPartStart()
{
stackIcon.SetIcon(DefaultIcons.FUEL_TANK);
stackIconGrouping = StackIconGrouping.SAME_TYPE;

fullMass = mass;
fullFuel = fuel;

base.onPartStart();
}

And here\'s onPartStart():

Nobody knows the exact sequencing or logic of the on...() method calls, but it looks to me like whenever a vessel is loaded, the fullFuel gets set to whatever it\'s fuel field was when it was saved. So yes, if you have battery MuMech tanks, they\'ll reset their cap to the last current value when (de)serialized.

Since that\'s the value the icon gauges use, the actual amount in the tanks persists, but the bar resets it\'s 'full' position to whatever the bar was at when you switched vessels.

I didn\'t touch r4m0n\'s tank code, just the engine code, so I\'d have to break tank compatibility to fix the gauge issue. As .15 overhauls the whole system, I\'m just going to wait a few more days until it\'s out before rethinking the system.

Edit: If anyone\'s worried, I didn\'t modify the mumech engine code directly, just made a separate derived class for me to use, so my plugin won\'t screw up any others.

Link to comment
Share on other sites

I agree on the remaining/max fuel reload, I was worried about that, how it burned through my LOX in seconds.

Good job on finding the problem!

I don\'t think people tell mod makers good job enough. We should do that more often.

Link to comment
Share on other sites

Thanks for the support, zack2014. It might be unwarranted in this case actually, I could probably work around the issue, and get the gauges to display properly, I\'m just being lazy and playing another game while I wait for .15 to come out.

I\'m not exactly a patient person, and had to get my head out of KSP untill the whole QA phase is sorted. I understand that it\'s good that Squad is going through and polishing things so the .15 release is 'consumer grade', but it clashes violently with my own style of kicking things out to the public as soon as it does what the tin says. I try to do (most) bugfixing as I write code with extreme logic constraints, but that\'s not how professionals write code, it\'s less profitable :)

Link to comment
Share on other sites

  • 2 weeks later...

Tried a simple update with this, but no workey still. Not sure right now if r4m0n forgot to update his source code svn with the 1.8.2 MuMechLib code, or if it\'s something basic changed in LiquidEngine. The DA props do seem to be working, so I\'ll try a cfg transplant surgery until I figure out exactly how the code changed.

Had serious problems trying to make a helo ascent stage spacecopter, due to C7\'s atmo engines being deactivatable with part menu, but rocket engines not being deactivatable, so getting a space capable engine with MuMech menu control is top KSP priority for me now. I also temporarily changed the Broadsword engines to pull generic fuel for both fuel and oxidizer for simplicity until I can get a handle on what\'s going on again. Oh, did I mention there\'s a DockingPort class in the code now? No idea if ActivateAutoDock() or Undock() do anything yet, but the class is there at least.

Hope to have a working engine again soon.

Link to comment
Share on other sites

The plugin loader is throwing cryptic errors at me, so I\'m thinking I may have to ditch MuMechLib for the moment, and invoke copypastafu to get it to work until I can figure out why the new loader hates me. That will cause problems with the engine control window, however. Need to think this through on a fresh brain after sleepytime. Going to take a while.

Link to comment
Share on other sites

Found workaround to new loader issue, and ported to .15, changed to use base fuel and mass. No issues noticed in brief testing, other than it may be a little too easy to get orbital with this. Bugginess of .15 base game makes balance attempt pointless at this point.

Link to comment
Share on other sites

Recompiled again for MechJeb update, going to have to make sure the fuel handling is done correctly when I get time to sort through the mess that is 0.15. Made a very easy to fly spaceplane, so I stuck that up also, I know some people want to fly, but have difficulty with aeronautic design.

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