https://github.com/fzipp/pps
An implementation of a primordial particle system (PPS). A life-like system emerges from a simplistic particle motion law.
https://github.com/fzipp/pps
emergence go golang life life-game life-simulation particle-system particles primordial simulation
Last synced: 4 months ago
JSON representation
An implementation of a primordial particle system (PPS). A life-like system emerges from a simplistic particle motion law.
- Host: GitHub
- URL: https://github.com/fzipp/pps
- Owner: fzipp
- License: bsd-3-clause
- Created: 2021-05-05T16:18:27.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-12-20T20:08:08.000Z (6 months ago)
- Last Synced: 2025-12-22T20:12:36.463Z (6 months ago)
- Topics: emergence, go, golang, life, life-game, life-simulation, particle-system, particles, primordial, simulation
- Language: Go
- Homepage:
- Size: 41 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Primordial Particle System
An implementation of the Primordial Particle System (PPS) described in:
Schmickl, T., Stefanec, M. & Crailsheim, K.
[How a life-like system emerges from a simplistic particle motion law.](https://www.nature.com/articles/srep37969)
Sci Rep 6, 37969 (2016).
https://doi.org/10.1038/srep37969
Explanation video by the authors of the article (not this implementation):
_How life emerges from a simple particle motion law: Introducing the Primordial Particle System_
[](https://www.youtube.com/watch?v=makaJpLvbow)
## Installation
```
$ go install github.com/fzipp/pps/cmd/pps-simulate@latest
```
## Usage
```
$ pps-simulate
Visit http://localhost:8080 in a web browser
```
It uses the following parameter set (as described in the article) by default:
PPS =〈r=5, α=180°, β=17°, v=0.67〉
The parameters, the particle density (DPE) and the size of the universe
can be modified via command line flags:
```
$ pps-simulate -r=4 -alpha=180 -beta=17 -v=0.67 -dpe=0.08 -size=150x150
```
The port is configurable as well:
```
$ pps-simulate -http=:6060
```
Get help about the flags:
```
$ pps-simulate -help
```
## License
This project is free and open source software licensed under the
[BSD 3-Clause License](LICENSE).