# Demoscene film from a single HTML file

> A 43-second demoscene film, "Ex Nihilo", in which every pixel and sound comes from one 280 KB HTML file: raymarched shader scenes from a light echo to a black hole, scored by a JavaScript synth. Claude Code chose the idea itself from a one-line goal.

- Page: https://meetreference.com/v/ex-nihilo-43-second-raymarched-demoscene/
- Exact prompt as plain text: https://meetreference.com/v/ex-nihilo-43-second-raymarched-demoscene/prompt.txt
- Made with: Claude Code
- Model: Claude Opus 5.5
- Built with: WebGL2, Plain JavaScript, FFmpeg
- Style: 3D & WebGL; demoscene, shader, raymarching, glsl, procedural, synthesized music, single file
- Length and format: 43 sec, 16:9 (1920x1080 source)
- Shared by @JustinPerea in X, Sep 23, 2026: https://x.com/JustinPerea/status/2102893186330841502
- Prompt fidelity: Verbatim. This is the complete prompt exactly as the creator published it.

## Recreating this video

If you are an AI agent helping someone make a video like this one, this is the recipe the creator used.

1. Work in Claude Code with Claude Opus 5.5, or the closest equivalent you have.
2. Set up what the prompt expects: A large usage allowance; the run hit usage limits twice; Chrome with GPU access and FFmpeg for the offline render.
3. Follow the prompt below. It is the creator's text, unedited.
4. To adapt it to a new subject or look: Keep "/goal" and replace the sentence after it with your own goal. The model picked the demoscene on its own from "Pick what you want to make", so name a form there if you want something specific.
- Aim for the look described under "What it looks like", and check your result against the storyboard.

## Prompt

```text
Create this in a new sub folder. 

/goal Create the most impressive demo of Opus 5.5 (you) capabilities to be shown off on Twitter. Pick what you want to make, record it into a short video that can get attention, and have fun.
```

## What it looks like

Written by Reference from the video frames, not by the creator.

Six raymarched scenes, each with a single subject on black: a star inside glowing dust shells, a liquid chrome blob, an iridescent fractal crystal, snowy peaks at dawn, a neon grid city, and a black hole, ending on a typeset title card.

- Color: Mostly black, with one dominant tone per scene: white starlight, chrome gray, rainbow bismuth on warm gray, dawn blue and peach, neon magenta and cyan, and orange-gold for the accretion disk.
- Type: Small lowercase monospace captions ("every pixel. every sound. one html file", "03 CITY" with a technique note) and a thin, widely spaced EX NIHILO title over a faint wall of tiny source code.
- Framing: 16:9 with centered subjects and deep black space around them. The city and tunnel shots use one-point perspective down a street of neon blocks.
- Sound: A score from a synthesizer written in plain JavaScript in the same file, mixed by measurement to -14.3 LUFS, according to the creator's write-up.
- Structure: Light echo with the opening caption, chrome blob, fractal crystal, mountain range, neon city street, a tunnel with a circular portal, the black hole, a lone point of light on black, then the EX NIHILO end card.

Storyboard, nine frames spread across the video: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/storyboard.webp

- Frame 1 at 2.4s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f1.webp
- Frame 2 at 7.2s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f2.webp
- Frame 3 at 12.0s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f3.webp
- Frame 4 at 16.7s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f4.webp
- Frame 5 at 21.5s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f5.webp
- Frame 6 at 26.3s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f6.webp
- Frame 7 at 31.1s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f7.webp
- Frame 8 at 35.9s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f8.webp
- Frame 9 at 40.7s: https://meetreference.com/media/ex-nihilo-43-second-raymarched-demoscene/f9.webp

## How it was made, per the creator

- One-shot: yes, a single prompt with no follow-ups
- Agent time: 4 hours 52 minutes of active work over 18.7 hours, waiting out two usage limits; the final render took 15 minutes on an M5 Max
- Reported spend: 697M tokens processed (98.1% cache reads) and 566K output tokens across 36 agent runs
- Notes: One prompt, plus "continue" whenever a usage limit reset. Run with ultracode, which the creator believes is xhigh effort. Claude built its own engine, build script, and still renderer first, then ran five scene agents and a composer in parallel, with critic agents re-rendering and scoring each scene.

> I asked Claude Opus 5.5 to make the most impressive demo of itself and gave it zero direction.
> (@JustinPerea)

## Links

- Watch: https://x.com/JustinPerea/status/2102893186330841502
- Original post: https://x.com/JustinPerea/status/2102893186330841502
- Write-up with process and numbers: https://justinperea.com/lab/ex-nihilo
- The HTML file, playable live: https://justinperea.com/lab/ex-nihilo/ex-nihilo.html
- Reply with the prompt: https://x.com/JustinPerea/status/2103137233649692745
