Skip to content

A modern implementation of Conway's Game of Life cellular automaton. This project simulates the evolution of a grid of cells based on a set of simple rules, resulting in complex emergent behaviors.

License

Notifications You must be signed in to change notification settings

Zediwan/MosersGameOfLife

Repository files navigation

Moser's Game of Life

Latest Release

🔽 Download

➡️ Download the latest version

After installation, a shortcut will appear on your Desktop and Start Menu.

No .NET installation required — it's fully self-contained! 🎉


Overview

A modern implementation of Conway's Game of Life cellular automaton. This project simulates the evolution of a grid of cells based on a set of simple rules, resulting in complex emergent behaviors.

Features

Simulation Controls

  • Start, pause, and resume the simulation
  • Generate new random configurations
  • Adjust cell painting modes (alive or dead cells)
  • Visual cell trails option to see the history of cell movements

Color Behaviors

  • Default Mode: Traditional green cells on black background
  • Majority Color: Cells adopt the most common color of their neighbors
  • Average Color: Cells blend the colors of their neighbors

Ruleset Management

  • Create, save, and delete custom rulesets
  • Real-time rule editing with B/S notation display
  • Detection of duplicate rulesets

Interactive Cell Painting

  • Paint alive or dead cells directly on the grid
  • Dynamic color generation for painted cells
  • Cell state toggling with mouse interaction

Standard Game Rules

The classic Conway's Game of Life follows these rules:

  1. Any live cell with fewer than two live neighbors dies (underpopulation)
  2. Any live cell with two or three live neighbors lives on to the next generation
  3. Any live cell with more than three live neighbors dies (overpopulation)
  4. Any dead cell with exactly three live neighbors becomes a live cell (reproduction)

Available Predefined Rulesets

Name Notation Description Reference
Conway's Game of Life B3/S23 The classic cellular automaton Wikipedia
HighLife B36/S23 Supports replicators Wikipedia
Day & Night B3678/S34678 Symmetrical rule LifeWiki
Replicator B1357/S1357 Creates replicating patterns LifeWiki
Seeds B2/S Fast growth, chaotic LifeWiki
Life without death B3/S012345678 Everything lives forever LifeWiki
2x2 B36/S245 Blocks, emulates rule 90 LifeWiki
Assimilation B345/S5 Assimilates patterns LifeWiki
Isolated Birth B1/S012345678 Give birth when isolated (filling pattern) LifeWiki
Maze B34/S34 Tends to form stable mazes LifeWiki
Coagulations B38/S23 Forms growing blobs LifeWiki
Diamoeba B3/S0123456 Chaotic amoeba-like growth LifeWiki
Anneal B2/S345678 Melts patterns together LifeWiki
Long Life B3/S12345 Long-living structures LifeWiki
Gnarl B25/S4 Tree-like growth LifeWiki
Stains B357/S1358 Forms stain-like patterns LifeWiki
Fill B012345678/S012345678 Everything fills instantly LifeWiki

Screenshots

The following screenshots showcase key features of Moser's Game of Life:

Main Interface

Main Interface The main simulation screen showing the cellular automaton in action

Color Behavior Modes

Different color behavior modes in action

Default

Color Modes Default color behavior without trails Color Modes Default color behavior with trails

Majority

Color Modes Majority color behavior without trails Color Modes Majority color behavior with trails

Average

Color Modes Average color behavior without trails Color Modes Average color behavior with trails

Technical Details

  • Built with C# and WPF
  • Uses parallel processing for efficient grid updates
  • Implements customizable cellular automaton rules
  • JSON-based ruleset persistence

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • John Conway for inventing the original Game of Life
  • jaxry for his visualization of colorful-life

Inspirations & Further Reading

About

A modern implementation of Conway's Game of Life cellular automaton. This project simulates the evolution of a grid of cells based on a set of simple rules, resulting in complex emergent behaviors.

Resources

License

Stars

Watchers

Forks