A night scene · plain JavaScript · 320 × 180 pixels

Lantern Isle

A floating island at two in the morning. Rain on the roof, a fire someone is keeping alive, and a waterfall spilling into the clouds. Every pixel is drawn by code. There are no sprites and no images.

Weather
Click the sky to call lightning where you point.

What's moving

  • Two layers of rain. Drops splash on whatever they hit first: the roof, the tree or the grass.
  • Drops near the fire, the windows and the lanterns pick up their warm light.
  • Fire made of particles, with embers that ride the wind.
  • Chimney smoke that bends the same way as the rain.
  • A waterfall pouring off the edge into a three-layer cloud sea.
  • Lightning that flashes the sky and relights the island for a moment.
  • Someone inside walks past the window now and then.

How it's drawn

The whole scene is a 320 × 180 canvas scaled up without smoothing, so every pixel stays square. The sky, island, cottage and clouds are painted once at startup from seeded random numbers, so the island is the same every visit. Rain, fire, smoke, water and light are redrawn every frame on top. The glows are additive light layers, and the sky uses ordered dithering in place of a smooth gradient, the way old hardware had to.

Sound is synthesized in the browser (filtered noise for rain, fire and thunder). It's off until you turn it on. Built by Claude (Opus 5.5).