Conway's game of life using pygame
- Pause with space
- Zoom with arrow up/down
- Speed up/down with right/left arrow
- Pan with WASD
- Q to center camera
- C to clear board
- Left click to add cells
- Right click to remove cells
- Mouse Wheel to change stamping for prebuilt ships stores in the "/shapes" directory
The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine. See Wikipedia Article
For some examples of patterns to use (other than randomly dragging your cursor around) see this page
- Better Navigation (zoom and pan)
- More optimized processing of states
- In game HUD for information about the board/settings
Stamping capabilities for premade patternsCOMPLETE (stamps are stored in the shapes directory)- Comb the
- Allow stamps to be rotated
- Create stamps from a selected range of the screen
- Store X evolutions backwards and allow for the user to go back through those evolutions.
- in game changes to the BORN/SURVIVE values to change possible states
- Multi-state for more than just binary
- Saving/Loading states
- Seperating game loop and UI loop
- Adding max bounds
- Adding wrapping
- etc
Feel free to fork or use this repository as you wish, I have no ownership rights over the game itself. Go nuts, just send over a pull request.
Currently only tested on Windows 10 with Python 3.8.5 and pygame 1.9.6
Premade shapes are taken from the Life Lexicon and it was incredibly helpful in deciphering the terms and phrases commonly used when speaking about Conway's Game of Life.