Reaction Diffusion

from Red Blob Games
29 Jan 2019

I read Jonathan McCabe[1]’s paper in the Bridges conference: Cyclic Symmetric Multi-Scale Turing Patterns[2] and was inspired to play with reaction-diffusion systems.He’s made some amazing artwork[3] by running multiple reaction-diffusion systems at different scales and applying symmetry and difference functions to them. Jason Rampe goes into more details[4] about how Jonathan’s images are produced, and he has his own experiments.

For a background on reaction-diffusion systems, see Karl Sims’s fantastic explanation[5] and then play with @pmneila’s WebGL implementation[6]. And definitely check out this parameter map of behaviors[7] which includes math, descriptions, and videos! Ken Voskuil also has an explanation of the algorithm[8].

This is an implementation of the formulas on Karl Sims’s page:


feed= kill=

The behavior is rather sensitive to the parameters. You can paint with the mouse or finger. This demo won’t work on some devices, because it uses some WebGL extensions (OES_texture_float and OES_texture_float_linear).

Code is in reaction-diffusion.js

Note: this page seems to use a lot more RAM in Chrome than in Firefox. I haven’t tracked down why.

Email me at , or tweet to @redblobgames, or post a public comment: