Skip to content

rxn7/game_of_life

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game of Life

Conway's game of life written in C++ using SFML library.

Screenshots

screenshot1 screenshot2

Features

  • 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)

Optimizations

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

How to build

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

To do

  • Chunk system
  • Infinite world
  • Game settings (GUI)