Jump to content

New Rocketry Mechanics


Recommended Posts

**Update**

Content of this discussion has been used to build a browser based rocket calculator: Oni Assistant.

**Orignial post**


Hi all, 

I've just been tinkering around with rocketry since the new industry update. The earlier videos I've seen didn't cover rocketry as deep as I was interested, so loaded into testing branch and thought I might summarise some of my early findings here and invite discussion. 

Fuels and weight penalty:

There are three fuels for each of the three base engines, each has its own "efficiency" in terms of km achieved per kg used:

  1. Steam 20km/kg
  2. Petroleum 40km/kg
  3. Liquid Hydrogen 60km/kg

The efficiency of a fuel is important since its a linear relationship between kg of fuel used and distance traveled, however the weight penalty is non-linear (credit to neoazureus):

Pentality = Max[Shipweight, (Shipweight/300)^3.2]

The key take away is that every kg you add to your ship costs more than the last in terms of achievable distance. This is a nice mechanic that prevent mega rockets ever making sense as the additional weight costs too much distance. 

Oxidizers

Importantly, engines (except steam) require an oxidizer now in a 1-to-1 ratio with the fuel in order to burn. The game seems to indicate you can use either oxylite or liquid oxygen, I have only been able to get liquid oxygen to work. Liquid oxygen has an efficiency of 133% and text in the game indicates that it is better than oxylite so I presume oxalite is 100%. 

Fuel/Oxidizer Storage

  • Liquid fuel storage, weight 100kg, can carry 900kg of fuel
  • Oxidizer storage, weight 100kg, can carry 2700kg of oxydizer

Storage containers weigh very little. Interestingly, the oxidizer storage carriers exactly enough to burn 3 full fuel storage containers of fuel. So either you build a ship with 3 fuel tanks per oxidizer tank, or measure/limit the amount of oxidizer you pump in on smaller ships. 

Quick math test of everything so far

Seeing the difference between petroleum and liquid hydrogen we can see that 3 tanks of petroleum will provide a base distance (before weight penalty) of 108,000km. (40km/kg * 2700kg). This is the same distance provided by only 2 full tanks of hydrogen (60km/kg * 1800kg). This distance would be boosted to 143,640 km if you use liquid oxygen instead of oxylite as the oxydizer. 

This is significant since the mass of these two rockets would be totally different:

  • Petroleum rocket: 6200kg (fuel 2700kg, oxidizer 2700, engine 200kg, capsule 200kg, fuel/oxy storage 400kg); Weight pentalty: -16,177km
  • Hydrogen rocket: 4600kg (fuel 1800kg, oxidizer 1800kg, engine 500kg, capsule 200kg, fuel/oxy storage 300kg); Weight pentalty: -6,200km(ish)

So despite having the same base achievable distance, the net distance after weight penalty is 10,000km more for the hydrogen example. 

Extra components

Whilst all the base rocket parts like fuel storage, engines and command capsule are all relatively light. All the other rocket components are relatively heavy and will balloon your weight penalty rapidly:

  • Cargo bay: 2000kg
  • Liquid cargo bay: 2000kg
  • Gas cargo bay 2000kg
  • Sightseeing 200kg
  • Research station: 200kg

For example, even adding on just one of these cargo bays to the petroleum rocket above drives the weight penalty up to -39,575km (23k more) and a second takes it to -79,567km (40k more), so it will barely get off the ground. The game is a little inconsistent at the moment with the weight of these parts but at least in the total mass of the ship, this is the impact they are having. 

The solid booster

The solid booster appears to take its own separate copper and oxylite as fuel within its own storage, however they seem very incomplete at the moment. Neither the weight of the rocket nor the achievable distance is impacted by them in the current build in my game at least. 

Thoughts and comments

I think the mechanic of linear benefits to adding weight with exponential costs is an excellent implementation. This, combined with the efficiency of different engines will gate later planets until you have the tech to support the new engine.

I'm not sure how the dev's wish to make the steam rocket not skippable in a player's progression. Players can already generate the petroleum and liquid oxygen using hydrogen gas loops so I feel like the steam engine can be leapfrogged. Its fuel (steam tightly between 100C and 125C) is also more temperamental and annoying to produce compared to the others.

However the hydrogen engine appears gated behind the need for liquid hydrogen, itself requiring the new super coolant (excluding low volume exploitation of pipe packages). Super coolant is only craftable after sourcing mercury and fullerene, presumably at the limits of a petroleum rocket's reaches. 

The devs have also left themselves open for even greater distances requiring nuclear engines in the future.

I'm looking forward to seeing how they refine this over the next couple weeks.

Link to comment
Share on other sites

41 minutes ago, TunderLock said:

Importantly, all engines require an oxidizer

Steam engine doesn't need oxidizer. Also of note: on launch it leaves incredibly hot steam cloud behind. Engine also periodically drops steam bottles while stationary (I suspect it was meant to be an effect of rocket losing pressure/leaking otherwise it is just a weird bug).

41 minutes ago, TunderLock said:

Research station: 2000kg

This one is 200kg. And I think it is important to point out that this module is supposed to generate data disks and charges for our 'neural' improvements, but 'research points' can be exhausted, looks like 250 per asteroid top... 50 per module but not yet working.

41 minutes ago, TunderLock said:

Extra components

I think you also missed passenger module.

41 minutes ago, TunderLock said:

Fuel/Oxidizer Storage

Important change is that you now can adjust how much fuel you need - now you can launch rocket as soon as there is enough fuel to reach destination, tank no longer needs to be full.

Link to comment
Share on other sites

1 hour ago, TunderLock said:

I'm not sure how the dev's wish to make the steam rocket not skippable in a player's progression.

They 'kinda' did already.

Research price for higher tier engines is really high.

400 points of interstellar research for 'solid buster', 600 for petroleum. While manageable with observatory, this takes a lot of time. So you either use observatories (which you also need to scan/identify asteroids) or you build a steam rocket and get (potentially, doesn't appear to work yet) up to 250 points of research from closest asteroid (trip takes 3 cycles). If steam booster can be stacked, you should be able to get at least 750 research.

Once disks will get fully implemented I think rockets will be faster research method then observatories.

1 hour ago, TunderLock said:

Steam 20km/kg

Like solid one, it also has internal tank.

1 hour ago, TunderLock said:

Its fuel (steam tightly between 100C and 125C) is also more temperamental and annoying to produce compared to the others.

And slow to fuel!!! You need at least 650Kg of steam for most basic rocket, and you fuel it at 1kg/s top.

But to be fair it took me less then a cycle to set steam production, based on regolith heating. It took longer to actually get steam and fuel the rocket (partially because I used single gas-pump, partially because rocket keeps dropping bottles).

Link to comment
Share on other sites

1 hour ago, TunderLock said:

 

The efficiency of a fuel is important since its a linear relationship between kg of fuel used and distance traveled, however the weight penalty is somewhat exponential/powered/quadratic. I played around with the slider in the starmap view. The best relationship I could get between ship weight and the weight penalty is:

Shipweight <   4000 : Penalty = shipweight
Shipweight >= 4000 : Penalty = (shipweight*0.0045-2.7341)^3

 

Exact formula is:

Max [Weight, (Weight/300)^3.2)]

Weight in kg.

if we make the following equation:

Weight = (Weight/300)^3.2) ---> Weight = 4009.46 kg, So the formula is: 

Quote

Shipweight <   4009.46 kg : Penalty = shipweight
Shipweight >= 4009.46 kg : Penalty = (shipweight/300)^3.2

 

Link to comment
Share on other sites

31 minutes ago, neoazureus said:

Exact formula is:

Max [Weight, (Weight/300)^3.2)]

Weight in kg.

if we make the following equation:

Weight = (Weight/300)^3.2) ---> Weight = 4009.46 kg, So the formula is: 

 

Nice :) Did you play around to achieve this or source the equation from game files?

Curious figures (300, 3.2) etc. wasn't expecting the power to not be whole unless it was pi or e or some other constant. 

Link to comment
Share on other sites

1 hour ago, TunderLock said:

Hi all, 

I've just been tinkering around with rocketry since the new industry update. The earlier videos I've seen didn't cover rocketry as deep as I was interested, so loaded into testing branch and thought I might summarise some of my early findings here and invite discussion. 

You got all my respect for making all those tests and posting this on the forum. There is so much information and you are taking a really good approach of the thing and react very calmly.

If you ever find anything interesting, I'd be glad to read it !

Link to comment
Share on other sites

14 minutes ago, TunderLock said:

Nice :) Did you play around to achieve this or source the equation from game files?

Curious figures (300, 3.2) etc. wasn't expecting the power to not be whole unless it was pi or e or some other constant. 

I get it from game files

public static float MASS_PENALTY_DIVISOR = 300f;

public static float MASS_PENALTY_EXPONENT = 3.2f;

 

Link to comment
Share on other sites

1 hour ago, TunderLock said:

I'm not sure how the dev's wish to make the steam rocket not skippable in a player's progression.

I believe this one makes your rocket much smaller. It stores the gas in the engine so you don`t need a fuel tank or an oxydizer. This means you can build a rocket with 3 modules only. That`s a nice thing if you are rushing the space tech and want to save some steel.

Link to comment
Share on other sites

Just now, neoazureus said:

I get it from game files


public static float MASS_PENALTY_DIVISOR = 300f;

public static float MASS_PENALTY_EXPONENT = 3.2f;

 

Is there a how-to on how someone with mild programming experience can pull these same figures out?

Link to comment
Share on other sites

Just now, TunderLock said:

Is there a how-to on how someone with mild programming experience can pull these same figures out?

You can see the file's content following this instructions: 

https://oxygennotincluded.gamepedia.com/Guide/Working_with_the_Game_Files

But you need to have basic knowledge of programming to understand some methods

4 minutes ago, Sasza22 said:

That`s a nice thing if you are rushing the space tech and want to save some steel.

 Steam engine need 2000 kg of steel, it's to much for an early rocket.

Link to comment
Share on other sites

1 hour ago, neoazureus said:

 Steam engine need 2000 kg of steel, it's to much for an early rocket.

  • Proper bunker needs far more steel.
  • Later rockets will need even more (cargo also 2000 and you will need more then one type)
  • New critter will significantly reduce need for protection (hopefully) - it basically repopulates surface
  • World gen provides enough lime to get you started.

Looks like reasonable price to me)

Two more changes in beta: pilot assignments now work correctly, you need a free atmo suit inside rocket's command module.

Link to comment
Share on other sites

In my oppinion, they should rework the solid booster. Oxylite is "fine", but where to get that masses of copper, when there is no volcano on the map?

Flying to outer space, to get fuel, while burning that fuel wont make much sense. 

Yeah, one could fly to the copper-source with a steam-engine, but again, its not much fun that way.

 

So, we need a substitute for copper. 

Link to comment
Share on other sites

On ‎10‎/‎7‎/‎2018 at 4:57 PM, TunderLock said:

This is a nice mechanic that prevent mega rockets ever making sense as the additional weight costs too much distance.

When fuel-mass ratio grows, reach is also supposed to grow, but this doesn't seem to be the case for ONI. From my point of view current restriction is crude. I would have preferred more reasonable/thrust based weight limits plus some kind of speed change - the more mass your thruster carries the longer it takes to reach destination.

Link to comment
Share on other sites

On 7-10-2018 at 3:57 PM, TunderLock said:

however the weight penalty is non-linear (credit to neoazureus):

Penality = Max[Shipweight, (Shipweight/300)^3.2]

Ah god damnit:

Schermafdruk20181008.png

Guess what I will NOT be launching tonight. Thanks Klei!

(Still love you for the awesome new content though)

 

Btw, how do I get liquid hydrogen? It's condensation point sits at -252 degrees celcius. How would I cool it up to that point? Does the new super coolant have an even lower solid freezing point or...?

Link to comment
Share on other sites

15 minutes ago, ToiDiaeRaRIsuOy said:

Btw, how do I get liquid hydrogen? It's condensation point sits at -252 degrees celcius. How would I cool it up to that point? Does the new super coolant have an even lower solid freezing point or...?

The new super coolant can be cooled to 1K. So -272.15°C if I'm not mistaking. It's gonna be fun turning everything into liquid :D

Link to comment
Share on other sites

On ‎10‎/‎7‎/‎2018 at 4:57 PM, TunderLock said:
  • Cargo bay: 2000kg
  • Liquid cargo bay: 2000kg
  • Gas cargo bay 2000kg

Cargo bay seems to be 1000kg of steel yet mass is 2000kg... others likely the same.

On ‎10‎/‎9‎/‎2018 at 12:16 AM, Christophlette said:

The new super coolant can be cooled to 1K. So -272.15°C if I'm not mistaking. It's gonna be fun turning everything into liquid :D

It might be possible with Thermo Regulator, just tricky.

Like: cool to H2 near condensation temperature, then do one more Thermo Regulator run (-14C). Thermo Regulator should be in vacuum above insulated tiles - heat will go to regulator and won't touch resulting solid h2, insulated tiles won't heat the lh2 immediately so there will be time to collect solid h2 from tiles (or drop it through airlock) and use it for cooling some gas h2 to make liquid h2. Once you have liquid h2 you can make process faster a bit by using aquatuner. Probably can be automated, but overall it is far too tedious. 

Link to comment
Share on other sites

Useful tool

Small request: "use liquid oxygen" checkbox next to fuel gauge.

Liquid oxygen works by "counting" as more oxydizer, so you can have one extra liquid tank at full capacity. The math shouldn't get significantly harder, just divide oxidizer mass by 1.33 when the mark is checked.

Link to comment
Share on other sites

The calculator didn`t give me the right value with steam + booster setup. It says i should be able to reach 30k objects but in game the range was 26k. I don`t know if it`s a bug related to the booster not using up the mass though.

Link to comment
Share on other sites

35 minutes ago, psusi said:

So.... if petroleum has twice the efficiency as steam, but requires an equal amount amount of oxygen then... it's no better than steam isn't it? 

The issue is energy density.  You have to balance the total weight of your rocket with how much energy your fuel contains.  Too much weight and you'll run out of fuel before getting to where you want to go.  Steam doesn't need an oxidizer, but it also is not very energetic.  You'll quickly get to the point where adding more steam doesn't get you any further because the total weight of the rocket is too much.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...