Adam Rumpf: Math Person

I have been fascinated by cellular automata (CA) since I first learned about them as an undergraduate student. They are a type of mathematical model consisting of an array of cells which interact with each other in simple ways to produce complex, emergent global behavior. While I have never taken a formal course that involves the study of CA models, they were one of the first things that really got me interested in mathematics, and they were one of the first topics that I made a point of learning about on my own outside of class.

Incidentally, the header pattern for this site is not just a pixelated plaid pattern: it was generated by a 1D block cellular automaton initialized with the first 128 digits of the binary expansion of e. I also realize in retrospect that my chosen color scheme makes the top of this site look like the flag of Estonia, but that is just a coincidence.

CA models combine several of my favorite things: they lie at the intersection of mathematics and computer science, they are an example of simple rules giving rise to complex behavior, they present an interesting programming challenge, and they often generate pretty pictures. When I first saw animations of Conway's Game of Life I knew that I wanted to try to recreate it on my own. That, plus my interest in video game design, was my main motivation for trying seriously to learn how to program. Those efforts eventually led to:

Cellular Automata Playground

GitHub Link

In 2012, during an undergraduate Java class I had grown bored with the course material, which seemed to be moving too slowly. As I have done at several points during my academic career, I decided to undertake a secret project of my own out of personal interest. Since this was around the time that I had first started looking into CA models, I decided to write a program to implement them. I also went into the project with the goal of making something nice and user-friendly that could be presented to anyone. At the time I had no intention of releasing it, but since starting a GitHub account and later an itch.io account I have decided to make it publicly available.

This is a slightly updated version of the Java program that I originally wrote in 2012. It displays a grid which can be clicked and dragged to draw patterns of live and dead cells. There are time controls at the bottom adjust how quickly the system evolves. The menus at the top contain a variety of options including randomly seeding the grid, adjusting the grid size, and adjusting the CA rules. Several well-known CA models are included, such as: Conway's Game of Life, halite crystal growth, Seeds, Brian's Brain, and even/odd rules.

Screenshots