
An endless, automatically generated world that moves through alpine valleys, golden desert canyons, green jungle and snowy forests. Each biome lasts about 109 seconds at normal speed, with gradual transitions. Fly beside winding turquoise rivers, broad enclosed lakes and small separate ponds. Waterfalls descend the mountain faces into winding streams that join the main river, with white foam at their feet. The camera gently turns toward the lakes. Discover sandstone arches, ice spires, mossy jungle outcrops, bridges, cabins and camps with flickering fires, drifting smoke and warm pools of light.
Wildlife changes with its habitat: alpine deer, sheep and red foxes; one herd of three desert elephants and three giraffes per desert stretch; jungle tapirs, boars and colourful birds; snowy reindeer, arctic foxes and hopping hares. Animals walk, turn, pause to graze and flick their tails. Small groups also forage closer to the riverbank. Ducks swim, fish occasionally leap out of the water and leave expanding splashes, and fireflies blink over alpine and jungle clearings after dark.
The twelve-minute cycle has eight minutes of full daylight, one minute of sunset, two minutes of night and one minute of sunrise. The sun disappears before the moon arrives, and the moon fades before sunrise. The sky stays free of clouds. Passing weather brings rain, slow white polygon snowflakes or windblown desert dust, with coloured haze. Deserts have dry sandy valleys with no rivers, lakes, ponds or waterfalls. In snowy areas, water freezes into opaque blue-grey ice and waterfalls become still ice formations; ducks and jumping fish appear only in liquid water. Elsewhere, water has flat, static polygon surfaces, subtle colour facets and angle-dependent sky tint. Reflections approximate the sky and celestial light without an extra scene-rendering pass.
Unfrozen ponds and lakes have low-poly lily pads, occasional pink blossoms and shoreline pond weeds. Pads rest above the static water surface; frozen water stays still with a muted blue-grey appearance.
Polyworld is installable as a PWA using your browser's Install app or Add to Home Screen option. Installation and offline caching require HTTPS or localhost and a supporting browser. After a successful online visit has cached the app, the landscape can launch and continue generating offline. Room connections and the launcher require a network connection. The installed app opens in its own window and retains the room used when installing. Older browsers continue to run the normal web page.
Small patches of pink, purple, yellow and cream wildflowers grow in gentle alpine and jungle clearings, away from paths, trees, buildings and water. Flowers are absent from desert and snow.
Sunsets bring crimson horizons, pink afterglow and violet skies, with rosy light across the mountains, wildlife and water. Snow and ice catch a soft pink glow before returning to subdued moonlit blue-grey.
Choose Polyworld from the RCWeb app launcher, or open the display directly. The flight starts automatically. There are no players or separate control app. Room controllers stay in the launcher so you can choose another app at any time. Each display generates its own independent flight. Scan the small standard QR panel in the bottom-right corner to open the app launcher on your phone in the same room. The panel is displayed at 50% opacity.
Use the fullscreen icon at the far top right to enter or leave fullscreen where supported. Landscape taps do not change fullscreen. The speed icon immediately to its left cycles through 1×, 2×, 3×, 4× and 5×, with a smooth change in flight speed. The day/night cycle keeps its usual timing. Your browser's usual exit-fullscreen command also works. The scene normally renders at native pixel resolution, including high-DPI screens. Confirmed Mali-400 GPUs, or Samsung/SMART-TV Tizen 2.4 browsers without fragment highp, retain native resolution and use a lighter scene workload: fewer trees (especially in jungle), shorter atmospheric visibility for small scenery, and batched wildlife with animation calculations shared per animal. Mountain terrain and nearby models remain intact. Other or unidentified hardware keeps full scene density. The legacy profile uses a steady 30 FPS timer schedule; faster devices retain their normal animation-frame loop. Moon and weather shaders are prepared during loading to avoid first-use pauses. There is no automatic resolution reduction. The URL overrides resolution=native and resolution=720 take priority. Window resizing and display changes preserve aspect ratio and never upscale above native resolution. The app pauses while its tab is hidden. Add diagnostics=1 to see the selected mode and reason.

Polyworld uses locally hosted Three.js r110, ES5 JavaScript and WebGL 1, including a time-sliced terrain generator for browsers without Web Workers. A local compatibility fallback supports the renderer on older browsers without WeakMap. It needs a working hardware-accelerated WebGL context. Startup errors distinguish unavailable WebGL from JavaScript failures, and the page remains connected to RCWeb for remote app switching.
The renderer targets 60 fps or the display's higher refresh rate. Actual frame rate depends on the GPU, native screen resolution and browser; 60 fps cannot be guaranteed on every older device. It batches scenery, wildlife and particles into four shared meshes per section and animates them on the GPU. Flat face lighting brings out the polygons; there are no cast shadows, shadow maps or post-processing passes. Lossless indexed buffers reduce memory and repeated vertex work; workers prepare the buffers and visibility bounds ahead of the camera. Terrain is retired behind the camera, keeping memory bounded. The graphics origin moves with the camera to avoid long-distance jitter.
Tree placement reserves non-overlapping crown space, including across terrain boundaries, and leaves clear space around houses, camps, landmarks and wildlife. House roofs, walls and tents use closed, outward-facing geometry. Smaller birds have closed wings and biome-specific plumage. Small herds follow ground-matched routes inside reserved clearings; low or occupied riverbank clearings are skipped. Lakes and ponds have enclosed shores, and nearby camps, trees and animal clearings stay on dry ground. Small stones stay clear of the trail; the trail follows the actual terrain triangles. Timber bridges meet graded banks directly and have stone piers and braces, without wooden approach ramps.
Three.js is distributed under its MIT license. All terrain, trees, rocks, buildings, sky and water are generated locally, without downloaded models, textures or services.