Firefly Pointillism — Style Prompt

Thousands of soft, breathing points of light on black make up the people, animals, grass, moon, rain and words. The points are never created or destroyed: they scatter, fly off and gather somewhere else as something new, and that is how this style tells a story. A moving pointillist painting, or a summer night of fireflies. References (grammar only): pointillism (Seurat: form out of discrete dots); Johansson's point-light walkers (1973: a few dots read as a person when the motion is right); photographic bokeh (out-of-focus points grow large and faint); the synchronous fireflies of the Great Smoky Mountains (a field flashing together). Copy no existing character design; a glowing deer or forest spirit is a common motif, keep it generic.

1. Essence, and what it is not

Not a digital-rain, hologram or dark-keynote look (no cold blue, no wireframes, no tech); not a particle-logo reel (there are characters and a story); not a fluid gradient; not iron filings or hard pixels. The points are always round, soft and warm.

2. Materials & rendering

3. Colour logic

Linear colours times brightness; the screen shows a mid tone and a burnt core for each.

Role Linear Mid tone Core
Ground (top → bottom) (.00016,.00034,.00052) → (.0003,.00062,.0004) #050708 → #060907 —
Protagonist (exclusive) (1.0, .74, .34) #B2A076 #F5ECC6
Companion (exclusive) (.78, 1.0, .46) #A3B286 #EEF5D6
Fireflies, ambient lights (.86, 1.0, .40) #A6B279 #F0F5C8
Landscape (ground cover, hills) (.32,.62,.20) → (.62,.88,.30) #73965F → #96AA70 —
Weather (cloud, rain) (.40,.54,.50) / (.66,.82,.74) #8A9893 —
Stars (cold) (.86, .90, 1.0) #A6AAB2 #F0F2F5
Titles (1.0, .90, .58) #B2AB92 #F5F2E2

4. Type & subtitles

5. Motion quality

6. Camera grammar

A 2D camera on the particle world, with parallax by depth layer (screen offset × (1 + 0.38 × depth)).

Move Meaning Use for
Slow push closeness, attention an encounter, a held light
Lateral tracking with parallax travelling together a walk, a ride, time passing
Locked wide shot smallness, quiet, reading time titles, farewells, a lone figure
Focus pull (bokeh → sharp) appearing, "it is real" a character forming
Fast pull-back reveal of scale a crowd revealed across the whole horizon
Whole-scene re-forming a change of place without a cut travel, time jumps, a final tableau

Transitions happen only inside the medium: a flow pours in, a swirl gathers, a gust blows the scene away and it re-forms elsewhere, lights go out, the world re-forms upward. No hard cuts, dissolves or page turns.

7. Sound palette

8. Native moves

Our demo opens on the pour-in, uses going out followed by a synchronous flash across the horizon as its turn and ends into a constellation, the title gathered by an identity swap. A new film opens and ends another way: the guiding light alone in the dark, a focus pull from bokeh to a sharp form, an ending on going out with only embers left on the ground, or a gust change of scene into a locked wide shot.

9. Pitfalls of the medium

10. Engine

A numpy/scipy renderer, no browser: engine.py (rig, occlusion, text sampling, pyramid splatting) and a film module with one state function per group per scene, a blend() for transitions, a camera function and render(t). Frames stream into ffmpeg from a multiprocessing pool (about 0.3–1 s per frame per core at 1080p with ~19,000 particles).

11. Variation space

See DEMO.md for our demo film and how it was built.