Game development
Building the Rocket Recovery Game

The mission has three readable phases
The rocket game is organized around launch, separation, and recovery. That structure gives the player a clear objective at every moment. During launch the task is to build altitude. In the separation window the task is timing. During recovery the player manages horizontal movement, descent speed, angle, and remaining fuel.
The game is inspired by reusable launch systems, but it is not an engineering simulator and does not copy official flight software. The names, artwork, interface, scoring rules, and simplified physics were created for this site.
A small physics model that can be understood
Each animation frame updates position, horizontal and vertical velocity, booster angle, altitude, and fuel. Gravity pulls the booster down. Steering adds horizontal acceleration and rotation. Holding the engine burn reduces fuel while changing the descent. The model is intentionally forgiving enough for a short browser session, but consistent enough that a better approach produces a better result.
The simulation loop uses requestAnimationFrame so movement follows the browser's rendering cycle. Time between frames is limited before it is applied to the flight state. This prevents a delayed tab or a brief performance pause from producing an enormous physics jump.
Keeping the vehicle visible
An early version let the rocket climb out of the scene while the camera remained near the launch tower. That made the player lose both the vehicle and the meaning of the controls. The current camera follows the active stage through ascent and then reframes the recovery approach.
Altitude guides, an impact marker, a recovery deck target, and mission telemetry provide different kinds of spatial information. The player should be able to answer three questions quickly: where is the booster, where will it land if nothing changes, and which control is most useful now?
Tuning landing difficulty
Landing success is not determined by position alone. The booster must reach the deck with acceptable vertical speed, horizontal speed, angle, and distance from the centerline. Fuel remaining contributes to the score after a successful landing.
The first playable build was too strict. A player could reach the deck and still fail without understanding why. I widened the useful recovery window, improved the impact marker, reduced excessive drift, and made the mission report name the failed condition. The thresholds remain game rules rather than claims about a real vehicle.
Desktop and mobile controls
Keyboard controls support quick steering, separation, engine burn, and launch on desktop. The same actions are available as large touch buttons for phones and tablets. Pointer events allow a hold-to-burn control instead of reducing the engine to a single tap.
The complete game panel is constrained to the viewport where possible. Telemetry and controls remain adjacent to the scene on wide screens and reorganize below it on smaller displays. This keeps the playable area useful without forcing the player to zoom the browser.
What comes next
Future work should deepen one mechanic at a time: clearer wind cues, a more expressive engine plume, optional difficulty settings, and better mission replay information. The priority is not to add a long list of features. It is to make the launch-to-landing loop readable, responsive, and worth attempting again.