explaingit

chakazul/lenia

3,763PythonAudience · researcherComplexity · 4/5Setup · moderate

TLDR

Lenia is a research simulation of artificial life forms using continuous cellular automata, fluid, organic shapes that move and evolve, backed by academic papers and available in Python with GPU support, JavaScript, MATLAB, Jupyter, and R.

Mindmap

mindmap
  root((lenia))
    What it is
      Artificial life sim
      Cellular automata
      Research project
    How it works
      Continuous cell values
      Smooth update rules
      Multi-kernel extensions
    Implementations
      Python with GPU
      JavaScript browser
      MATLAB statistical
    Academic backing
      Complex Systems journal
      ALIFE 2020 paper
      3D and 4D patterns
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run GPU-accelerated real-time simulations of continuous cellular automata life forms using the Python version

USE CASE 2

Experiment with multi-channel and multi-kernel Lenia extensions to generate more complex organic patterns

USE CASE 3

Explore artificial life theory and emergent behavior using the companion academic papers as a guide

USE CASE 4

Try the browser-based JavaScript version to view animated life forms instantly with no installation

Tech stack

PythonJavaScriptMATLABJupyterR

Getting it running

Difficulty · moderate Time to first run · 30min

GPU acceleration requires Python 3 with compatible GPU libraries, no detailed installation steps are provided in the README.

No license information is mentioned in the repository's README.

In plain English

Lenia is a research project exploring artificial life forms generated by a type of simulation called a cellular automaton. A cellular automaton is a grid where each cell has a value and updates itself each step based on the values of its neighbors. Classic examples like Conway's Game of Life use simple on/off cells with rigid rules. Lenia extends that idea into continuous space and time, meaning cell values are smooth numbers rather than binary, and patterns can move, grow, and evolve in fluid, organic-looking ways. The result is a large variety of moving shapes that the author calls life forms. The repository contains several versions of the simulation. The Python version is the fastest and supports GPU acceleration for running larger or more complex patterns in real time. It also includes multi-kernel and multi-channel extensions that allow more intricate life forms. A Matlab version offers statistical analysis tools but requires a paid Matlab license. A JavaScript version runs directly in the browser without any installation, though it is slower. Jupyter and R versions are also included but are non-interactive and intended only for demonstration. The project has academic backing. Research papers published in the Complex Systems journal and presented at the ALIFE 2020 conference describe the theory behind Lenia and its expanded universe of patterns, including life forms discovered in three and four dimensions. Links to those papers and companion videos on YouTube and Vimeo are in the README. To see the most advanced patterns in the Python version, the README suggests running the script with specific command-line flags for three channels and three kernels, then pressing a key to load a preset pattern. No detailed installation steps are given beyond the note that Python 3 and various libraries are required.

Copy-paste prompts

Prompt 1
How do I run the Python version of Lenia with GPU acceleration and load a preset multi-channel life form pattern?
Prompt 2
What are the differences between the Python, JavaScript, and MATLAB versions of Lenia and which should I use for research?
Prompt 3
Explain how Lenia extends Conway's Game of Life into continuous space and time and what makes its patterns look organic.
Prompt 4
How do I modify the kernel parameters in Lenia to generate new types of life forms that are not in the presets?
Prompt 5
Walk me through the command-line flags needed to run a three-channel three-kernel Lenia simulation in Python.
Open on GitHub → Explain another repo

← chakazul on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.