RasterCore
Ready to execute

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));