An implementation of Conways game of life, in curses. For fun.
I built this to get across ncurses in golang, because it had been a decade since I last used ncurses. Since its always kinda fun to implement Conways Game of Life; well... This happend.
I poke at it every now and then and add features or check that it builds. Recently there is an issue with cgo (see below)
Since this is for fun: its licend under the most open licence I could find.
due to a limitation with cgo
and ncurses libraries,
try
export CGO_CFLAGS_ALLOW=".*"
export CGO_LDFLAGS_ALLOW=".*"
go get github.com/rthornton128/goncurses
export CGO_CFLAGS_ALLOW=
export CGO_LDFLAGS_ALLOW=
Before building if you have an error with unknown flags.
I'm not going to question your sanity; I mean, this is a project I started.
I'm 100% open to contributions. I'd like to get some benchmarks up, implement world state loading so you don't need to recompile for new start conditions, and decouple the ncurses from the world simulation better.
Once they are decoupled, I want to run the simulation as fast as I can; with a decoupled playback speed and controls. This also leads into loading saved runs.
Simulated generation: 9001
Current Visualised Generation: 53
Playback Speed: 1gen/s
[Play][Pause][>>][<<]
[Pause Simulation]
-
World state loading from standard formats. Or at least life 1.06 formats.
-
Add an editor?
-
Good support for unicode... in ncurses... (I think I should have ncursesw?)
-
benchmarks (and related performance tweaks)
-
decouple simulation from visualizaiton
-
play/pause/speed controls