Hardware Heritage
Goo displacement, also known as "water effects" or "blobby distortion," was a staple of the mid-90s PC demo era. It used iterative neighbor-averaging or complex domain warping to simulate the viscous, flowing motion of fluids, often doubling as a stress test for a machine's memory bandwidth and throughput.
PC Water
Software "water" simulations on PC (like the 1996 Pulse demo) used a cellular automaton where every pixel's velocity was the average of its neighbors minus its current state.
Amiga AGA
Amiga versions used the AGA chipset's dual-playfield modes to slide a distorted layer over a static one. The Copper could shift the pointers every line, creating ripples with zero CPU cost.
Fluid Dynamics
The logic of the "Goo" effect is the foundation of modern Navier-Stokes fluid simulations, where complex behavior emerges from simple local rules.
Goo
Viscous fluid simulation using coordinate displacement.
Legacy C (Algorithm)
// neighbor average propagation
new[i] = (old[i-1] + old[i+1] +
old[i-W] + old[i+W]) / 2 - current[i];
Modern GLSL
p.x += 0.3 / i * sin(i * 3.0 * p.y + t); p.y += 0.3 / i * cos(i * 3.0 * p.x + t); col = 0.1 / abs(sin(t - p.y - p.x));