☞ return to ju1i3's technical surplus ☜

Write Inkspot, not Game of Life

Last Spring I was dawdling in a bookstore, and happened across this 1987 book about cellular automata. I had recently begun learning some graphics programming and thought this would be a great source of prompts. I gazed upon the book, which provided a sort of cellular automata version of “Hello, World”…no, not Conway’s Game of Life - Inkspot! Inkspot was the perfect hook - it has basically one rule that when implemented made me feel like a genius, despite doing very little. I can’t ask for much more out of a first project!

There are a lot of different things someone might want out of a cellular automata tutorial, but for me I was looking for low effort, high aesthetic output. Game of Life is a beautiful thing, it is Turing complete, we live in awe of its complexity, but sometimes…for me… it’s just not as fun to watch as a splotch of ink growing…that’s all.

Game of Life isn’t really that much more complicated to implement, in fact Inkspot is considered “Life-like”, and has even been given the less cute name “Life without Death” after first being published in the book, but check this out!

Inkspot Rules

If a cell has 3 neighbors, that cell is alive. All cells stay alive. That's all!

I think the simplicity of this rule leaves room for a beginner to intuitively grasp how to create rules for desired behaviors. The goal here is to understand how a few simple rules can create a dramatic visual effect.

What if the cells gain color the longer they're alive?

Or they die after they get too old?

I'd love to see other variations.

Ultimately this is a matter of aesthetic and personal preference. What are you trying to learn? I think if you are writing your first cellular automata, with the intrinsic motivation of making cool graphics, implement Inkspot. To me, Inkspot leaves room for expanding its rules based on intuition, teaching the beginner how to use rules to describe a behavior they'd like to see.

I'd love to see more tutorials for Inkspot (this wasn't exactly a tutorial), and other simple cellular automata. There can be a tendency for beginner tutorials in all subjects to stagnate around the same few examples, which sometimes I find discouraging as a learner. This is why I'm trying to throw Inkspot into the mix. Maybe one day it will get so popular it stops being exciting!

... juli