Jump to content

[0.90WIP] Procedural Parts - Parts the way you want 'em 0.9.21, Dec 19


swamp_ig

Would you prefer decouplers to:  

118 members have voted

  1. 1. Would you prefer decouplers to:

    • Closely as possible follow stock behaviour
      15
    • Have a sensible relation between size, decoupler force, and mass
      153


Recommended Posts

Sounds very well thought out. Im not sure I'd be interested in coding it up. Just feels a bit cheaty to me.

Of course that's a personal preference, but tanks seem like they require only a bit of engineering to tweak their size, even command pods aren't that ultimately different if one tweaks the size. However,Having done some fluid dynamics in one of my Past jobs, tweaking engines just aint that simple.

Having said all that I'd be more than happy to support someone who is willing to do the coding :)

Link to comment
Share on other sites

Have you thought about adding a service module option to the tank type tweakable. So we can have tanks with LF, Mono and electricity perhaps with a max number of units according to size so i.e. 300 units for 2.5x1 / 1x2.5 with the ability to set mono, electricity and LF levels out of the 300 units ie. 120/147 LF 10 mono 23 electricity.

Link to comment
Share on other sites

Bazz: yep, planned. Easy doable with some config tweaking

Would it be possible to get other shapes rather than just cylinder and cone?

If so I think many people would use that feature to build much more fluid craft shapes.

A few examples off the top of my head...

Cone with the point of cone offset (think raised tail piece but it would be useful for loads of stuff), Mk2/mk3 fuselage cross section shape, firespitter hull shapes, D shape cross section (with curve of D facing down) would also be lush but I guess you would also need an adapter to make it useful. :)

Oh and maybe b9 fuselage cross section shapes too?

Link to comment
Share on other sites

I have a slight bug with this: I made a plane with a procedural tank on the front and a regular tank on the back, made the Ptank liquid fuel only, and when I launch it the Ptank contains oxidiser too... I'm not sure what's going on with it.

Link to comment
Share on other sites

I support this 100%

But you can not do this alone, is a lot of work.

If you wanna remplace most of the parts of the game by procedural parts you will need help.

I would love to see a parameter code that any modder can use to create his/her parts in a procedural way.

Plus the cost of the part depending size needs to be included.

A fusion between procedural wings, stretchy, procedural fairings, real fuels, the new real chute version (now is procedural), and extra addoms; all in one.

It will possible to reach an agreedment with most of the modder to accomplish this?

Link to comment
Share on other sites

See thread main message - new release 0.6.0.

Now with pill-shaped parts.

I'm thinking this is pretty much ready for generalized release, rather than be in development status. Having Bezier cones would be ideal prior to general release really, just to be feature complete with StretchySRBs.

Link to comment
Share on other sites

Nice you finally added some pictures.. I actually didn't test it yet but are they easily compatible with Real Fuels like the tanks from StretchySRB

Should be, I don't use RF however, can you try it out and let me know?

Link to comment
Share on other sites

Great work on this Mod. So I tried the RealFuel mod with this to see if it would work. It didn't so I tracked down the issue. You need to do two things to make it work. First you need to download http://www.infradead.org/~jsimmons/ProceduralParts.cfg into your GameData/RealFuels directory. Next you need to delete TankContentSwitcher sections of TankLiquid.cfg and TankRCS.cfg. Both interfere with RealFuels. I will push the ProceduralParts.cfs to Nathan to be included into RealFuels.

Link to comment
Share on other sites

If you are branching out beyond just tanks then I would like to see procedural girders, trusses, and other such structural parts before engines. Bonus for structural parts with tanks in them. There are plenty of engine mods but not enough good structual parts (or at least not enough good ones that arent spread out as 1 or 2 parts here and there in giant part packs).

Link to comment
Share on other sites

After getting real fuels working with Prodecural Parts I now have started to work on prodecural decouplers. I posted a basic config for decouplers at http://www.infradead.org/~jsimmons/Decoupler.cfg. Different size couplers are supported at different tech levels. As you progress in your tech tree you will find the thickness of your stack couplers can be made smaller and smaller. When you can metaMaterials technology I do allow the decouplers to be any size. I don't want to stand in the way if someone wants a 10 KiloTon decoupler :) Sorry no textures for the decouplers. I like for an artist in this thread to pick that up. Also as we add more parts we should consider organizing the texture maps.

Currently the decoupler has a set value for the ejection force and also what direction the force is in. Also it is not a stack separator. For a stack separator you need to set the isOmniDecoupler flag to true. As this mod develops we will need the decoupler settings to be tweakable. It would be nice to control the amount of force and its direction. Also allowing the user to change it from a decoupler to stack separator would be awesome. It would make sense that the range of the separation force be related to the size of the decoupler.

This is all for review at this point so feedback is welcomed. Oh I did test it and it works.

Link to comment
Share on other sites

Yes Arrowmaster that is goal. I have started to aim for the low hanging fruit. Things like decouplers, heat shields and such can be handled by the basic shapes we already have. With a grouping of cylinders for example we can create produceral wheels. What is missing that would help us move forward is cubes, hexagons, and octagons. This would help to turn several rover and probe bodies into produceral parts. Also 3D hexagons would be cool. With groupings of cubes and rectangles we could create trusses. You have to create a base cell that you would repeat X by Y times. This would also apply to square solar planes since they are very flat cubes.

Link to comment
Share on other sites

jsimmonds: Great work!

Real fuels:

I've actually discussed this with Nathan at some stage, real fuels needs to listen for the same message that TankContentSwitcher listens for: UpdateTankVolume(float tankVolume)

(This really needs to be renamed to UpdatePartVolume, it's a holdover from when it was just a tank)

I'm not sure if RF updates the dry mass of the tank either, in which case TCS will need to detect RF and not fiddle with the fuels, rather than just remove the module completely.

I'll work properly on RF integration once I complete bezier cones. That way there's full feature parity with StretchySRBs

Decouplers:

Awesome, I hadn't thought of that. The config is really a piece of cake too.

Might be worth having a special shape for decouplers, since really the only thing you'd want to tweak would be the diameter I'd expect.

Probably the easiest way would be to subclass pill shape, hide the editors for length and fillet, and make them dependent on diameter (say length = diameter /10, fillet = 2 * diameter / 10)

Texture maps:

This is definitely on my radar. The current texture system won't work too well when I introduce extruded shapes. I've put quite a bit of thought into the best way to handle it, haven't quite come up with a good general solution just yet but not too far away...

Cubes, hexagons and octagons (as well as Mk2 and Mk3 bodies):

They're really going to be next. I've actually figured out a way to reuse much of the code I've already coded up for surfaces of revolution.

Gotta finish beziers first tho.

Edited by swamp_ig
Link to comment
Share on other sites

I really like where this is all going. It has a great future ahead. Even NathanKell mentioned it on the StretchyTanks as a "natural Stretchy Successor" so please stay on it ;) I think jsimmons has some great ideas there, you should get

Him on board as official dev of this mod. Together you can reach much more :D

Link to comment
Share on other sites

Very nice pack, but i really miss the additional shapes for the conic tank, to build modules like this: *snip*

Multiple thread posts and op confirm that being the next thing to be added. This makes it feature complete with StretchySRB.

Link to comment
Share on other sites

Congrats for your upgrade.

But you dint answer my question, what is your main idea with this mod?

What about others procedural mods?

It will be possible to have one day one mod to remplace almost all parts with procedural parts, or the only chance would be had 20 mods that would cover most of the parts, and then delete all stock parts that we might remplace... Going in this direction is difficult to imagine a widespread use of procedural parts.

Pd: I see the pictures, looks great. How you would manage the cost depending the dimentions that we choose? Maybe a dinamyc formule given by surface to calculate the cost..

Edited by AngelLestat
Link to comment
Share on other sites

Even NathanKell mentioned it on the StretchyTanks as a "natural Stretchy Successor"

Guess I wasn't clear. :]

This isn't a, this is *the* stretchy successor, i.e. Stretchy v9+, with a broader name since it's diversifying, and spearheaded by swamp_ig who's doing amazing stuff (and way more/better than I was!)

Link to comment
Share on other sites

Hey, swamp_ig, you said you thought that the SRB nozzles should vary in relation to thrust? Turns out they should! I have a bit of complicated math for you.

Nozzle_de_Laval_diagram.svg

So what we're looking at is a converging-diverging nozzle, like above, where the left-hand converging portion is embedded in the tank and the diverging portion is visible. In order to get supersonic flow in the diverging portion of the nozzle, the flow must be choked, and the closed form expression for the mass flow through a choked nozzle is:

m_dot = p0 · A* / √T0 · √(γ/R · (2 / (γ + 1))(γ + 1)/(γ-1))

where:

m_dot = mass flow rate = T/vexit = T/(Isp · g0), kg/s

p0 = stagnation pressure = combustion chamber pressure, Pa

A* = throat area, m2

T0 = stagnation temperature = combustion chamber temperature, K

γ = ratio of specific heats of gas, probably ~1.2

R = specific gas constant = universal gas constant / gas molecular mass, J/(kg)(K)

You'll know m_dot from burn time, p0 and T0 can be estimated from typical solid fuels, γ and R can be found for the combustion products of typical solid fuels. From that you can solve out A* for a given amount of thrust. Based on some searching about how to handle gases with solid particles in it and how aluminum and ammonium perchlorate react, you can use the typical gas equations but use a γ of 1.195 and an R of 172.64 J/(kg)(K). I'm not exactly sure what pressure and temperature to use though, since it looks like that gets pretty complicated in itself, though I'd take educated guesses of ~30 - 50 atm pressure and ~1500 - 3500 K temperature.

So that tells you how big the throat area has to be for a given amount of fuel flowing through it. Now, nothing stops the nozzle from becoming smaller, but the diameter of the tank should put some type of upper limit on the throat area. Based on what I've read, it looks like the general rule is that the upper limit on throat area is about 0.5 times the area of the initial open space for combustion in the SRM; I'd say that that should set the upper limit at about 1/3 - 1/2 of the cross-section of the SRM, which means that the throat should be able to get slightly larger than it currently is for the sea level nozzles and quite a bit larger for vacuum nozzles.

Edit: I feel like I should note that the above equation would work for any rocket engine, not just solids. So if someone wants to go about making a procedural engines mod, that is the equation you want for figuring out how large the engine throat needs to be for a given chamber pressure and temperature.

Edited by ferram4
Link to comment
Share on other sites

I just had a thought: procedural skins. Build a girder structure, attach 3 anchor points, and have a surface generated between the points. 3 sliders for how parabolically to interpolate each axis. Crash tolerance inverse to distance between anchors.

Link to comment
Share on other sites

I just had a thought: procedural skins. Build a girder structure, attach 3 anchor points, and have a surface generated between the points. 3 sliders for how parabolically to interpolate each axis. Crash tolerance inverse to distance between anchors.

I don't have any real interest in procedural tanks/whatevers like in the OP (don't mind me, just fatin' around the forum because bored)

but THIS THIS THIS

is something that I would be VERY interested in.

calculating aerodynamics might get hard.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...