Skip to content
Game of Life simulation in Julia
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
displays
manifolds
rules
README.md
board.jl
creature.jl
game_of_life.jl
main.jl

README.md

Game of Life (in Julia)

······🁢··🁢··················🁢··🁢···················
·······🁢🁢🁢········🁢🁢········🁢······················
··················🁢🁢·········🁢·🁢···················
······························🁢····················
··········🁢🁢·······································
·········🁢··🁢······································
··········🁢·🁢········🁢🁢····························
···········🁢·········🁢🁢····························
··········🁢🁢·······································
··········🁢🁢🁢······································
·········🁢🁢🁢🁢🁢···········🁢·························
········🁢🁢🁢🁢🁢·🁢·········🁢·🁢························
······🁢🁢··🁢🁢🁢·🁢🁢········🁢·🁢························
······🁢🁢·🁢··🁢🁢🁢··········🁢··············🁢🁢🁢········
·····🁢🁢······🁢··············🁢🁢·····················

My goal for this project is to learn Julia, particularly how to structure programs, work with the type system, and optimize code.

This game uses a rectangular board that wraps along the edges and the "standard" Game of Life rules:

  • Living cells stay alive if they have 2-3 live neighbors
  • Dead cells reinvigorate if they have 3 live neighbors

Running the Simulation

If you haven't installed Julia, do that first.

After that, run the main program from the root project folder:

julia ./main.jl

Goals

  • Write a basic Game of Life
  • Add tests
  • Allow for different board manifolds
  • Allow for different rules sets
  • Game of Life creatures DSL
  • Benchmark code

Credits

You can’t perform that action at this time.