I haven't programmed a Game of Life before, so here's my attempt:
Conway's Game of Life Rust implementation using a point quadtree data structure.
The use of a quadtree allows the board to be infinite.
- Right mouse button – add cells
- Left mouse button – remove cells
- Middle mouse button – pan
- Mouse wheel – zoom in and out
- Space – pause or resume
- N – go forward one step
- Ctrl+Z – go back to the last resume state
Thoughts on the macroquad crate
This crate is easy to use and renders the screen using a GPU shader, but I don't like how there's an implicit global window instance and that every value (window size, mouse position, scroll distance) is a float. It also doesn't support arrow keys. I didn't find a crate I liked more.
