Conway's game of life written in C++ using SFML library.
- Zooming (scroll with your mouse)
- Moving around (move the mouse while pressing the mouse scroll)
- Pausing (hit escape or click the GUI pause button)
- Placing cells (hold/click left mouse button)
- Removing cells (hold/click right mouse button)
Used optimizations:
- Cell culling (render only visible cells) (chunk culling should replace this in the future)
- Vertex array (sending data to the GPU in single draw call)
- Logic is calculated on separate thread
- VertexArray building is on separate thread
- VertexArray is rebuilt only when necessary
Clone the project with submodules by running git clone https://github.com/rxn7/game_of_life --recurse_submodules
Configure the project by running ./configure.sh
Build and run the debug version by running ./debug.sh
Build and run the release version by running ./release.sh
- Chunk system
- Infinite world
- Game settings (GUI)