Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vivekkdagar/conway_engine
A Python-based Game of Life simulator with dynamic visualization, interactive controls, and the inclusion of the iconic Gosper Glider Gun pattern.
https://github.com/vivekkdagar/conway_engine
gosper gosper-glider-gun john-conway john-conway-s-game-of-life pygame pypi pypi-package python3
Last synced: about 2 months ago
JSON representation
A Python-based Game of Life simulator with dynamic visualization, interactive controls, and the inclusion of the iconic Gosper Glider Gun pattern.
- Host: GitHub
- URL: https://github.com/vivekkdagar/conway_engine
- Owner: vivekkdagar
- License: gpl-3.0
- Created: 2024-01-15T11:01:08.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-01-25T09:30:58.000Z (12 months ago)
- Last Synced: 2024-01-25T11:09:54.696Z (12 months ago)
- Topics: gosper, gosper-glider-gun, john-conway, john-conway-s-game-of-life, pygame, pypi, pypi-package, python3
- Language: Python
- Homepage:
- Size: 3.04 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
The package is not available on PyPi currently. More information will be posted shortly.
Game Of Life
Welcome to the `conway_engine`, a visual representation of Conway's Game of Lifeβa cellular automaton designed by mathematician John Conway. This package showcases a grid of cells that evolve over time based on specific rules, resulting in intriguing patterns and behaviors.Β· Documentation Β· Report Bug Β· Request Feature
> The entry point game-of-life not working on Windows based systems is a known issue.
# :notebook_with_decorative_cover: Table of Contents
1. [Screenshots](#demo-screenshot)
2. [Requirements](#requirements)
3. [Features](#features)
4. [Installation](#installation)
5. [Keyboard Commands](#keyboard)
6. [FAQ](#question)
7. [Acknowledgements](#ack)
π· Demo Screenshot
:star2: RequirementsEnsure you meet the following requirements before installation:
- **Python**: The simulation is written in Python. Download and install Python from [python.org](https://www.python.org/).
- **Pygame**: The Pygame library is used for graphics and interaction. Install it using:```bash
pip install pygame
```
:dart: Features- **Gosper Glider Gun**: Experience the inclusion of the renowned Gosper Glider Gun, a pattern triggering gliders in a repeating sequence, resulting in explosive growth.
- **Dynamic Visualization**: Observe a window displaying the evolving patterns of cells over time, creating visually striking designs.
- **Interactive Controls**: Interact with the simulation by toggling cell states with mouse clicks and using keyboard commands to control the simulation.## :toolbox: Usage
:running: Install from PyPIYou can install the `conway_engine` package directly from PyPI using the following command:
```bash
pip install conway-engine
```
:running:Build from source1. Clone the project
```bash
git clone
```2. Navigate to the root directory of the cloned repository.
```bash
cd conway_engine
```3. Build the package using the commands below.
```bash
python3 setup.py sdist bdist_wheel
```
4. Install the package using pip.
```bash
pip install dist/*.tar.gz
```5. After installation, run the simulation by typing the following command in the terminal:
```bash
game-of-life
```### :toolbox: Command-line Arguments
Use the command-line option to access additional documentation on the GitHub README page:
```bash
game-of-life --i
```
:keyboard: Keyboard Commands- Spacebar: Start/Pause the simulation.
- 'c' Key: Clear the grid.
- 'g' Key: Generate a random set of cells for explosive growth.
- Mouse Left Click: Toggle the state of a cell.
- Mouse Right Click: Remove a cell.
:grey_question: FAQ- #### Q1: What is the Game of Life by John Conway?
- The Game of Life is a cellular automaton created by mathematician John Conway. It consists of a two-dimensional grid where each cell can be alive or dead. The evolution of the grid is determined by simple rules, including underpopulation, survival, overpopulation, and reproduction.- #### Q2: What are the rules of the Game of Life?
- The rules of the Game of Life are: Underpopulation, Survival, Overpopulation, and Reproduction. These simple rules give rise to a variety of patterns, including stable structures, oscillators, and gliders, making the Game of Life a fascinating and widely studied cellular automaton.
:gem: Acknowledgements- [John Conway's Game of Life](https://en.wikipedia.org/wiki/John_Horton_Conway/): The entire codebase is built upon the principles of John Conway's Game of Life. The rules governing cell evolution, the grid-based structure, and the concept of cellular automata are all inspired by Conway's seminal work in the field of mathematical games and automata theory.
- [Gosper Glider Gun Pattern](https://conwaylife.com/wiki/Gosper_glider_gun): The implementation of the Gosper glider gun pattern, a well-known configuration in Conway's Game of Life, adds complexity and visual interest to the simulation. The Gosper glider gun is famous for generating gliders, which contribute to the emergence of diverse patterns and behaviors.
- [GenReadme](https://www.genreadme.cloud/): Used GenReadme to generate documentation effectively and efficiently.
- [Pygame Library](https://pypi.org/project/pygame/): Leveraging the Pygame library for graphics and user interaction streamlines the development of the Game of Life simulation, providing a robust framework for handling events, drawing the grid, and creating an engaging visual experience for users.