Life Odyssey explores the emergent behaviors of cellular automata. The program allows users to experiment with various rules and initial conditions to see how these affect the growth and evolution of cells on a grid. With the added "zombie mode," players can watch as cells can infect and transform into zombies, adding a new level of complexity and challenge. Life Odyssey offers a visually immersive and engaging experience that is perfect for students, researchers, or anyone interested in the study of complex systems.
Gameplay | Zombie Mode | Draw Mode
Cellular Automata is an intriguing concept that involves discrete mathematical models used for modeling and simulating complex systems. It has been used to simulate and model various phenomena across several fields, including physics, biology, and engineering. In recent years, it has gained popularity in computer science and artificial intelligence for simulating complex systems, developing machine learning algorithms, and solving optimization problems. One of the most popular Cellular Automata applications is Conway's Game of Life, which simulates the evolution of a colony of cells and demonstrates the emergence of complex patterns and behaviors.
In this work, a modified version of Conway's Game of Life called Life Odyssey is presented, which adds an exciting new twist to the game. In addition to the standard evolution rules, a zombie infection mode has been added, where the live cells can become zombies and infect their neighboring cells. This unique feature adds a new level of complexity and dynamics to the game, where players can observe the spread of the infection and the resulting patterns and behaviors. Life Odyssey has been implemented using Python and Pygame, which provides a visually appealing and interactive environment for the players. The game has several customization options, including the ability to create and edit patterns, adjust the speed and size of the game, and activate the zombie mode.
Life Odyssey can serve as an educational tool for learning cellular automata, and also as an entertaining game for casual players. It can also be used as a research tool for investigating complex systems and phenomena, such as the spread of diseases and the dynamics of social networks.
- Zombie Infection Mode : In addition to the standard evolution rules, live cells can become zombies and infect their neighboring cells, adding a new level of complexity and dynamics to the game.
- Customizable Patterns : Players can create and edit patterns using the drawing tool, and use them to explore and observe the dynamics of the game.
- Adjustable Game Settings : Life Odyssey provides several customization options, including the ability to adjust the speed and size of the game, and activate the zombie mode.
- Pulsating Color Scheme : The game uses a pulsating color scheme that provides a visually appealing and dynamic experience for the players.
- Educational Tool : Life Odyssey can serve as an educational tool for learning about cellular automata and complex systems.
- Research Tool : Life Odyssey can also be used as a research tool for investigating complex phenomena, such as the spread of diseases and the dynamics of social networks.
- Clone the repository:
git clone https://github.com/username/repository.git
- Install the required dependencies:
pip install -r requirements.txt
To run the program, navigate to the root directory of the project and run the following command:
python game.py
The Pygame window will open and the game will start. The program can be stopped by closing the window or pressing Ctrl-C in the terminal.
- SPACE - clear the grid
- RETURN - pause/play the game
- g - generate a random glider pattern
- Left Mouse Button - start drawing on the grid (when the game is paused)
- Left Mouse Button Release - stop drawing on the grid (when the game is paused)
The game can be customized by modifying the following parameters in the config.py file:
- ROWS - the number of rows in the grid
- COLS - the number of columns in the grid
- CELL_SIZE - the size of each cell in pixels
- FPS - the frame rate of the game
- INFECT_PROBABILITY - the probability of a live cell turning into a zombie (if the zombie mode is enabled)
- FLIP - the maximum number of cells that can be randomly flipped in one step (if the zombie mode is enabled)
- SCALE_FACTOR - the maximum scale factor for the pulsating effect
- ZOMBIE - enable or disable the zombie mode (True or False)
- The game also supports customization of the color scheme used for drawing the grid. This can be done by modifying the color_scheme dictionary in the config.py file. The dictionary contains three keys: DEAD_COLOR, LIVE_COLOR, and ZOMBIE_COLOR, each representing the RGB values of the corresponding color. The colors can be modified by changing the RGB values to the desired values.
This code is licensed under the MIT License.
Check out CONTRIBUTING.md
.