Most games ask you to win something. Lantern River asks you to watch. You stand by a river at night, click, and a paper lantern drifts away toward the horizon. That is the whole game: no score, no timer, no goal and no interface.
Open it full screen → Click or tap anywhere on the river to release a lantern.
What is on the screen#
- A river in perspective. Lanterns start large near you and shrink as they float toward the horizon.
- Different lanterns: square and round paper lanterns, and rarer lotus flowers and little candle boats, each with its own coloured glow that reflects in the water.
- A living sky: twinkling stars, slowly drifting constellations and a moon that goes through its phases.
- Gentle physics: lanterns follow the current, drift a little, bump into each other, and some flicker out or slowly sink.
The idea comes from the genre of comfort games: the goal is atmosphere over mechanics and observation over interaction. Lanterns come and go, and nothing you do can be lost.
How it is built#
TypeScript and PixiJS 8 (WebGL rendering), built with Vite. The code is split into systems for the river, the lanterns and the sky, with the colours and timings in one configuration file. Ambient sound through the Web Audio API is part of the plan but not built yet.