15 releases

0.1.14 Nov 17, 2023
0.1.13 Nov 17, 2023
0.1.11 Sep 4, 2017
0.1.10 Aug 26, 2017
0.1.8 Jun 21, 2017

#154 in Graphics APIs

MIT license

3MB
708 lines

Game of Life CI

Conway's Game of Life implemented in Rust and OpenGL via gfx-rs.

Done as an exercise to practise Rust and get my feet with with OpenGL.

Areas explored:

  • General rendering
  • Vertex, fragment shaders
  • Pipeline state objects
  • Rayon for parallel processing
  • Building and deploying cross-platform binaries via GH Actions

gol running

Usage

You can run the executable by downloading one of the binaries in releases, or via cargo install gol, then running gol, or if you've cloned the repo,cargo run.

OPTIONS:
    -h, --grid-height <grid-height>        Height of the grid [default: 80]
    -w, --grid-width <grid-width>          Width of the grid [default: 100]
    -u, --update-rate <update-rate>        Number of updates to the game board per second [default: 30]
        --window-height <window-height>    Height of the window [default: 768]
        --window-width <window-width>      Width of the window [default: 1024]

If running via cargo, options need to be passed by appending --, i.e. cargo run -- -h 10 -w 10.

Todo

  • Optimise!

Dependencies

~5–15MB
~177K SLoC