Skip to content

Latest commit

 

History

History
169 lines (119 loc) · 3.35 KB

README.md

File metadata and controls

169 lines (119 loc) · 3.35 KB

Rucomato

Build status

Description

An implementation of different cellular automata in Rust.

Requirements

  • Rust
  • libsdl2
    sudo apt install libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev

Basic functionality

  • Press "p" to pause the simulation.
  • Press "ESC" to quit the simulation.

Implemented automata

On console:

cargo run -- rule30 console

In SDL2 window:

cargo run -- rule30 sdl2

rule30

On console:

cargo run -- rule90 console

In SDL2 window:

cargo run -- rule90 sdl2

rule90

On console:

cargo run -- rule110 console

In SDL2 window:

cargo run -- rule110 sdl2

rule110

On console:

cargo run -- rule184 console

In SDL2 window:

cargo run -- rule184 sdl2

rule184

On console:

cargo run -- gol console

In SDL2 window:

cargo run -- gol sdl2

gol

On console:

cargo run -- seeds console

In SDL2 window:

cargo run -- seeds sdl2

seeds

On console:

cargo run -- lant console

In SDL2 window:

cargo run -- lant sdl2

Langton's ant

On console:

cargo run -- bb console

In SDL2 window:

cargo run -- bb sdl2

Brian's Brain

On console:

cargo run -- wireworld console

In SDL2 window:

cargo run -- wireworld sdl2

Wireworld

TODO:

General

  • Mouse interaction for SDL2 to place/influence cells
  • Move into the third dimension
  • Sound synthesis
  • Custom actions to control the automata (probably useful in Ising model for temperature control)

Possible additional automata

Possible other interesting automata to implement in no particular order: