······🁢··🁢··················🁢··🁢···················
·······🁢🁢🁢········🁢🁢········🁢······················
··················🁢🁢·········🁢·🁢···················
······························🁢····················
··········🁢🁢·······································
·········🁢··🁢······································
··········🁢·🁢········🁢🁢····························
···········🁢·········🁢🁢····························
··········🁢🁢·······································
··········🁢🁢🁢······································
·········🁢🁢🁢🁢🁢···········🁢·························
········🁢🁢🁢🁢🁢·🁢·········🁢·🁢························
······🁢🁢··🁢🁢🁢·🁢🁢········🁢·🁢························
······🁢🁢·🁢··🁢🁢🁢··········🁢··············🁢🁢🁢········
·····🁢🁢······🁢··············🁢🁢·····················
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
If you haven't installed Julia, do that first.
After that, run the main
program from the root project folder:
julia ./main.jl
- 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