Lab

Pixel scenes

Four places I drew in code: a lagoon in Raja Ampat, a temple on floating islands at dusk, a neon street in the rain and Jakarta at two in the morning. Each waits on a still frame until you press Play.

Cost: Plain 2D canvas, no WebGL. The scene code loads when this page opens, and starting one scene stops the others.

  • Siang di Raja Ampat

    Noon in a lagoon, seen from the waterline. Every 90 seconds the water darkens and a 15 metre mosasaur rises past you.

    480 by 270 pixels, drawn by code.

  • Senja di Kahyangan

    A Balinese temple on floating islands just after sunset. A green dragon swims in from the distance every 60 seconds.

    480 by 270 pixels, drawn by code.

  • Hujan Neon

    A cyberpunk street in the rain: neon signs that fail letter by letter, a maglev every 24 seconds, 770 raindrops.

    480 by 270 pixels, drawn by code.

  • Jakarta 02.00

    Jakarta at two in the morning, from the canal: an MRT every 24 seconds and a meteor every 17.

    320 by 180 pixels, drawn by code.

How it works

  • Each scene is its own program. It writes a colour for every pixel of a small frame, 480 by 270 (Jakarta is 320 by 180), and the frame goes onto a canvas scaled up by whole pixels so the edges stay sharp.
  • No image files and no random numbers: every frame is worked out from the clock, so the still frame you see before pressing Play is the same one every time.
  • One scene plays at a time, and a scene that scrolls out of view stops drawing until it comes back.