LISP Game of Life

By Josh Wright on May 2009 in projects

 

Conway's Game of Life is a zero-player game where you setup an initial configuration and the game evolves itself. My capstone project in college was to implement the game of life in lisp, along with a user interface for creating the state.

In most cases, this means you have a 2D grid of boxes (like a checker board) and you highlight any number of cells. When you press "play" the board evolves. Here is what our setup screen looks like:

The reason I'm so proud of this project is because our "playback" screen was implemented in 3D. In our framework, the only drawing shapes we had were creating lines and pixels. So this implementation draws elaborate 3D shapes, including back-face-culling, using only pixels and lines (and LOTS of math).

Here is an example of the screen:

The LISP Code

Due to the nature of our project requirements, the entire program was written in one text file. The total size of the program was 6,366 lines of LISP.

Here is the Source Code