Visualizations
183 / 500

183 · Retro

Synthwave Flyover

An endless neon wireframe landscape under a striped sunset.

A grid of terrain heights from layered noise scrolls toward the camera. Each grid point is projected with a simple perspective divide and connected into glowing lines, with a valley carved down the middle for the road. A striped sun, a gradient sky and stars complete the 1980s look. All of it is plain 2D canvas paths.

Try it. Move the pointer left and right to bank. Hold the pointer down to boost.

  • Perspective projection
  • Noise terrain
  • Glow with shadowBlur

View the source · one module, plus a small shared runtime for sizing, the animation loop and input

Build your own

Paste this into Claude Code, Codex or any coding agent to get a simple version running, then take it wherever you like.

Build an endless 1980s synthwave flyover with JavaScript and the HTML canvas element. Put everything in a single index.html file with no libraries or build step, so I can open it directly in a browser.

Start simple:
- Make a canvas that fills the window, stays sharp on high-DPI screens (scale by devicePixelRatio), and resizes with the window.
- Paint a sky gradient from deep purple to hot pink at the horizon, with twinkling stars.
- Draw a big sun sitting on the horizon with a yellow-to-pink vertical gradient. Cut stripes out of its lower half that thicken toward the bottom.
- Build a terrain grid: about 40 rows and 40 columns of points spaced 2 units apart. Heights come from a small noise function you write yourself, with a flat valley about 7 units wide down the middle for a road.
- Project every point with a perspective divide: screenX = centerX + x * focal / z and screenY = horizonY - (height - cameraHeight) * focal / z.
- Move the camera forward every frame, anchoring rows to world coordinates so hills do not wobble.
- Draw the strips from far to near: fill each strip dark first, then stroke its magenta grid lines, so nearer hills hide the lines behind them.

Once that works, make it beautiful:
- Fade lines into the haze with distance and give the near ones a neon glow with shadowBlur.
- Draw the road in the valley with cyan edges and scrolling center dashes.
- Bank the camera toward the mouse by rotating the whole scene, and boost speed while the mouse is held down.

Explain the key ideas in short code comments. When you're done, tell me how to open it and suggest three directions I could take it next, such as palm tree silhouettes, a CRT scanline filter, or a low-poly car to drive.
PreviousSpace-Filling CurvesHilbert, Peano, Gosper and friends fold smoothly from one order to the next. NextNormalizing FlowAn invertible network trains live and bends a Gaussian and its grid like taffy.

Related visualizations

  • Pseudo 3D RoadRetro A sunset coastal highway faked the 80s arcade way, from flat segments and sprites.
  • Voxel SpaceRetro Fly low over a mountain valley with the 1992 Comanche terrain trick.
  • Moon LanderRetro Vector-line lunar descent on a green phosphor tube, with a suicide-burn autopilot.
  • Wobbly PolygonsRetro A 1990s console renderer that builds every famous glitch on purpose, toggle by toggle.
  • Sprite StackingRetro A cozy pixel town where every house, car and tree is a pile of flat slices.
  • RaycasterRetro A Wolfenstein-style 3D maze drawn one column at a time.
  • Plotter LandscapeGenerative art A mountain range inked stroke by stroke, with exact floating-horizon hidden lines.
  • Evolved TrianglesGenerative art Two hundred translucent triangles evolve from chaos into a painted landscape.
  • Flow FieldGenerative art Thousands of particles ride an evolving noise field into silky trails.

Use ← and → to move between demos. While the canvas has focus, keys go to the demo instead.

← More from Emergent Mind Labs