Preston Bourne

Designer + Engineer
Deeply focused on the interplay between technology and human needs. Committed to continuous learning and growth.
Thesis Faculty
Ayodamola Tanimowo OkunseindeMelanie Crean

Automata Playground

3D Cellular Automata with a Radial Gradient, generated by Preston's Project

Cellular automata, often abbreviated as CA, are computational models that involve a grids of cells in which each cell changes state based on the states of neighboring cells. The rules on how a cell should change based on it’s neighbors, and what qualifies as a neighbor can vary widely based on use case, one of the most well known rulesets lead to the famous Conway’s Game of Life. Extending CA into three dimensions involves a grid of voxels, enabling simulations of more complex and realistic systems required in physics, biology, and materials science. Many advanced applications of Cellular Automata are explored in “A New Kind of Science” by Stephen Wolfram.

The project developed a new 3D cellular automata simulation framework specifically designed for creatives or those unfamiliar with the concept. This platform allows users to construct their own rules and visualize the evolving patterns in 3D space. Rooted in the historical evolution of CA, from theoretical models to tools for simulating intricate systems, the project focused on bridging technical complexity with user-centric design, ensuring an intuitive experience.

Through iterative development and user testing with participants from institutions like Parsons School of Design, Cornell Tech, and New York University, the project refined its real-time visualization features and user interface. A mixture of expert feedback ranging from people who’ve done research projects around Cellular Automata to Graphics Engineers contributed to the design and engineering decisions. College students who were completely unfamiliar with CA were also sampled to test how quickly the concept can be learned well enough to comfortably experiment with the project

React, a popular JavaScript library, was used to implement the user interface, whilst WebGL with GLSL shaders was used to render the Cellular Automata simulation. This allowed for the dynamic updating of the CA simulations based on user interactions, such as adjusting rules or changing perspectives, alongside offloading much of the computational heavy lifting to the GPU, which handled the parallel processing of cellular automata calculations efficiently.