Lanterns glow over a noodle stand at the water's edge.
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 _col={FLOOR,X*_sx/9}
LET _offset={NOISE,_col,3}
LET _drop={FRAC,TICK*_motion/48+_offset}*192
LET _k=(Y*_sy>85 & BASE.R<100 & {ABS,X*_sx-_col*9-3}<.6 & Y*_sy<=_drop) ? {SAT01,1-(_drop-Y*_sy)/6}*_amount*.6 : 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