wow this is going to be a massive devlog …. i was supposed to post one earlier this afternoon but its now nearly 12 am lol … anyways …. Wrote the Part class and the catalogue. Engines, tanks, nose cones,payloads. The numbers are loosely inspired by real hardware but I deliberately
did not use real names. Every engine carries sea level and vacuum thrust and
Isp, and Stage.thrust() interpolates between them on ambient pressure, so a
vacuum bell is genuinely useless at sea level and genuinely good up high.
Getting the delta-v map right took two goes. My first version computed each
stage’s mass ratio from that stage’s own mass only, which made the upper stages
look like they had thousands of m/s and the first stage almost nothing.
Obvious the moment you say it out loud, since stage one has to push everything
stacked above it as well. Added Rocket.mass_from(index) and used it for both
the start and end masses.
Second mistake in the same corner: I was using sea level Isp in Tsiolkovsky.
Everyone quotes vacuum delta-v, so my numbers did not match anything I could
compare against. Switched to stage.isp(0.0) and left a comment saying it
flatters the first stage, because it does.
The Isp of a stage with mixed engines was the fiddly bit. You cannot average
Isp directly, you have to add the mass flows and divide the total thrust by
them. Wrote it as a thrust weighted average in Stage.isp() and tested it with
two engines whose Isp differ by 100 s.
Spent the last two hours balancing the catalogue so the preset vehicles are not
ridiculous. My first heavy launcher lifted off at a thrust to weight of 3.7,
which flies like a dart and burns most of its propellant fighting drag in the
first 20 km. Real launchers sit somewhere around 1.2 to 1.7. Fixed by pairing
each engine with much larger tanks, which also brought first stage burn times
up to a believable 120 to 200 seconds instead of forty. …
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.