Bo Chen / booster

Personal · simulator

Booster Lander

A Falcon 9-class rocket booster that has to land itself. Its guidance works out every descent live: no scripted path, no nudge toward the pad. If it can't find a way down, the booster crashes.

v0.4.0 · portable .zip, 8.3 MB · Windows 11 with WebView2Unzip anywhere and run BoosterLander.exe. It's unsigned, so SmartScreen may warn the first time: More info → Run anyway.

The Kestrel-9 booster on its landing burn against a setting sun, legs deploying, one engine lit, over a dark sea. The readout says landing burn, 94 m, Mach 0.28, throttle 74 percent on one engine, legs 35 percent.
Landing burn at sunset. Ninety-four meters up at Mach 0.28, one engine lit, legs swinging down.

What it is

A native C core flies a full 6-DOF booster: the 1976 standard atmosphere, gravity that thins with altitude, grid-fin and body aerodynamics, engine gimbal, and legs that compress, slide and can tip over. The guidance only ever sends actuator commands (throttle, engine gimbal, four grid fins, thrusters). Nothing else is allowed to move the vehicle.

The 3D cockpit draws only what the core streams to it. Delete the graphics and the core still flies, still lands, and still prints its success rate.

Why it can't fake a landing

  • Physics is the only way inGuidance outputs commands, never positions. Every change to the vehicle goes through the integrator.
  • No safety netIf guidance can't solve a descent, the booster crashes, tips over, or runs out of fuel. Those are all real outcomes.
  • Repeatable to the bitA fixed 2 ms step and seeded random numbers: the same seed replays the same flight, bit for bit.
  • Proved without graphicsThe same core flies thousands of randomized descents headless and reports the landing rate with a 95% confidence interval. CI re-runs a 200-flight check on every push.
Kestrel-9 on its entry burn at dusk, three engines lit inside a wide orange plume, with a control panel for flight phase, camera, light and telemetry fields, and a spec card listing the barrel, interstage, grid fins, octaweb, legs, surface and plume.
Kestrel-9 in its design viewer, on the entry burn with three engines lit at dusk. The viewer's panel poses the model by hand: flight phase, camera, light, and the telemetry fields for throttle, engine count, gimbal, leg deployment and soot from reentry heating. In the app, the live simulation drives the same fields. 47.7 m tall, 3.66 m across, all procedural.

What it lands

  • 97%Final descent194 of 200 randomized hoverslam descents landed in this release's gate. The 6 misses came down off the pad; none ran out of fuel.
  • 95 · 91 · 93Per 100, from 62 kmStarting at about Mach 5 with 3 km of cross-range, re-planning live, on three different seeds.
  • 36 / 36The hard combinationAn engine out, wind shear and a moving, heaving landing deck in one flight, solved by an optimizer that re-plans in flight.

In the app

It opens straight onto a live descent from 62 km to a droneship at sea. To fly another, pick a scenario, seed or run in the top bar and press RUN. Drag to orbit the camera, scroll to zoom. Mid-flight, throw something at it:

  • WIND GUST
  • ENGINE OUT
  • THRUST LOSS

The guidance has to answer each one on the fly.

The two screenshots come from Kestrel-9's design viewer. Since v0.4.0 the app flies the same booster in the simulator's own scene, and opens on a descent that lands on the droneship.