haven't been good for much today, but I did finally figure out how to get SDL2 C code working using the mingw64 / MSYS2 tools (on Windows 10) and decided to poke around with an old old idea, linear automata. each row of pixels corresponds to an iteration of the automaton, which is simply a linear array of integers in the range [0,3]. to calculate the next iteration, the value of each cell is summed with that of its immediate neighbors and then there's a lookup table mapping an integer in [0,9] to an integer in [0,3], and that supplies the cell's next value. generating the lookup tables randomly gives a lot of different behaviors, as you can see.
