Cellular automata toys in LÖVE2D
 
 
Go to file
mat ess bff5c2fe62 Update LICENSE 2023-07-27 00:16:18 -04:00
ants Color tweaks 2022-09-14 23:37:16 -04:00
life Color tweaks 2022-09-14 23:37:16 -04:00
nix working ants!! 2022-09-11 00:23:52 -04:00
wireworld Color tweaks 2022-09-14 23:37:16 -04:00
.envrc Initial commit 2022-09-09 15:44:37 -04:00
.gitignore working ants!! 2022-09-11 00:23:52 -04:00
LICENSE.txt Update LICENSE 2023-07-27 00:16:18 -04:00
README.md Add gifs 2022-09-15 23:14:57 -04:00
ant.gif Add gifs 2022-09-15 23:14:57 -04:00
colorbrewer.lua Add life 2022-09-11 22:19:31 -04:00
flake.lock Initial commit 2022-09-09 15:44:37 -04:00
flake.nix Spawn ants with mouse, FPS counter 2022-09-11 12:08:09 -04:00
life.gif Add gifs 2022-09-15 23:14:57 -04:00
util.lua Add wireworld! 2022-09-14 23:05:05 -04:00
wireworld.gif Add gifs 2022-09-15 23:14:57 -04:00

README.md

cellular automata toys in löve2d

toys

ants

ants

langton's ant, heavily inspired by Andrew Healey's blog post and code.

supports multiple colors by passing a custom set of rules, see wikipedia.

click on the screen to spawn new ants.

life

life

conway's game of life. supports other life-like cellular automata rules, see wikipedia

left click or click and drag to flip cells on, and right click to spawn a glider.

wireworld

wireworld

wireworld.

left click to toggle conductors (wires) on and off. right click to spawn an electron head in a conductor. spacebar to toggle play/pause.

colorbrewer

this repo includes a lua interface to the lovely and accessible ColorBrewer2 colorschemes based on the research of Dr. Cynthia Brewer, based on the original ColorBrewer code and the implementation in Chroma.js.

running the toys

if you have löve installed on your system, you can just run the toys by name:

love ants
# run with a cool square pattern
love ants LRRRRRLLR
# other options
love ants <rule> <grid-unit-width-px> <simulation-steps-per-frame> 

love life
# run with HighLife rules
love life B36/S23
# other options
love life <rule> <grid-unit-width-px> <simulation-steps-per-frame>

love wireworld

if you have nix, you can use the provided flake.nix to get a working environment for running the games, as well as support for hot reloading if you want to hack on them.

nix develop
love ...