Chris Collins

Tools · games

Lander 3D

Land on the Moon, on windy Mars and on a small asteroid — generated terrain with craters, three pads worth ×1, ×2 and ×5, a main engine and RCS thrusters for pitch and roll, limited fuel, a touchdown check on speed and attitude, and a replay of every landing.

Added

How to use it

The lunar-lander idea in three dimensions. You start high above generated terrain, moving, with a fixed amount of fuel. The main engine pushes along the lander’s own up direction: tip it to move sideways, level it to stop, and keep enough thrust on to stop gravity winning. Three pads are somewhere below: a big green one worth ×1, a yellow ×2 and a small magenta ×5 that sits on rougher ground.

The terrain, pads, lander and music are my own; the terrain is new every level, from a seeded heightmap of rolling hills, craters with raised rims, and (on Mars) dunes.

How to play

Touch down with every leg inside a pad’s ring, and at that moment:

  • falling no faster than the limit (2.5 m/s on the Moon, 3 m/s on Mars, 1.5 m/s on the asteroid),

  • sliding no faster than the sideways limit (1.5, 1.8 and 1.0 m/s), and

  • tilted no more than 10° (12° on the asteroid).

The HUD shows each reading green when it is within its limit, amber when close and red when not, and a compass at the top points to the nearest pad. A landing scores (100 + softness + fuel left) × the pad’s multiplier; a safe landing off the pads scores 25; anything else is a crash and costs a ship. After every landing or crash you can watch a replay, flown again from the recorded controls with an orbiting camera.

Worlds. Moon: 1.62 m/s² gravity, no air. Mars: 3.71 m/s² and a wind that changes direction and gusts (the compass shows it), stronger level by level. Asteroid: hardly any gravity, a weak engine and rough ground; slow and delicate. Tour takes them in turn. Each level starts higher, faster and farther out, with smaller pads and less spare fuel. Before a level starts, the game flies it once with its own autopilot and makes sure the tank holds at least 30 % more than that flight used — so every level can be landed. The title screen shows the same autopilot at work.

Attitude. Assisted (the default) holds the lander at its angle when you let go of the stick. Manual is raw RCS: a thruster pulse starts a rotation and only an opposite pulse stops it.

Keyboard

Space or J full thrust; Q and E set a steady throttle in 10 % steps; W S or ↑ ↓ tip forward and back; A D or ← → tip left and right; R replay after a landing; P or Esc pause; M sound.

Touch

Left stick tips the lander; slide a finger up the THRUST bar on the right for more throttle, and let go to cut it.

Gamepad

Left stick tips; right trigger is an analogue throttle; A full thrust; Start pause.

The camera sits behind the lander and closes in as you near the ground; the shadow straight underneath shows how high you are. Low graphics reduces particles and resolution, and the game lowers its own resolution if frames are slow. Shake turns screen shake off (it starts off if your system asks for reduced motion). The game pauses when you switch away. Full screen is the best way to play on a phone, either way up.

If you prefer your rocks to be shot at, there is Vector Drift. For the real orbital mechanics behind landers, see orbits and rocketry.

Privacy

The page loads three.js 0.147.0 (MIT licence) from cdn.jsdelivr.net the first time you open it. Nothing else is fetched and nothing is sent anywhere: your high scores, name and settings stay in this browser’s local storage.

Runs entirely in your browser — network requests go only to the services named on this page.