Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orasund/elm-cellautomata
A packages that lets you write your own celluar automatas.
https://github.com/orasund/elm-cellautomata
Last synced: about 1 month ago
JSON representation
A packages that lets you write your own celluar automatas.
- Host: GitHub
- URL: https://github.com/orasund/elm-cellautomata
- Owner: Orasund
- License: bsd-3-clause
- Created: 2018-12-21T11:14:59.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-13T08:37:33.000Z (over 1 year ago)
- Last Synced: 2023-12-13T08:40:43.600Z (about 1 year ago)
- Language: Elm
- Homepage: https://package.elm-lang.org/packages/Orasund/elm-cellautomata/latest/
- Size: 6.73 MB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Elm-CellAutomata
Elm-CellAutomata is a packages that lets you write your own celluar automatas.**To get started, head over to CellAutomata.LifeLike**
If you never heard of a celuar automata (or Conways's Game of Life),
checkout this neat little [simulator](https://ncase.me/simulating/model/). This should give you an idea what this package is about.When to use it:
* To generate dynamic levels in your game.
* For generative art.When not to use it:
* A.I. behaviour. It is possible, but you will most likely get very frustrated
* Your rules depend on other things beside the state of the neighbors
* The new state of the cells can not be evaluate indepentend of one another.## What is a Cellular Automata?
The most famous cellular automata is [Conway's Game of Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life).
A cell automata takes the state of a cell as well as the state of its neighbors
and then calculate the new state of that cell.## Where are Cellular Automatas used?
whenever something is dynamically generated in a game, it most often has an underlying cell automata.
There are a few nice automatas for building [landscapes](https://mewo2.com/notes/terrain/) or [dungeons](http://www.roguebasin.com/index.php?title=Cellular_Automata_Method_for_Generating_Random_Cave-Like_Levels).## Motivation
This package was created along side with a little game of mine (that is not yet finished).
I needed some general abstractions for all my terrain-generation code.
I could not find any package that had something in that direction,
so i created my own.## Upcoming features
* More modules for different types of fields: **3D Grid**, **triangulations** and **graphs**
* A adaption of [Nicky Case's emoji simulator](https://ncase.me/simulating/model/).
In particular it should be able to generate functional elm code.## Changelog
* **3.0.0** - Added `OneOf (List state)` to `RuleExpression`.
* **2.0.0** - Changed the `Order` from `Maybe state -> Int` to `Maybe state -> comparable`.