This is an optimized version of Conway's Game of Life
Using an inspired approach from The Graphics Programming Black Book, we can store the cell state and neighbor count in one char byte.
This along with other minor optimizations gives us an almost 30x compute improvement over naive approaches.
CMake was used to create create build files, you can install it using the instructions on their website https://cmake.org/download/
This application also uses SFML, you can also install it using the instructions on their websites: https://www.sfml-dev.org/tutorials/2.5/#getting-started
On linux it's as easy:
sudo apt-get install libsfml-dev
git clone https://github.com/ash-xyz/life # Clone repository
cd Life
mkdir build # Create build folder
cd build
cmake .. # Create cmake build files
cmake --build . # Automatically runs build tools, can also be opened in IDE
And finally, run ./Life
in the build folder.
- Finish writing Tests
- Write Catch2 Benchmarks