Risograph Print — Style Prompt

Animation that looks printed, frame by frame, on a stencil duplicator: two or three translucent spot inks overprinted on warm paper, halftone dots, ink grain, and plates that never quite line up. References (grammar only): Tom Haugomat's riso illustrations (colour fields and silhouettes, a small figure in a large world, extra colours made by overprinting); Jacques Tati's Jour de fête (comedy staged small in a wide frame, everyday sounds as rhythm); real riso prints (translucent inks, misregistration, pinholes, feed streaks). Copy none of their characters, compositions or palettes.

1. Essence, and what it is not

A risograph prints one colour at a time: each colour is its own stencil ("plate") with its own drum of translucent ink. That one fact makes the look:

Not flat vector art with a noise overlay (every colour comes from the plates), not CMYK pop-art halftone (no process colours, no keyline), not screen-print posters (riso ink is translucent and grainy, not opaque). Never show the RISO brand, logo or machine trade dress; ink names are colour references only.

2. Materials & rendering

Pipeline. Draw each frame into one RGB canvas where each channel is one plate's density (R = ink 1, G = ink 2, B = ink 3; 0 = none, 1 = solid). source-over gives true knockouts; globalCompositeOperation = 'lighter' adds ink only to the channels you set: a true overprint. A WebGL2 shader "prints" it:

Composition rules. - Every area uses at most two plates, at most one of them as a tint. Three halftones on top of each other = mud. - Big flat shapes, lots of solid paper and solid ink; halftone in a few stepped bands (e.g. 20 / 40 / 60 / 100 %) for skies, shadows, distance. - Characters get a paper-white knockout halo (4–5 px): stamp their layer in a ring with filter: brightness(0) (zero ink = paper), then draw them. Plates misregister around it, so it picks up coloured fringes like a real trap. - One horizon, one big flat field or disc, one small figure; the figure's head against the flattest colour in the frame. - Design for the one-plate version: every main colour contains some of the first plate, so a one-ink frame still reads as a complete silhouette. A deliberate exception stays blank paper until its plate arrives: a reveal.

3. Colour logic

4. Type & subtitles

5. Motion quality

6. Camera grammar

A vocabulary, not a route. Opening and ending come from the topic.

Move Expresses Can serve
Wide lateral tracking, small figure, empty sky Travel, routine, room a commute; a process line; a title
Static wide, the subject crosses the frame Comedy of scale a gag; an arrival; a crowd
Locked composition: horizon, disc, figure Stillness, awe a decision; a reveal; the film's one pause
Ground-level low angle, big foreground shapes Energy, abundance a burst; a harvest; a launch
Medium two-shot held for a look Reaction a joke landing; a deal; a disagreement
Straight top-down, long shadows Pattern, a map a schedule; a floor plan; a game board
Push into a halftone field until dots are shapes Entering the print a close look at data; a memory; a cell
Pull back to reveal the paper It was one sheet a series; an archive; a summing-up
Match cut on a flat shape Continuity through form a time jump; cause and effect; before/after

Framing: lots of paper and solid ink, text on empty sky or a knockout strip. Transitions: overprint growths, roller sweeps, shape match cuts, hard cuts on beats. Never a cross-dissolve, never a soft digital wipe.

7. Sound palette

8. Native moves

A menu: use the ones your story needs.

9. Pitfalls of the medium

10. Engine

In demo/: riso.js (print shader: plates, halftone, grain, registration, kicks and drift, gates, roller sweeps, reflection wobble), draw.js (ink(b,y,p) densities, over() overprint, layer() paper halo, 2-bone IK, limbs), sheet.js (model sheet with a "plates = story" row via S.mask), tools/video_png.mjs (PNG frames → lossless intermediate), tools/mux.sh. Minimal new frame: two plates (R = teal, G = orange); a solid teal hill, an orange disc drawn with lighter so it darkens where it crosses the hill, a 40 % teal sky band, a figure knocked out with layer().

11. Variation space

You decide the inks and what each plate means, the structure, characters (or none), opening, ending, camera path and pacing. All far from our demo:


How our demo was made (story, shots, score, end card, build): DEMO.md. Read it after your treatment exists.