LifeGrid is an extensible cellular automaton simulator featuring a graphical user interface, robust pattern management, and a plugin system. Built with Python and Tkinter, it offers a rich environment for exploring Conway's Game of Life and many other automata variations.
LifeGrid provides a powerful platform for simulating, analyzing, and visualizing cellular automata. Whether you are a student exploring emergence, a researcher testing new rules, or a hobbyist creating intricate patterns, LifeGrid offers the tools you need.
- Multiple Automata Modes:
- Conway's Game of Life
- HighLife
- Immigration Game
- Rainbow Game
- Brian's Brain
- Wireworld
- Langton's Ant
- Custom Rule Support (B/S notation)
- Interactive GUI:
- Drawing tools (Pen, Eraser, Toggle)
- Symmetry modes (Horizontal, Vertical, Diagonal, Point)
- Zoom and Pan controls
- Real-time speed adjustment
- Pattern Management:
- Built-in library of diverse patterns
- Load/Save functionality (supports RLE and JSON)
- Pattern Browser with previews
- Advanced Capabilities:
- Undo/Redo history
- Statistics tracking (Population, Density, Births/Deaths)
- Export to Image (PNG) or Animation (GIF)
- Plugin system for extensions
- Python 3.11 or higher
- Git (optional, for cloning)
-
Clone the repository:
git clone https://github.com/James-HoneyBadger/LifeGrid.git cd LifeGrid -
Create and activate a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
To launch the main simulator interface:
python src/main.pyLifeGrid's core can be used in your own scripts for headless simulation:
from src.core.simulator import Simulator
from src.core.config import SimulatorConfig
# Initialize simulator
config = SimulatorConfig(width=100, height=100)
sim = Simulator(config)
# Setup a pattern (e.g., a Glider)
sim.initialize(mode='conway', pattern='glider')
# Run for 100 generations
for _ in range(100):
stats = sim.step()
print(f"Gen {stats[0]['generation']}: Pop {stats[0]['population']}")Full documentation is available in the docs/ directory.
- User Guide: Detailed instructions on using the GUI and features.
- Installation Guide: Comprehensive installation options.
- API Reference: Technical specifics for developers.
- Pattern Formats: Understanding supported file types.
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2026 Honey Badger Universe