VieIII

Context

The Game of Life is a famous and popular 2D cellular automaton invented by Dr. John Horton Conway, who sadly died of COVID-19 on April 11th, 2020. It was the starting point of many wonderful research on cellular automata. Many Web sites, conferences, and books are dedicated to cellular automata and new patterns are now being found using computers! Amanda Ghassaei wrote a fascinating Blog post on complex machines built entirely in Conway’s Game of Life, leading to a kind a Recursive Universe .

 

Implementations

There are many, many, implementations of Conway's Game of Life and other such cellular automata. Shorty after Conway's death, Desire released a version of the Game of Life for MS-DOS in... 32 bytes! (Yes, bytes... no Mb or Kb... See on YouTube).

In the 90s, my very first, real Amiga program was a Game of Life called Vie (life in French), which I had improved until releasing VieIII on Aminet on July 18th, 1996 . Besides VieIII, on Amiga, there is only the amazing VisualEasel, which allows implementing and running any (?) kind of cellular automata by defining your own rules and creating your own worlds.

 

Good Ol' VieIII

Originally compiled with SAS/C, I recently ported VieIII to VBCC, which is a more modern compiler that works well with the great Cubic IDE . The porting was not difficult but made me realised that my code is very coupled and messy... maybe because SAS/C allowed including C files, which I mindlessly abused at the time , or more likely because there was no Internet to guide me and I only had the excellent book La Programmation C et C++ by the late Didier Badouel to help me...

Now, I separated better the different C files, added some headers to expose and share few variables and functions and VieIII compiles and runs again! I also used SegTracker, Enforcer, FindHunkOffset and a bit of patience to fix several problems... However, fundamentally, I would write a VieIV completely differently to allow resizing the window, real-time zooming, auto-adjusting the size of the board when loading patterns, etc.

 

Downloads

I uploaded new versions in Aminet, including a new pattern in memory of Dr. Conway, taken from XKCD... You can download the latest version of VieIII here or previous versions there:

  • 20/12/12, v0.19: This is the first stable version of VieIII, recompiled with VBCC v0.9g and tested while Enforcer, SegTracker, etc. were running... no more hits! Also, it can load most (all?) the patterns provided in the archive without troubles and it will warn if a pattern is bigger than the current resolution of the board.

 

Further Reading

Altough the Game of Life has been extensively researched, new ideas still arise! In late 2019, Alex Shapiro introduced SproutLife, an evolving version of the game with beautiful (and intriguing) results!


The last three changes:

Tygre - 2021-07-03 07:09:16 am  |  Tygre - 2020-12-12 10:18:12 am  |  Tygre - 2020-12-12 08:28:17 am