Game of Life

Recently some chaps got me interested in Conway’s Game of Life. This is a fun simulation of cellular birth, life and death in a grid based universe. So I could not help myself, of I went to try and make something that could simulate this in TypeScript. It has been a quite fun and learning experience.


I started out doing a basic simulation of the Cell AI depicted on the official Wiki page and after that I simply had to make my take on a graphical version. Also to learn a little about the performance of Browser based games using TypeScript.

As it turns out you can make a Singleton class where you store the graphics and use double buffering when you render it to gain an IMHO impressive performance. And it was also fun to design some graphics for the thing.

You can try the simulations I made here:

Simple Game of Life

Graphical Version

the controls are as follows:

[SPACE]: Clear the grid and introduce random live cells.
[A-L]: Inserts cells in some of the known patterns mentioned on the official Wiki.

Have fun…

Windows Versions!

To recap on some C++ coding I also made a Windows version on the Simple Game of Life. I used Virtual Box running Windows with the Visual Studio Community Edition to develop the C++ version.

I also found an old related program that can make the Mandelbrot fractal this I made ages ago but it is quite fun. Every time it renders it dumps a Fractal.png file on its current location. By holding the left mouse button down, dragging the mouse and releasing you can zoom in the fractal imagery.


And that old Exe runs fine under Wine too 🙂

You can download the exe files here:

GameOfLifeDemo.exe

FractalForm.exe

Have fun…

Author: Carsten Schwartz

My name is Carsten Schwartz. I live in Stevnstrup, Denmark . I develop Apps and Computer Games. I play board games and I am an experienced GM in Warhammer Fantasy Role Play (1st and 2nd Ed). I am also painting and sculpting miniatures. Yes that's right I am a freak - No mistake there, I even exercise Ju-Jitsu twice a week too. I am using this media to track my work and organize it a little.

Leave a Reply

Your email address will not be published. Required fields are marked *