DUNA — a WebGL dune mini-game built with Angular and three.js

DUNA is an interactive 3D landing page you can play. The whole page is a real-time WebGL scene: you steer a sphere rolling across a dune-shaped desert terrain and guide it through an animated portal.

Technically it is an Angular application driving three.js. Ball motion uses a hand-written gravity and velocity integration with collision resolved by raycasting against a DRACO-compressed terrain mesh through three-mesh-bvh, so contact stays accurate on a dense surface without a full rigid-body simulation. The portal is a custom GLSL shader, the scene is lit by an HDRI .exr sky map, and the loading screen and UI transitions are animated with anime.js. Input works on desktop with W A S D or the arrow keys, and on touch devices through an on-screen joystick.

Requires a browser with WebGL. This page needs JavaScript to run the 3D scene.