Back

Walk on the Moon

Summary

Walk on the Moon is a slow, first-person WebGPU piece. You walk the lunar surface in a suit with nothing on screen but the light. The first chapter puts you a few steps from the Apollo 11 landing site at sunrise, built from real terrain, the real sky and physically based light. Everything you hear happens inside the suit: breath, footsteps, a life-support hum and quiet music. I directed Claude Code through the art direction, lighting, sky and sound.

Role
Product, art direction and QA, with AI pair-programmed implementation
Stack
Three.js WebGPU renderer with TSL and WGSL shaders, TypeScript, Vite, Web Audio API, astronomy-engine, Python bake scripts
Highlights
NASA’s 2 m/px Apollo 11 terrain, light in physical units, 129,458 real stars and the Milky Way, a suit soundtrack that follows your effort
Needs
A desktop browser with WebGPU (current Chrome, Edge or Safari 26+). Headphones recommended.

Try it liveWalk on the Moon

A first-person view at sunrise on the Moon: the astronaut’s long shadow stretches across grey regolith toward a black sky.

Context & Challenge

On the Moon there is no air. The sky is black, shadows are razor sharp and the Sun is a hard point of light. Most Moon experiences are documentaries or games. I wanted something closer to standing there: slow, quiet and honest about the light. The challenge was to make a browser piece that is physically true, then trust the physics to do the artistic work.

Approach

1. Real ground

The terrain is NASA’s 2 m per pixel elevation model of the Apollo 11 site, an area of 4 by 8 kilometres at true scale, with albedo baked from the orbiter’s orthophoto. Below the data’s resolution, craters that follow the real size and frequency law, boulders and centimetre-scale clods fill in the detail. The same function runs on the GPU and the CPU, so each boot lands on exactly what you see.

2. Light in physical units

The Sun and Earth come from a real ephemeris, set to 12 February 2027. The regolith scatters light back toward its source, as the real Moon does, so the ground glows around your own shadow. Earthshine measures 13 lux at a full Earth and lights the shadows blue.

3. The star bloom

In sunlight the sky is black and nearly starless, because the eye adapts to the bright ground. Step into a crater’s shadow, and exposure slowly opens up until 129,458 stars and the Milky Way fade in. No special-case code does this. It falls out of how the eye adapts.

4. Sound from the body

Breathing follows effort, slope and gait, and a heartbeat joins at high effort. Footsteps change between loose regolith and rock. The layers sit within a few decibels of each other, so one volume setting lets you hear all of them.

The Milky Way and thousands of stars over a crater floor lit blue-silver by earthshine, seen from inside the shadow of the crater rim.

Problems Solved

Shadows that broke up at low sun

At a 5 degree sunrise the terrain’s shadow maps filled with artefacts. Terrain now takes its shadows from a horizon-angle map computed for the Sun’s real direction, with a true 0.53 degree soft edge, plus a march through baked detail maps for small craters. The shadow maps carry only rocks and your body.

Ground that glowed from the wrong side

The regolith first scattered light forward, so ground and stones looked about five times brighter looking into the Sun than away from it. Switching to back-scattering, as on the real Moon, fixed it, along with a bounce light that made crater walls glow inside their own shadows.

What I Learned

  • Physical units do the art direction. Setting real light levels made the long shadows, the blue earthlit ground and the star bloom appear without special cases.
  • Compare early against photographs. Side by side with Apollo 11 pictures, the forward-scattering bug and the glowing crater walls were obvious.
  • No HUD and no rails. Light, sky and sound carry all the guidance.

What’s Next

  • More chapters, over the limb and across the far side to an earthrise at the south pole
  • Sparse radio comms in modern EVA phrasing
  • Save and resume for the full 30 to 40 minute walk

Credits

Terrain and albedo: NASA/GSFC/Arizona State University (LROC NAC DTM and orthophoto). Earth: NASA Visible Earth. Milky Way: NASA/Goddard SVS, Deep Star Maps 2020. Stars: Yale Bright Star Catalogue and ESA Gaia DR3. Ephemeris: astronomy-engine. This work has made use of data from the European Space Agency (ESA) mission Gaia, processed by the Gaia Data Processing and Analysis Consortium (DPAC).