Koi drift across a courtyard pond.
This is the whole thing. Phluxel runs it on every cell, every step — the animation is what
happens when you repeat it. BASE is the painted scene, so the rule reads the artwork
instead of its own output and never smears.
// Astra scene. _sx/_sy rescale the 256x192 coordinates to any grid size.
PARAM _motion = 1
PARAM _amount = 0.7
LET _sx = 256/GW
LET _sy = 192/GH
LET _t = {FRAC,TICK*_motion/48}*6.283185307179586
LET _wave = {SAT01,1-{ABS,{SIN,X*_sx*.12+Y*_sy*.35+_t}}*14}
LET _k=(X*_sx>39 & X*_sx<216 & Y*_sy>65 & Y*_sy<156 & BASE.B>BASE.R) ? _wave*_amount : 0
A=255
R=BASE.R+(238-BASE.R)*_k
G=BASE.G+(218-BASE.G)*_k
B=BASE.B+(172-BASE.B)*_k
The coordinates are written for the 256×192 canvas this was painted on;
_sx/_sy rescale them, so the same rule works on a smaller grid too.
Download the script ↓
_motion and _amount knobs while it runs. You never have to stop and restart.Phluxel runs in the browser as a demo, and the free desktop edition has every feature with a watermark on exports.
Open the browser demo Download free (Windows) Wishlist on Steam