All case studies
Case Study / 01

Earthmoon: An Interactive Lunar World in the Browser

A live browser experience that connects spacecraft selection, lunar flight, and an on-foot Earth overlook.

Category

Interactive 3D & Web Engineering

Duration

2026 · Live project

Role

Game & Web Developer

Earthmoon public website, captured September 7, 2026
Public website captured September 7, 2026. Visit Earthmoon ↗
Astronaut on the lunar surface looking toward Earth in Earthmoon's Moonwalk mode
Moonwalk mode. Local-build capture, September 7, 2026; not a live-site capture.
01 / Challenge

The business problem

Bring a spatial experience into a browser while keeping flight, camera behavior, asset loading, and clear controls connected. The world needs to remain understandable as visitors move between a spacecraft and an on-foot lunar overlook.

02 / Strategy

Approach

  1. 01

    Build on Three.js and TypeScript with distinct systems for the environment, vehicles, camera, and interaction.

  2. 02

    Use a spacecraft selection screen as a clear entry point and provide a separate Moonwalk mode.

  3. 03

    Combine authored world systems with documented image sources and licensed asset kits.

03 / Implementation

What I built and changed

01

A Browser Flight Experience

The repository documents a single-player lunar flight campaign with settlements, survey sites, rescue and reactor-defense stages.

  • Provide three selectable spacecraft variants with different handling parameters.
  • Separate flight and combat behavior from environment presentation.
02

A Second Way to Explore

Moonwalk offers an on-foot Earth overlook with walking, running, hopping, and a controllable camera.

  • Load the astronaut on entry to Moonwalk instead of including it in the initial experience.
  • Keep return-to-flight and overlook controls directly accessible.
03

An Earth Seen From the Moon

The project records NASA-derived Earth day/night maps and lunar imagery, with smaller Earth textures for constrained devices.

  • Keep source and credit records alongside the textures.
  • Use separate environment systems for Earth, lunar terrain, and the procedural sky.
04 / Outcomes

Business results

  • Published Earthmoon as a live browser experience at earthmoon.site; the launch screen and spacecraft selector were observed on September 7, 2026.

  • Connected spacecraft selection, a documented lunar flight campaign, and an on-foot exploration mode in one project.

  • Kept the implementation in a TypeScript, Three.js, and Vite codebase with dedicated verification scripts and documented assets.

05 / Takeaway

What the work proved

A navigable world needs more than scenery: its camera, controls, modes, and loading behavior must form a coherent experience. These statements describe the repository and observed build; they do not assert audience metrics, independent performance measurements, or a completed production QA pass.