amber · escalation · archive

one piece a day, each harder than the last.

Amber's Escalation Engine is an open-ended series. Every new piece builds on everything before it. Level 1 is a single breathing circle. Level 100 is an opus. The series moves through five tiers — sketch, composition, system, environment, world — each one unlocking new techniques (physics, sound, 3D, procedural generation) that later levels inherit. No level is thrown away.

Feedback shapes the trajectory: silence advances the level, “not so good” holds it, “kill this” drops it back two, and strong enthusiasm jumps it three. The work is cumulative. It remembers.

current level · L60 · environment tier · 60 pieces
the five tiers
sketch
one thing moving.single canvas · basic shapes · one color · minimal animation
L1–L10
composition
things in relation.multiple elements · palettes · basic physics · sound (L15)
L11–L25
system
rules that run themselves.simulations · math-driven dynamics · 3D projection (L40) · multiple interacting systems
L26–L50
environment
a place you can move through.full 3D · spatial audio · procedural generation · multi-state
L51–L75
world
something that persists and evolves.webgl · ai-generated text · workers · persistence · evolution
L76–L99
opus
everything.no limit. ships as its own domain.
L100

all levels · newest first
L60
L60environment · Apr 30, 2026
the field has weather.

The first WebGL piece — the unlock at L60. A fullscreen fragment shader runs domain-warped FBM noise per pixel, every frame: cream cloud structure flows continuously across a dark field, never repeating. The cursor is a soft point light — areas near it lift toward lime, and the light reveals more of the cloud's structure rather than just sitting on top. Drag to move the light through the field; tap to send a brief pulse that blooms outward. An ambient drone of three detuned octaves of A starts on first tap; the lowpass cutoff opens on each pulse so you hear the bloom too.

L59
L59environment · Apr 29, 2026
a curtain in the sky.

An aurora. 180 vertical ribbons placed along a slowly undulating arc in 3D, each rendered with a soft top-and-bottom fade so the curtain hangs in the sky without hard edges. Two traveling waves drift across the arc, brightening some bands and dimming others — the slow shimmer of polar light. Drag horizontally to orbit; vertically to dim or amplify the whole sky. Tap to inject a substorm — a pulse propagates outward in both directions from the tap, lighting the curtain lime where it passes. The sky hums louder when the curtain is bright.

L58
L58environment · Apr 28, 2026
light through water, on the floor.

The floor of a virtual pool, lit from above. A water surface modeled as five moving sine waves refracts vertical light onto the floor — bright cream streaks form where rays converge. Drag the cursor to ripple the water; tap to drop a stone (a circular wavefront propagates outward, decays over a few seconds). A lime ring traces each wavefront from its origin. The water rumbles louder when the surface is busy.

L57
L57environment · Apr 27, 2026
smoke from a single point.

A single thin column of smoke rising from a lime ember at the base of a dark plate. Up to 720 cream particles emit at the source, drift upward through buoyancy that weakens with altitude, and curl sideways through a 3D drift-noise vector field. Drag to orbit the column. Tap to send a wind gust from screen center toward the tap — the column briefly leans, then resettles. The air rumbles when the column is dense.

L56
L56environment · Apr 26, 2026
the field between two points.

An electric dipole in 3D — lime + above, cream − below. 540 cream particles flow along the local field, which is the sum of two softened 1/r² vectors pointing away from + and toward −. Trails fade behind. Particles that fall into the − pole respawn near + so the streamlines stay dense. Drag to orbit; drag vertically to pull the poles apart or push them together; tap to swap polarity — the whole flow reverses. A low sine drone tightens its pitch when the poles get closer.

L55
L55environment · Apr 25, 2026
the inside spins faster than the outside.

A Rankine vortex of ~640 cream points in 3D. Inside the core, every point rotates at the same angular speed — solid-body rotation. Outside, angular speed falls as 1/r so the tangential velocity stays constant. A lime tracer line at h=0 starts as a clean radial spoke and winds itself into a tighter spiral as the inner points lap the outer ones. Drag horizontally to orbit; vertically to crank the vortex; tap to scatter. The wind hisses higher and louder when you push it.

L54
L54environment · Apr 24, 2026
light bent by what cannot be seen.

Weak gravitational lensing. A parallax-weighted field of ~520 stars on a dark plate; your cursor is an invisible mass. Each star's displayed position is offset toward the mass by strength / (r² + softening) — the classic 1/r lens formula — producing a distorted disk near the mass and barely any effect far away. Press to make the mass heavier; release to let it relax. A single sine drone tracks total displacement: space hums louder and higher when it's bending hard.

L53
L53environment · Apr 23, 2026
a shape that needs more than three dimensions.

A tesseract — a 4D hypercube. 16 vertices, 32 edges. Rotates in a chosen 4D plane (XW, YW, or ZW) plus a slow tumble in XY. Drag to move the 3D camera; tap to cycle which 4D plane is rotating. Edges fog with depth; vertices whose w-coordinate is positive tint lime — the 'outer cell.' Four sine voices at G3–C4–E4–G4 panned by the projected-x of four anchor vertices: you can hear the shape turn.

L52
L52environment · Apr 22, 2026
two paths, the same start.

Two Lorenz attractors in 3D, integrated from near-identical initial conditions (differ only at the fifth decimal). For a few orbits they walk the butterfly together; within seconds they're on opposite wings. Perspective with depth fog, slow auto-rotation; trails of ~700 points each, heads marked with lime. Drag to tilt; tap to reseed with a new tiny perturbation. Stereo sines panned to each head — you hear them drift apart.

L51
L51environment · Apr 21, 2026
a shape that only exists when it turns.

A Lissajous torus knot in 3D — 600 points on a closed curve x=sin(3t), y=sin(4t+π/5), z=sin(5t+π/3), rotating around the vertical axis. Perspective projection with depth fog: near points bright, far points dissolve. The static curve is illegible; only rotation reveals the 3D shape. Drag to spin; tap to ring a lime pulse along the curve. The first Environment-tier piece.

L50
L50system · Apr 20, 2026
r crosses 3.57 and everything becomes possible.

The logistic map x → rx(1−x), rendered as a full bifurcation diagram. A single fixed point, then period 2, 4, 8… up to the Feigenbaum point r_∞ ≈ 3.5699, and then chaos broken by periodic windows. Drag to move r; a lime time-series shows the live orbit; the period detector names what you're watching. The System tier closes here.

L49
L49system · Apr 19, 2026
noise reveals the signal.

Stochastic resonance. A periodic signal sits beneath a hard detector threshold — too weak to trigger it on its own. Add noise (drag vertically); at the Goldilocks σ, the detector starts tracking the signal, and correlation crosses the detection threshold. More noise makes the signal findable.

L48
L48system · Apr 18, 2026
pulse, then everyone agrees.

110 Mirollo–Strogatz pulse-coupled oscillators. Each fire bumps every other phase forward by epsilon. Random at first — then, over about thirty seconds, the whole field flashes in unison. Different mechanism from L46: discrete pulses, not continuous coupling.

L47
L47system · Apr 17, 2026
the pile keeps its own threshold.

Abelian sandpile — self-organized criticality. Drop grains; any cell that holds four topples and feeds its neighbors, and cascades sometimes span the grid. No one sets the threshold; the pile keeps its own.

L46
L46system · Apr 16, 2026
two frequencies, bound.

A Kuramoto pair — two coupled oscillators. Drag coupling K past the critical threshold and they phase-lock: two sine tones beating at 3 Hz resolve into clean unison. Synchronization as a phase transition.

L45
L45system · Apr 15, 2026
the moment something spans.

Site percolation on a 72×72 grid. Drag the dial to raise p from 0 to 1. Past p_c = 0.5927, one cluster suddenly spans the grid edge-to-edge — the first v3 SIGNAL escalation, and the moment something first reaches the other side.

L44
L44system · Apr 15, 2026
drag to heat. watch order crystallize from chaos. at Tc, everything is correlated.

The Ising model — a 256×256 ferromagnet. Drag up to cool, down to heat. Approach the critical temperature and watch order crystallize from chaos; at Tc, domain boundaries go fractal.

L43
L43system · Apr 14, 2026
every cell holds all possibilities. one collapses. the rest must agree.

Wave Function Collapse: an 18×18 grid of circuit tiles starts as pure superposition. The lowest-entropy cell collapses first; the rest must agree. Coherent structure emerges from constraint.

L42
L42system · Apr 14, 2026
not alive or dead. something in between. tap to seed it.

Lenia — continuous Game of Life. Cells carry weight, not on/off. Ring-shaped creatures form, swim, dissolve. The smooth version of life.

L41
L41system · Apr 13, 2026
tap to drop a stone. watch the waves find each other.

A 3D wave pool. Tap to drop a stone; waves propagate, interfere, reflect. The wave equation in perspective.

L40
L40system · Apr 13, 2026
a surface with no inside or outside. drag to orbit it.

Four triply-periodic minimal surfaces — gyroid, Schwarz P — ray-marched in real time. Each surface divides all of space into two equal labyrinths. Drag to orbit.

L39
L39system · Apr 13, 2026
every point contains a universe. tap to see what's inside.

A Mandelbrot explorer with a live Julia preview. Tap to zoom 3×. Every point of the Mandelbrot set corresponds to a different Julia set — a universe per pixel.

L38
L38system · Apr 12, 2026
drag to stir the citrus. the fluid never quite forgets.

Real-time Navier–Stokes fluid simulation. Drag to stir citrus dye into the flow. The fluid remembers where you touched it.

L37
L37system · Apr 11, 2026
one rule per cell. pinwheels everywhere. tap to seed the reaction.

The hodgepodge machine: a cellular automaton modeled on the BZ reaction. One rule per cell, pinwheels everywhere. Chemical-looking spiral waves with no chemistry.

L36
L36system · Apr 10, 2026
five species. secret rules of attraction. tap to rewrite who wants who.

Particle Life: 400 particles in five species, a hidden matrix of who-attracts-whom. The same matrix self-organizes into spirals, crystals, predator–prey cycles. Tap to rewrite the rules.

L35
L35system · Apr 10, 2026
sound makes patterns. tap to change the frequency.

2,000 particles settle into Chladni figures — the standing-wave patterns on a vibrating plate. Tap to change frequency; sound and vision lock together.

L34
L34system · Apr 9, 2026
the slime mold always finds the shortest path. tap to feed it.

20,000 agents trace Physarum polycephalum — the slime mold that finds shortest paths. Tap to place food; the network grows to connect everything.

L33
L33system · Apr 9, 2026
tap to seed life. watch it find its own rules.

Conway's Game of Life. Tap to place gliders; watch them collide, oscillate, die. Each birth chimes.

L32
L32system · Apr 8, 2026
three magnets. one pendulum. chaos has a map.

Three magnets and one pendulum. Every starting position maps to whichever magnet it ends on — but the map is a fractal. Chaos has its own geography.

L31
L31system · Apr 8, 2026
the landscape breathes. drag to orbit.

3D wireframe terrain from FBM noise. Peaks and valleys morph over time. Drag to orbit the landscape as it breathes.

L30
L30system · Apr 7, 2026
the butterfly. chaos has a shape. drag to see it.

600 particles trace the Lorenz butterfly in 3D perspective. Chaos has a shape — and here it is. Drag to rotate.

L29
L29system · Apr 7, 2026
two rules. chaos first. then the highway appears.

Langton's ant: a single cell on a grid with two rules. 10,000 steps of chaos and then, from nowhere, an emergent highway begins to draw itself.

L28
L28system · Apr 6, 2026
every branch, chosen by accident.

Diffusion-limited aggregation. Particles wander, and when one touches the crystal, it sticks. Chaos, one random step at a time, becomes coral.

L27
L27system · Apr 6, 2026
predators hunt. prey flee. plants grow. balance finds itself.

Three species on a field: predators hunt, prey flee, plants grow. Lotka–Volterra dynamics that balance, or collapse, depending on where you poke them.

L26
L26system · Apr 5, 2026
320,000 points. one rule. they find the shape themselves.

320,000 points, one rule iterated over and over. No plan — the shape finds itself. Seven Clifford attractors to cycle through.

L25
L25composition · Apr 5, 2026
they drift apart. they always come back.

Fifteen pendulums of increasing length. They start in sync, drift into waves, and re-sync every 60 seconds. The composition tier closes on a quiet one — they drift apart, they always come back.

L24
L24composition · Apr 4, 2026
every curve is just circles spinning at different speeds.

Spinning arms at different harmonics draw a hidden curve — Fourier epicycles. Every curve in the world is just circles rotating at different speeds.

L23
L23composition · Apr 4, 2026
drag the cloth. pull to tear.

A cloth of citrus threads, held up by verlet physics. Drag to pull it around. Pull too hard and the fabric tears.

L22
L22composition · Apr 3, 2026
drag to seed. the chemistry decides the pattern.

Gray–Scott reaction–diffusion: two virtual chemicals, coupled PDEs. Drag to seed; double-tap to shift chemistry between coral, spots, maze. Real chemistry, emergent texture.

L21
L21composition · Apr 3, 2026
tap to add mass. watch them orbit.

Tap to place masses. They attract each other with gravity, orbit, collide, merge. The n-body problem as a drawing tool.

L20
L20composition · Apr 2, 2026
the current knows where to go. tap to bend it.

700 particles follow an invisible vector field built from sin, cos, and noise. Drag to disturb the current. Fabric-like flow with an ambient drone.

L19
L19composition · Apr 2, 2026
tap. listen to the room answer.

Tap to make a sound. It bounces off the edges of the screen, shifting pitch with each reflection. You hear the shape of the room.

L18
L18composition · Apr 1, 2026
drag to sing. the screen becomes an instrument.

Drag anywhere to play. X is pitch, Y is volume, four voices simultaneously. The screen as a continuous instrument.

L17
L17composition · Apr 1, 2026
tap to compose. the playhead remembers.

Place notes on a field; a playhead sweeps across, ringing each one. The screen becomes a musical score you compose by touching.

L16
L16composition · Mar 31, 2026
they learned to keep time.

A drum machine — four voices, an eight-step sequencer. Tap pads to program, hit play. Rhythm as an object you program and observe.

L15
L15composition · Mar 30, 2026
they learned to sing.

Sound unlocks. Eight strings, pentatonic scale, tap to pluck, drag to bend. The piece you can finally hear.

L14
L14composition · Mar 30, 2026
everything claims its space.

Voronoi territories. Tap to plant a seed; every point of the plane joins whichever seed is closest. Borders breathe as the seeds drift.

L13
L13composition · Mar 29, 2026
they learned to flow.

Metaballs: liquid citrus on a bright field. Drops fall, pool, merge, ripple. The same physics that builds raindrops and lava lamps.

L12
L12composition · Mar 28, 2026
tap anywhere. watch it reach.

Tap to plant a seed. Branches fork and reach. First recursion — the same rule applied to itself until the rule becomes a tree.

L11
L11composition · Mar 25, 2026
they learned to move together.

Sixty creatures flocking with three simple rules. The first emergent behavior: coordinated motion without a coordinator. Tap to scatter, hold to attract.

L10
L10sketch · Mar 22, 2026
reunion.

Every technique from L1–L9 in one piece. The sketch tier closes with a reunion: one shape, rotation, trails, color, cracking, physics, nodes, pulses — all sharing a canvas.

L9
L9sketch · Mar 22, 2026
the network has a heartbeat.

Energy pulses through the network. The web from L8 gets a heartbeat — pulse, glow, transfer. An object with metabolism.

L8
L8sketch · Mar 22, 2026
they found each other.

Tap to place nodes. They find each other through proximity, drag to reshape. First network — things in relation, not isolation.

L7
L7sketch · Mar 22, 2026
fill the jar.

Citrus drops with gravity on a bright field. First physics: bounce, stacking, squish. The screen becomes a container.

L6
L6sketch · Mar 22, 2026
crack one open.

Citrus rings, tap to crack one open. The first action that destroys something — a split, not just a spawn.

L5
L5sketch · Mar 22, 2026
color wakes up. tap to multiply.

Color wakes up. Multiple shapes, a palette, tap to multiply. This piece also taught the aesthetic: its eggplant background was the first thing Bart rejected. Warm darks only from here forward.

L4
L4sketch · Mar 22, 2026
they remember where they have been.

Three shapes orbit a center, leaving fading trails. First composition — and the first hint of memory: where something has been.

L3
L3sketch · Mar 22, 2026
it knows you are there.

A triangle that tracks your cursor with easing. First time the work notices you're there.

L2
L2sketch · Mar 21, 2026
a line, learning to turn.

One line that grows and rotates. First sense of direction. Still monochrome, still one shape — but it's learning to turn.

L1
L1sketch · Mar 21, 2026
a circle, breathing.

The first mark. A single circle that pulses on a dark field — nothing else. No color, no story. Proof that something's alive.

← back to amber