No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Christian F. Coors b788080355 Small fix in 3 years ago
arch-pkgbuild Version 0.3 3 years ago
examples Added support for reading rules from RLE files 3 years ago
src Style fix 3 years ago
tools Added some Unit Tests 3 years ago
.gitignore Added Scripts for Windows x86 and x64 3 years ago
CMakeLists.txt Added support for non-square grids 3 years ago
LICENSE Initial commit v0.1 3 years ago Small fix in 3 years ago

Game of Life


This is a simple Game of Life implementation in C++14.


  • 2D grid
  • Any possible rule can be selected (Stay Alive/Born)
  • Needs only C++ Standard library
  • Multithreaded (up to 32 threads)
    • Only useful for large grids (height > 1000)
  • Supported loading file formats:
    • Run Length Encoded (.rle)
    • Plaintext (.cells)
    • Life 1.06 (.lif or .life) files
  • Supported saving file formats:
    • Plaintext (.cells)



  • CMake (3.1 or later)
  • C++14 compiler (g++ 5.3.0, clang++ 3.7.1 tested)

Build instructions


mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..

Arch Linux

cd arch-pkgbuild
sudo pacman -U game_of_life-git-X

Replace X with the actual version number, architecture and file extension.

Linux crosscompile for Windows

cd tools


This project relies on several optimizations done by modern compilers and linkers like return value optimization (RVO) and improvements in C++ like move semantics. Therefore, things like return-by-value are used in most cases to improve readability.