Rocket Control Lab

Draw thrust and orientation commands. Let the rocket’s actual flight emerge from the physics.

Mission: cross x = 170 km at or above 100 km altitude, with horizontal (tangential) velocity within ±5% of your target. Vertical velocity is shown but is not a pass condition.

Flight time0.0 sFrom program start to outcome
Propellant used0 kg
2800 / 2800 kg remaining
Altitude0.0 kmLocal air: 100% of surface density
Horizontal velocity0 m/s
Vertical: 0 m/s
1 · Draw the control program0 commands · 0 s program
2 · Watch the actual flightDraw commands to begin

The left-hand drawing is not a spatial flight path. Each numbered point is a timed command; values interpolate along each line. The right-hand trail is calculated independently. Blue-white: current flight. Purple: best successful fuel trial for this velocity target.

Draw at least two command points, or choose Example ascent. Start with strong upward thrust, then try turning toward the right.

Best successful fuel—
Fastest successful flight—

Time versus fuelGreen trials are not beaten on both time and fuel by another successful trial at the same velocity target.
TrialOutcomeTime (s)Fuel (kg)Finish height (km)Horizontal / target (m/s)Program

No completed trials yet. Failed flights are recorded too, but do not count as fuel or time records.

Program a launch

  1. Draw in control space. Horizontal position chooses orientation: 0° thrusts right, 90° up, and 180° left. Vertical position chooses thrust magnitude. Click connected points or drag a rough control curve. Select Move commands to drag existing points. Numbered chips select points for precise editing.
  2. Give the drawing a clock. With 23 seconds between commands, points execute at 0, 23, 46, 69 seconds, and so on. Orientation and thrust change linearly between consecutive points. Repeating a point holds that command for another interval. After the last point, choose engine-off coasting or continued use of its final command.
  3. Run the actual physics. The rocket starts on the lower-left launch pad. Thrust, changing mass, gravity, and altitude-dependent drag determine its path. It is not forced to follow a drawn spatial route. The pad holds the rocket until upward thrust can lift its weight; fuel still burns while held.
  4. Meet both objectives. The first crossing of the right-hand finish line is evaluated. At that moment, altitude must be at least 100 km and horizontal velocity must be within ±5% of the chosen target. Reaching the height somewhere earlier is not enough. Vertical velocity has no separate requirement. This is a flat-world launch experiment, not an orbit simulator.
  5. Iterate. Compare time and propellant use. Edit one command or its timing and run again. Load previous programs from the table. Successful green frontier points preserve different time–fuel tradeoffs; records from different horizontal-speed targets are not mixed.
Flight model

The rocket is a point mass with a 1,200 kg dry mass and 2,800 kg of propellant. Maximum thrust is 200 kN and effective exhaust velocity is 4,200 m/s. Commanded thrust is the selected percentage of maximum. The engine changes direction as commanded; attitude dynamics and the propellant needed to rotate the vehicle are omitted. This experiment allows thrust orientations in the upper half-plane, from right through up to left.

ρ(h) = 1.225 exp(−max(0,h)/8500) kg/m³ · D⃗ = −½ρ CᴅA |v⃗|v⃗

Density decreases smoothly with altitude; the height marker is a mission requirement, not a hard cutoff in the atmosphere. A fixed combined drag coefficient and reference area CᴅA = 0.5 m² is used. Gravity is constant at 9.81 m/s² toward the flat surface. There is no wind, lift, planet curvature, staging, aerodynamic heating, engine pressure model, or changing drag coefficient.

a⃗ = (T⃗ + D⃗)/m + (0,−g) · propellant flow = |T⃗| / 4200

Position and velocity use fourth-order Runge–Kutta integration with a fixed 0.02-second maximum step. Steps split at command times and fuel exhaustion; fuel use is integrated from the linearly varying thrust command. Finish-line and ground crossings are localized within the step. Running out of propellant switches to unpowered flight: a coasting rocket can still achieve the goal. Ground impact ends the flight. A flight also stops after 600 seconds or if it leaves the experiment bounds.

References: NASA Glenn Research Center — Drag Equation and Rocket Thrust Equation. These formulas support the simplified model; this game is not a launch-design tool.

Controls and experiments

Use Draw / append to add commands. Dragging appends another point after a significant change in the control space; you can refine it afterward with Move commands or the angle/thrust fields. In Move mode, arrow keys nudge the selected command by 5° or 5% thrust. In Draw mode, arrows move the entry values and Enter appends them. Use the numbered chips to select an existing point. Up to 20 commands are allowed, including repeated values.

Launch runs the program; the same button pauses or resumes. Fast forward computes the current flight quickly. Editing during a flight is locked so every trial executes one fixed program. Edit program / reset flight abandons the current flight and enables changes. Completed outcomes stay in the trial list. Playback speed changes only display speed, not the physical model. Hidden tabs pause.

This is manual, open-loop control optimization. No machine-learning agent changes the program. Your trial history supplies the feedback for the next attempt. Twenty recent outcomes and their programs remain in this tab until reload; there is no account save or device synchronization.