Jump to content

Let's Talk About Procedural Engines


Sauron

Recommended Posts

Soooo...

This little rant has come about after playing some RSS/64k career games but the points I make are also applicable (less so, admittedly) to a stock game. I've found the reliance on IRL engines in any realism overhaul games highly irritating. There are always niches that I really want to fill but can't because of a dearth of RL options (this is most notable with small engines, lander engines, and engines with poorly represnted fuels like methane.)

To that end, I'd like to propose a (hopefully) reasonably easy to implement way that someone with some degree of modding ability might go about making a procedural engine mod as well as some game balance considerations.

Each procedural engine would consist of two meshes, an engine housing, and an engine bell. Housings would be a fixed shape--just scaleable. Housings would also include any turbomachinery, pumps, etc.

Only the bell would be procedural with 3 general options: surface, vacuum, and low-profile. Again, bells would be modified mostly by scaling.

 

This offers interesting game design considerations. For example:

-Low profile engines would have worse TWR and ISP (bells not ideally shaped, machinery compacted in awkward ways).

-In RSS, choices of pressure fed, turbopump driven, control over the number of ignitions, throttleability, etc.

-Integration with KCT and similar to reward desgning vehicles with a common lineage--each procedural engine would have to be discretely represented.

-Balanced tradeoffs between TWR and ISP would be interesting ways to distinguish engines

-Because stock is much simpler there's less need for a mod like this but if it's pretty enough there'll always be uses :P

 

I feel like this is a relatively low-effort way of getting procedural engines without a really involved procedural system. The real trick is game balance.

 

Link to comment
Share on other sites

You'd need an intersection between someone capable of modelling and texturing relatively complex parts, and someone who can make sense of FireSpitter's model switching. 

That's... rare, and those capable are usually tied up in their own projects.

In the meantime, I strongly recommend you look at Custom Clusters. For tips on how to use them, look at my RSS career rockets.

Link to comment
Share on other sites

The modelling and model switching aren't that hard if that was all you wanted to accomplish.  JSI Part utilities creates a pretty easy to manipulate mechanism for making a part that has several potential configurations.  At the moment it just affects mass, cost, node placement and resources..  but it could probably be expanded to swap fuel and curves too?  If so, you're looking at a few dozen lines of c# and then the rest of the mod making will happen in config files?  

Link to comment
Share on other sites

See, I don't think from a technical perspective this would be any harder than p-fairings. In fact, let's use that example.

Suppose there's a mesh switchable set of superstructures that project a guide mesh exactly like p-fairings. This can be tweaked according to engine parameters, etc. The bell is a separate mesh. If you couldn't do it in one part you could do it in two.

I feel like balance is a muuch bigger challenge.

Link to comment
Share on other sites

I'd love to see procedural engines. My vision is to have two components, a procedural "engine" representing the reaction chamber, pumps etc. and a procedural bell. That would probably work best for modelling, but also for figuring out the important numbers,

The engine portion should take the fuel and oxidizer and convert it into "potential thrust", the bell would take the potential thrust and modify it formulaicly dependent on the current atmospheric pressure (or lack thereof) and the design of the bell into the "actual" thrust. 

Engine size and tech would determine how much fuel could be processed per second, that and the Isp of the fuel would determine the potential thrust. Efficiency could be lowered somewhat by the technology of the engine - the Isp numbers available assuming ideal temperature, pressure etc. in the reaction chamber, but working pressure and temperature is limited by the available materials. Similarly open cycle engines are less efficient then closed cycle.

The radius of the bell's throat would be determined based on the engine specs, the bell's exit would be determined by player choice. The efficiency with which the potential thrust is converted to actual thrust is determined by the ratio of throat  to exit and the ambient pressure at the nozzle exit. The length of the nozzle would determined by the nozzle exit diameter assuming efficient bell nozzle shape is followed. Players should be presented with a couple od presets for the bell - probably sea level optimized, vacuum optimized and intermediate, But they should also be allowed to choose any point on the scale - do I live with the weight and size of a fully optimized vacuum bell or do I sacrifice some efficiency to save on weight with a smaller bell?

Given the formulas for thrust, Isp etc. are well known, balance shouldn't be difficult. The one thing that would have to be worked out carefully is the ratio of engine weight to thrust. That is determined by engineering considerations, materials technology and so on, not as easy as calculating thrust. :)

Link to comment
Share on other sites

There's a small hassle that comes with any multiple part solution to procedural engines - and that is that the entire 'engine' game module is attached to a single part...  so your bell will always BE the engine...  now, making a partmodule that you add to your engine that communicates with a different partmodule in it's parent part to find out what the parent part thinks the curves and thrust settings for the engine should be isn't impossible at all, but it's not nearly as straightforward as just adding the parameters you need to modify to something existing, like JSIPartUtilities and then the whole rest of the mod is made in the 'cfg' file...    You just define 20 different possible setups for your engine with whatever combination of models you want for the upper engine and bell nozzle and then in the VAB your user is able to just click through the different setups and watch the engineer or mechjeb window tell them what their delta-v and TWR would be with each setting of the magic button.

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