Parallel CA Simulator
A cellular automaton simulator written in Scala 3. A world is a wrap-around grid of integer cell states loaded from a CSV file, and a ruleset decides each cell's next state from its neighbors. It ships with Conway's Game of Life, Brian's Brain, Seeds, Wireworld, and Langton's Ant, draws every generation to a Swing window, and switches between a sequential step and a parallel step whenever you press the space bar, then reports the total time and frames per second when the run ends.
Attention: Coursework. It runs as a desktop program on the JVM, so there is nothing to click through here, and the parallel step has a known flaw described in the write-up.
Built
2026
Who built it
Four-person team with Ben Smith and two classmates. Ben built the simulator core and the parallel step, the classmates wrote most of the rulesets, and I built CSV world loading and the JUnit suite that checks every ruleset in both sequential and parallel mode.
Repository
BenSmith1202/parallel-automata (private)
Built with
- Scala 3.3
- sbt
- Scala Futures on the global ExecutionContext
- Java Swing (rendering)
- JUnit 4
- Tiled map editor (starting patterns)
Not a hosted project
Source only
A desktop Swing program on the JVM. There is nothing to host; putting it on the web would mean rewriting the renderer for the browser, which is a new project rather than a deployment.