A cellular automata simulator
I have used some of my recently overwhelming spare time to program a simple cellular automata simulator. It is a native Win32 application able to run simulations on a finite rectangular grid with the topology of the plane or a torus. The computation is run in its own thread, different from the GUI thread, and the application supports binary, multi-state, and RGB automata with the Moore neighbourhood. All life-like cellular automata are supported (and are entered in the GUI using strings like “B3/S23”), and it is easy to hard-code other CAs. The application comes with a library of life-like CAs as well as number of interesting cyclic multi-state cellular automata.
Below is a small Game of Life (B3/S23) simulation, starting from a random distribution of pixels on a 60×60 square grid with the torus topology. After 855 generations, a period-2 state is reached, containing a number of still lifes as well as eight blinkers (including one traffic light) and a toad.