Play in your browser: https://vesper.mansgullberg.chatgpt.site/
Vesper - The Last Light is a free third-person adventure through drowned ruins, celestial machinery and a hollow star. Light is health, ammunition and spending power: a beam shot or jump draws from the same reserve that keeps the player alive. The three chapters are The Flooded Gate, The Tidal Observatory and The Hollow Sun.
The world pairs cold stone and water with warm lamps, pink blossoms and visible moving mechanisms. The aim is for light to matter both as a material in the scene and as a decision the player makes. Progress is saved locally in the browser.
A few implementation details
- Shared puddle reflections. Wet floor pieces are merged into geometry using one live planar Reflector. Animated normal detail distorts the reflected scene; the sea has a separate reflection surface. This gives the puddles a common reflection plane, with the tradeoff that it is a planar solution rather than reflections for arbitrary curved surfaces.
- One set of transforms per rendered frame. After animation, the scene updates its world matrices once. The main, reflection and ambient-occlusion passes reuse those transforms while automatic scene updates are temporarily disabled. A
finallyblock restores the previous policy. The important constraint is that render callbacks may change visibility, but must not change object poses after that update. - A fixed 60 Hz simulation. Gameplay steps use an accumulator independently of rendering. Jump and melee presses are consumed only on the first simulation step for a rendered input sample, so an edge-triggered action is not repeated by catch-up steps. This is a simulation rate, not a claimed rendering benchmark.
The stack is plain Three.js/WebGL 2, Rapier, TypeScript and Vite. Codex substantially assisted implementation, debugging and testing, and the asset pipeline includes generated, procedural and licensed assets. I used GPT-6 Astra in Codex. AI was used during creation; there are no live model calls during gameplay.
Trying it
Desktop with hardware acceleration is recommended. WASD moves, mouse aims, left click fires, Space jumps, Q changes light mode, E interacts, F uses melee and Escape opens the pause menu and field guide. Touch controls exist, but physical-phone performance has not been established.
The attached images come from the current game; the hero is an in-game photo-mode still.
Feedback question: in the opening area, do the reflections and warm lights make the usable route clear, or do they compete with the interaction cues?


