← Back
Ennui

Help

Getting Started

Ennui is a zen observation app. There are no objectives, no scores, no failure states. You enter a scene and exist in it.

When the app opens, you'll see a menu listing available scenes. Select one and the app transitions you into that world with a gentle crossfade. Press Escape to return to the menu, or use the arrow keys to move between scenes.

Controls

InputAction
EscapeReturn to scene selector
Previous / next scene
14Jump directly to a scene
SpaceToggle camera auto-drift
Mouse movementGentle free-look (when drift is off)
ClickScene-specific gentle interaction
Camera movement is intentionally slow and contemplative. Mouse sensitivity is low by design. The camera resists being whipped around — it wants to drift, not race.

Camera

By default, the camera drifts slowly in a gentle orbital pattern with a subtle breathing sway. Press Space to pause the drift and look around freely with the mouse. After a few seconds of inactivity, the camera smoothly returns to its drift.

The breathing sway is a barely perceptible oscillation — one slow breath every seven seconds or so. It simulates the quiet presence of someone simply sitting and watching.

Transitions

Scene transitions take about four seconds: two seconds fading to black, a brief hold, then two seconds fading into the new scene. Audio crossfades independently. It should feel like closing your eyes and opening them somewhere new.

Scenes

Medieval Hearth

A warm stone interior lit by firelight. Thick walls absorb the cold outside while torches and a central hearth cast amber light across worn stone floors. Dust motes drift through shafts of warm light. Ember particles rise gently from the fire.

Each light source flickers independently using irrational frequency ratios, so the pattern never quite repeats. The effect is organic — like real fire, not a cycling animation.

Click to release a brief burst of embers near the hearth.

Late Night Rerun

The particular atmosphere of watching television alone at 2am. A dim living room suffused with cool blue CRT glow, soft furniture silhouettes barely visible in the darkness. The TV flickers with the irregular cadence of analog broadcast — slight flutter, occasional color shifts.

The post-processing is tuned differently here: cooler tones, higher chromatic aberration, stronger film grain. It should feel like a memory of a specific kind of comfort.

Click to briefly brighten the CRT glow, as if the channel changed.

Jeonju Night

A Korean traditional village (hanok) at night. Two wooden buildings with curved tile roofs sit along a stone path, illuminated by paper lanterns that sway gently in the breeze. Warm interior light glows through paper walls. Moonlight provides a cool counterpoint to the amber warmth.

Each lantern has its own wind-sway pattern and flicker rhythm. The interplay of warm lantern light and cool moonlight creates layered atmospheric depth.

Click to add a brief warm glow to the nearest lantern.

Paper Lantern Festival

A dark, still lake at dusk. Deep indigo sky fading to a warm amber horizon. Stars twinkle overhead while fireflies pulse gently over the water. The air is still, the world is quiet.

Click anywhere to release a glowing paper lantern from the water's surface. It rises at glacial speed, swaying gently in an unseen breeze, casting warm amber light across the dark water below. Each lantern carries a kind message — "you are enough," "breathe," "be gentle" — invisible at this distance, but present.

Up to 25 lanterns can drift simultaneously. The oldest fade out gracefully as new ones are born. The scene starts with a few already aloft, as if the festival began before you arrived.

Click to release a lantern. Each one carries a kind message into the night.

Interactions are always gentle — a glow, a ripple, a burst of particles. They never reset the scene or interrupt the atmosphere. They're small gifts, not commands.

Audio

Each scene has layered spatial audio — not a single ambient loop, but multiple positioned sound sources that create a three-dimensional soundscape. Fire crackles come from the fireplace direction. Rain falls from above. Wind enters through openings.

There is no music with melody. Ennui uses drones, field recordings, tonal washes, and textural ambience. The sound design completes the atmosphere in ways the visuals can't reach alone.

Rendering

Ennui uses Godot 4.6's Vulkan Forward+ renderer with custom atmospheric post-processing. The visual style aims for PS3-era warmth — think Journey and Flower, not photorealism. The atmospheric warmth shader applies color grading, vignette, chromatic warmth, and soft light diffusion to every scene.

Tonemapping is AgX (filmic warm rolloff). Volumetric fog, SSAO, subtle bloom, and careful lighting do more for the feeling than polygon counts ever could.

Technical

Privacy

Ennui collects no data. No analytics, no telemetry, no crash reports, no network requests, no cookies, no accounts. Zero data collection is a moral position, not a feature. Your usage is entirely private.

Troubleshooting

Performance

If a scene doesn't reach 60fps, try reducing the window size. Ennui targets mid-range hardware (GTX 1060 / M1 Mac / equivalent). The rendering pipeline uses SSAO, volumetric fog, and bloom, which can be demanding on lower-end GPUs.

No sound

Check your system volume. Ennui does not have a built-in volume slider yet — it uses the system's default audio output at reasonable levels.

Black screen

This may indicate a Vulkan driver issue. Ensure your GPU drivers are up to date. Godot 4.6 requires Vulkan 1.0 support at minimum.

Building from Source

Clone the repository and open project.godot in Godot 4.6.

git clone https://github.com/plzupgradealex/ennui.git

Press F5 to run. No additional setup required — no packages to install, no build system to configure. Just Godot.