Avatar
gokaygokay
All ArticlesTwitter
Vesper: Eighteen Rooms of Light in a Connected Three.js World
3D2026-11-116 min

Vesper: Eighteen Rooms of Light in a Connected Three.js World

A walk through eighteen connected places of light, weather and memory. Building Vesper meant giving architecture, interactions and the passages between them equal attention.

By Gökay Aydoğan

Share:
Watch the original walkthrough

I wanted to build a world worth walking through slowly.

A place where a long bridge could prepare you for a room, where a narrow passage could make the next ceiling feel impossibly high, and where staying still might be the most interesting thing to do.

That became Vesper: eighteen places of light, weather and memory, connected by real architecture in Three.js. Two walking loops meet at a plaza. You can follow the journey, leave it, turn around and come back through the same doorway.

Download video
The recorded 9:51 Vesper walkthrough, presented here as a complete 720p web edition. The ethereal soundtrack was added to the film; it is separate from the application's spatial audio. The recording predates the latest source corrections.

The rooms need each other

The eastern loop begins at dusk. A bridge leads toward a monumental dome. Inside Rain Oculus, a circular opening lets weather into a coffered room. The building gives the light its shape: a small piece of sky becomes a visible shaft against a much larger volume of shadow.

Then the route contracts. A passage brings you into Cathedral of Color, where ribs, columns and stained glass pull your attention upward. From there it moves through Red Thread, an indoor sun, a concrete sanctuary, a field of lights over dark water and a court facing the dawn.

I wanted the emotional rhythm to come from those changes in scale and atmosphere. The quiet room matters more after the golden hall. A doorway matters more when the room beyond it has a different kind of light.

Rain Oculus, looking up through the coffered dome. This development capture shows the opening and shaft of light that organize the room.
Rain Oculus, looking up through the coffered dome. This development capture shows the opening and shaft of light that organize the room.

The western loop takes a longer route through daylight and into another night: pendulums, a glasshouse, an archive, dunes, a foundry, ice, tide, storm, an inverted forest and an aurora. These spaces have different materials and different tempos, but the passages keep them part of one walk.

The sky follows an authored time of day for each place. Entering another room can gradually move the world toward night or dawn. That is part of the journey's pacing, rather than a simulation of a geographically consistent sun.

All eighteen places in the development survey. The screenshots were captured on November 10 at the Low quality tier with reduced motion enabled; they document the spaces rather than every animated interaction.
All eighteen places in the development survey. The screenshots were captured on November 10 at the Low quality tier with reduced motion enabled; they document the spaces rather than every animated interaction.

Build the architecture before the atmosphere

The most useful art-direction rule was to work from silhouette, to architectural relief, to surface detail.

The silhouette should identify a dome, a nave or a glasshouse before any effect is switched on. Then the surfaces need depth: coffers, ribs, column bases, capitals, cornices, door reveals and steps. Material detail comes after those decisions.

A normal map can help stone catch the light. It cannot give a flat doorway the spatial weight of a deep opening. Fog can reveal distance, but it cannot supply the missing architecture behind it.

Cathedral of Color. Modeled ribs and columns establish the space; warm and cool glass give its two sides different light.
Cathedral of Color. Modeled ribs and columns establish the space; warm and cool glass give its two sides different light.

The references are credited as inspirations inside the experience. Rain Oculus interprets the Pantheon; Cathedral of Color draws on Sainte-Chapelle and Sagrada Família. Red Thread is an homage to Chiharu Shiota's installations around memory and connection. These are authored interpretations, with different dimensions and constraints, rather than scans or exact reconstructions.

Generated imagery supplies details such as glass designs, reliefs and memory objects, alongside documented CC0 material sources. The rooms themselves remain geometry. You can change your position and look behind a column because there is a column there.

Red Thread: a dense web surrounding objects of memory. The installation is an interpretation of its credited artistic references, within Vesper's own connected world.
Red Thread: a dense web surrounding objects of memory. The installation is an interpretation of its credited artistic references, within Vesper's own connected world.

Give the visitor one meaningful action

Each place has a focused interaction. In Rain Oculus, you can wait for the weather to change. In the Hall of Pendulums, an escapement draws drifting motions toward synchronization. At the archive's desk, letting a letter go begins its release. In the inverted forest, touching an old root wakes a sequence of light.

These actions belong to the spaces around them. I did not want the interface to carry the experience through a long list of tasks. A visitor should be able to notice something, approach it, act and watch the consequence.

The world keeps a visitor's progress, and the interface offers a way back into the journey. There is also an atlas and a guided passage for someone who wants to look without steering every step. Manual movement remains available, so the guided route does not define every possible visit.

The Hall of Pendulums in a development capture. Its interaction changes the relationship between the moving pendulums; a still image cannot show that transition.
The Hall of Pendulums in a development capture. Its interaction changes the relationship between the moving pendulums; a still image cannot show that transition.

Make the rooms agree on their doorways

I built the project with coding agents, with Fable 5.2 coordinating architecture and integration and Opus 5.5 workers handling independent parts of the world. That made shared contracts particularly important. A room could be beautiful in isolation and still fail the project if its door did not meet the next passage.

A typed world manifest describes placements, footprints, entrances, exits and reserved connections. Each chamber module supplies its geometry, navigation, atmosphere, lights and behavior. The validator checks that paired doors agree in position, size and facing, that footprints do not overlap, and that every zone is reachable from the start.

Eighteen chambers and eighteen connecting zones make thirty-six zones for the engine to manage. Walking audits exercise the route as well as the individual spaces. The guided camera and collision audit share path-building logic, helping keep the authored journey connected to the geometry a visitor can traverse.

There is also a reviewed extension mechanism. A new room can attach to a reserved doorway through validated data and an already-shipped module. It gives the world somewhere to grow without requiring an engine rewrite. New rooms are authored and reviewed; the current experience does not generate itself while people visit.

Light has a frame budget

Vesper uses Three.js's WebGL2 renderer. A local backend comparison on the development Mac informed that choice, alongside the existing GLSL materials and post-processing. The project keeps one rendering path.

Its indirect-light cues are approximations: authored ambient probes, reflection probes, screen-space ambient occlusion and mostly static shadow maps. Those tools can ground a column or give polished stone something to reflect, but they do not amount to dynamic global illumination.

Glacier Cathedral. Geometry, translucent-looking surfaces and a concentrated beam give the room its cold visual identity.
Glacier Cathedral. Geometry, translucent-looking surfaces and a concentrated beam give the room its cold visual identity.

Performance work became part of making the world feel continuous. Streaming a room is not enough if its first visible frame freezes while the graphics driver prepares a shader pipeline. Linking programs ahead of time also did not remove every first-draw stall on the development machine.

The work therefore included sliced construction, shader warm-up draws, bounded preparation work and reflection captures spread across frames. Repeated architecture uses instancing or merged geometry, while quality tiers and render-scale controls limit the cost of effects.

Those are implementation steps, not a guarantee of smooth performance everywhere. The November 11 deployment handoff records a passing build and 338 passing tests, with 89 skipped. It explicitly leaves full GPU acceptance and a freeze-free claim open. A successful recording and a collection of screenshots cannot settle those questions for every device or route.

Leave room to wander

The current experience is single-player. There is no proximity chat, autonomous world expansion or generation running in a visitor's browser. Some rooms and interactions still need visual review, and performance remains a continuing part of the work.

The visitor controls are simple: WASD or arrows to move, mouse or drag to look, E to interact, G for guided passage and M for the atlas. Settings include quality, sensitivity, reduced motion, effect intensity and audio controls. Application sound starts after entry; the music in the film is a separate presentation of the recorded journey.

Aurora Sanctuary, at the far end of the western journey. Snow, dark trees and the open sky replace the enclosing architecture of the earlier rooms.
Aurora Sanctuary, at the far end of the western journey. Snow, dark trees and the open sky replace the enclosing architecture of the earlier rooms.

What I want to keep exploring is how much a connected place can communicate before anyone explains it. The height of a room, the time spent crossing it, a change in temperature suggested by the light, the small action you leave behind.

Vesper gives those ideas a world I can keep working on. The next room has to earn its place in the walk.

Watch the original full-resolution walkthrough →

3DThree.jsCreative EngineeringInteractive Art

Enjoyed this article?

Follow me on Twitter for more AI experiments and insights.

Follow @gokayfem

More Articles

View All
Blockout 2 Real: Giving a Grey Scene Editable Materials and Light
01
3D

Blockout 2 Real: Giving a Grey Scene Editable Materials and Light

An image model proposes the look of a grey room. Blockout 2 Real writes it back as UV textures, PBR materials and fitted lights, then measures a real Blender re-render.

Image 2 Low Poly: One Cat, Four Exact Triangle Budgets
02
3D

Image 2 Low Poly: One Cat, Four Exact Triangle Budgets

One cat reference, four Blender meshes: exactly 100, 200, 500 and 1000 triangles. A look at where the triangles go, how the counts are checked, and what the outline scores miss.

Image 2 Sculpt: Turning a Single Image into a Measured 3D Sculpt
03
3D

Image 2 Sculpt: Turning a Single Image into a Measured 3D Sculpt

One image gives you the face, posture and proportions. Image 2 Sculpt builds a sculpt against that evidence, checks the missing views and records the work as a Blender timelapse.

Avatar
gokaygokay

© 2026 All rights reserved.