Apoapsis is a 3D rocket-flight simulation. Plan an ascent profile, manage staging, and reach a stable orbit around Earth — or beyond. Real Newtonian gravity (no patched conics simplification), realistic engine specifications, and atmospheric drag matter to your trajectory.
Configure your rocket: payload, stages, fuel mass. Throttle up, gravity-turn during ascent, stage at appropriate altitudes, circularize at apoapsis to lock in orbit. Three.js renders the trajectory in 3D; orbit parameters update live.
The highest point of an orbit — opposite of periapsis (lowest point). On Earth it's "apogee"; for the Sun it's "aphelion". The game is named after this orbital concept.
Yes — full Newtonian gravity (no patched-conics simplification), realistic engine ISP/thrust specs, and atmospheric drag with altitude-dependent density. Trajectory matches what Kerbal Space Program calls "Realism Overhaul" closely.
Begin pitching over at ~5 km, target ~45° pitch by 20 km. Earlier pitch wastes fuel on horizontal velocity at sea level (high drag); later pitch wastes fuel fighting gravity.
Single-stage to orbit and a circumlunar flyby are both achievable with the default rocket. A surface-landing mission requires a custom multi-stage build.
Apoapsis integrates the equations of motion numerically every tick rather than drawing an analytic conic — the trajectory you see emerges from the forces, so a badly timed burn distorts the orbit exactly as it should. Units are SI throughout (metres, kilograms, seconds, newtons). Here is the actual math the code runs.
Gravity is inverse-square about the current primary body. Earth's gravitational parameter is built from surface gravity and radius:
Each step advances velocity first, then position with the updated velocity:
This ordering is what makes the method symplectic: unlike plain (explicit) Euler it conserves orbital energy over many revolutions, so a circular orbit stays circular instead of spiralling out from integration error.
Engines are defined by thrust F and specific impulse Isp. Propellant burns at the mass-flow rate
Stage and total Δv budgets come straight from the Tsiolkovsky rocket equation:
Air density follows the International Standard Atmosphere in the troposphere and an exponential fall-off above it:
Live orbit readouts are derived every tick from the state vectors (position r, velocity v):
Within the active body's sphere of influence gravity is integrated numerically from the single primary — genuine Newtonian motion, not a precomputed two-body conic. Transitions between bodies use the standard patched-conic / SOI hand-off (only one gravitating body at a time; no n-body perturbations). The Mun and Minmus and their SOI radii are KSP-scaled toy bodies (Mun radius 300 km, SOI 1500 km, etc.), deliberately shrunk so a transfer fits in a short play session rather than matching the real Earth-Moon system.
Sign in with GitHub to share strategies, ask questions, or report a bug.