Skip to content

yarbelk/damnedlife

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DamnedLife

Go Report Card

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.

BUILDING

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.

see rthornton128/goncurses#55

Contributing

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]

TODO

  • 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

About

conway's game of life with curses and scrolling

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages