A multiplayer world by Chris Zemmel
In DevelopmentThe Christmas Village
An evening in Lapland, in the browser. You arrive at dusk, snow on the roofs and warm light in the windows, and every other visitor is an elf in the same village: talk, whisper, throw snowballs, bake gingerbread and give it away.
At a glance
- of terrain
- 2.4 × 2.4 km
- fir on the village square
- 40 m
- stations on the village railway
- 7
- every visitor is an elf
- Multiplayer
Previews


Captured in the live village at christmas.zyric.de as a guest, on 27 October 2026, rendered in software without a graphics card. On a real GPU the lights glow even more.
Overview
The Christmas Village is a multiplayer world for the Christmas season, and it stays the blue hour: a 40-metre fir hung with string lights on the square, snowed-in log cabins with warm windows you can step into, a Christmas market with a Ferris wheel, a railway through the forest, and the northern lights overhead every evening.
Every visitor comes in as an elf and meets the others in the same village. There is something to do almost everywhere: houses to move into in the elf quarter, gingerbread to bake and give away, a chapel bell to ring, a snowball arena, a post office for letters, and a lantern path with 24 Advent doors that open one per day.
Process
Step 1: Become an elf
Choose how your elf looks in the elf editor, then step out onto the square under the fir. The village speaks German and English, following your browser.
Step 2: Built as you come near
The terrain measures 2.4 by 2.4 kilometres. A place is only built when you come near it and taken down again behind you, and a new one is put together out of sight before it is shown, so walking stays smooth.
Step 3: Meet the others
A Node.js server's WebSocket relay connects everyone in the village: chat, whisper to one elf, throw snowballs, bake gingerbread and give it away.
Step 4: Ride and look around
Ride the Ferris wheel, take the railway with its seven stations and walk-in carriages, sit on a bench by the fire, and watch the northern lights from the platform on the hill.
By design
Picks its own quality. The village detects the device and picks a tier, low, medium or high. Resolution and detail follow the measured frame rate.
Everything repeated is shared. Whatever appears many times is instanced or merged per material, so a village of hundreds of houses stays light enough for a phone.
Textures painted, not downloaded. Wood, stone and snow are painted on a canvas while the page runs, once per visit, instead of arriving as large image files.
Honest status
In development. You can already walk around at christmas.zyric.de while the rest of the village is built, and it is planned to open on 1 December. It runs on the engine of A Million Years: React, TypeScript, React Three Fiber, three.js and Vite.
Come in as an elf
Open the village in a desktop browser with hardware acceleration switched on, or on a recent phone.
Live at christmas.zyric.de. Questions go to chris@zyric.de.