This project is an implementation of Conway's famous "Game of Life", built with Rust and the Bevy game engine. It's my first Rust project, created to learn the basics of the language.
- 🔲 Configurable grid size (currently 50x25)
- 🎨 Minimalist graphical interface with Bevy
- ⏱️ Simulation time control
- 🎲 Random cell generation
- 🖱️ Ability to place/remove cells with the mouse
The Game of Life follows simple but fascinating rules:
- A living cell with fewer than 2 living neighbors dies (underpopulation)
- A living cell with 2 or 3 living neighbors survives
- A living cell with more than 3 living neighbors dies (overpopulation)
- A dead cell with exactly 3 living neighbors becomes alive (reproduction)
| Key | Action |
|---|---|
Space |
Pause/Resume simulation |
R |
Reset with random configuration |
C |
Clear all cells |
Left click |
Create/Delete a cell |
# Clone the repository
git clone https://github.com/your-name/game_of_life.git
cd game_of_life
# Build and run
RUST_BACKTRACE=1 cargo run --package game_of_life --bin game_of_life --features "bevy/dynamic_linking"src/
├── main.rs # Main entry point
├── ui.rs # User interface management
└── game_of_life/ # Game logic
├── clock.rs # Time management
├── grid.rs # Grid logic
├── mod.rs # Modules
└── systems.rs # Bevy systems
This project is under the MIT License. See the LICENSE file for more details.
