https://github.com/mukller/artificial-life
Artificial life simulation: cellular automata and evolutionary algorithms in the terminal
https://github.com/mukller/artificial-life
artificial-life cellular-automata cli python simulation terminal
Last synced: 5 days ago
JSON representation
Artificial life simulation: cellular automata and evolutionary algorithms in the terminal
- Host: GitHub
- URL: https://github.com/mukller/artificial-life
- Owner: Mukller
- License: mit
- Created: 2026-06-23T13:10:36.000Z (23 days ago)
- Default Branch: main
- Last Pushed: 2026-06-23T14:03:43.000Z (23 days ago)
- Last Synced: 2026-06-23T15:13:40.572Z (23 days ago)
- Topics: artificial-life, cellular-automata, cli, python, simulation, terminal
- Language: Python
- Size: 17.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[English](README_EN.md) • **Русский**
# artificial-life
Цифровая жизнь в 300 строках Python.
Клетки едят, делятся, умирают. Эволюция происходит сама собой — никакого
умного кода, только простые правила и естественный отбор.
## Что внутри
- **Среда** — сетка с едой, еда растёт случайно
- **Организмы** — энергия, геном (скорость/размер/восприятие), возраст
- **Эволюция** — при делении геном мутирует, слабые дохнут быстрее
- **Визуализация** — ASCII в терминале или pygame-окно
## Запуск
```bash
pip install pygame
python life.py # pygame окно
python life.py --ascii # прямо в терминале
```
Параметры:
```
--width ширина сетки (по умолчанию 80)
--height высота сетки (по умолчанию 40)
--seed начальное количество организмов
--fps кадров в секунду
```
## Как устроен геном
```python
genome = {
"speed": float, # клеток за ход
"perception": float, # радиус видения еды
"size": float, # влияет на потребление энергии
"mutation": float, # вероятность мутации потомка
}
```
Каждый параметр — компромисс. Быстрый жрёт больше. Большой видит дальше, но медленнее.