Cellular Automata
Conway's Game of Life
A cellular automaton playground with pattern editing, playback controls, randomization, wrapped neighbor logic, and live population history.

Employer signal
What This Project Shows
This project shows careful handling of deterministic state changes, where one bad update order can corrupt the entire next generation.
Problem
What Needed To Be Solved
Game of Life is often presented as a tiny ruleset, but building an interactive version requires preventing user edits, playback timing, and next-state computation from interfering with each other.
Approach
How I Built The Solution
I kept the grid update as a separate step function and tracked population history independently, so the simulation could be paused, edited, randomized, and graphed without mixing concerns.
Outcome
What It Demonstrates
The project is a clear example of state-machine thinking and UI control design around a deterministic algorithm.
Evidence From Source
Source signal
The old sketch stores `cell_count_history`, uses `stepGame(len_x, len_y)`, and maintains a bounded history array for the population graph.
Practical signal
The controls show attention to the whole user workflow: pause, edit, observe, randomize, then step again.