AutomtaJS is a web application for exploring 2D cellular automata. Differently from most cellular automata implementations, AutomataJS uses ThreeJS and glsl in order to parallalize the computation of each pixel state via shaders.
AutomataJS allows users to change the color, size and type of the automata, moreover all these parameters can be modified while the automata is running thus creating weird and unpredictable results.
-
-
sudo apt install npm
-
sudo dnf install npm
-
sudo yum install epel-release sudo yum install npm
-
sudo pacman -S npm
-
sudo zypper install npm
-
Download the installer from https://nodejs.org/en/download/
-
-
git clone https://github.com/bisignam/automatajs.git
-
cd automatajs npm install
-
ng serve
Navigate to
http://localhost:4200/
. The app will automatically reload if you change any of the source files.
- Add possibility to define custom automaton, for instance by editing a shader file using the Monaco Editor
- Make the application mobile friendly.
- Manage resize of window.
- Introduce usage of a logging library.
Feel free to to create a pull request or directly contact me at [email protected] if you encounter any problem or you have any suggestion. If you don't know where to start looking for possible contributions, check the Development Roadmap section.
This project is licensed under the terms of the MIT license.
See LICENSE for more information.
John Horton Conway for his stunning work and intuition, R.I.P
James Fisher for the great inspiration, the core of this project is based on his article Game Of Life Implemented With a Fragment Shader