<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>John Conway | Learn C Games Programming Blog</title>
	<atom:link href="https://learncgames.com/tag/john-conway/feed/" rel="self" type="application/rss+xml" />
	<link>https://learncgames.com</link>
	<description>A blog about C, programming games and my ebook(s).</description>
	<lastBuildDate>Thu, 28 May 2020 18:49:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://learncgames.com/wp-content/uploads/2020/03/cropped-favicon-32x32.png</url>
	<title>John Conway | Learn C Games Programming Blog</title>
	<link>https://learncgames.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">181446779</site>	<item>
		<title>John Conways Game of Life</title>
		<link>https://learncgames.com/john-conways-game-of-life/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=john-conways-game-of-life</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Wed, 03 Jun 2020 23:00:52 +0000</pubDate>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Recreational]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[John Conway]]></category>
		<category><![CDATA[life]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=730</guid>

					<description><![CDATA[<p>An English mathematician John Conway (who died not that long ago) came up with a very simple cellular automaton that he called Life. This was back in the 1970s and I remember finding his original article in Scientific American while at University. We had no internet then and I whiled away 10 or so hours [&#8230;]</p>
The post <a href="https://learncgames.com/john-conways-game-of-life/">John Conways Game of Life</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:159,&quot;href&quot;:&quot;https:\/\/en.wikipedia.org\/wiki\/Conway%27s_Game_of_Life&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260206124258\/https:\/\/en.wikipedia.org\/wiki\/Conway%27s_Game_of_Life&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:32,&quot;href&quot;:&quot;https:\/\/sourceforge.net\/projects\/golly&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20251221195135\/https:\/\/sourceforge.net\/projects\/golly\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 11:04:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-09 20:19:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-12 22:35:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 19:52:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 02:01:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 00:15:22&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-02-27 00:41:45&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-03-03 20:07:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-06 21:54:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 18:30:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-14 16:16:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 16:51:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-22 08:32:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-26 13:35:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-30 20:41:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 02:45:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-08 00:33:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-12 05:32:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 15:32:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 09:40:42&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 09:40:42&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:696,&quot;href&quot;:&quot;https:\/\/github.com\/lamine2000\/game_of_life&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260206175220\/https:\/\/github.com\/lamine2000\/game_of_life&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-08 03:38:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-19 04:16:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-23 14:38:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 11:04:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 20:07:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-06 21:54:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-10 18:30:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 16:51:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-24 15:45:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-30 20:41:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-04 08:37:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-08 00:33:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 07:31:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 15:32:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-20 09:40:40&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 09:40:40&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<p><img fetchpriority="high" decoding="async" class="alignleft size-medium wp-image-732" src="https://learncgames.com/wp-content/uploads/2020/06/golly-300x233.png" alt="Golly - Life simulator" width="300" height="233" srcset="https://learncgames.com/wp-content/uploads/2020/06/golly-300x233.png 300w, https://learncgames.com/wp-content/uploads/2020/06/golly.png 618w" sizes="(max-width: 300px) 100vw, 300px" />An English mathematician John Conway (who died not that long ago) came up with a very simple cellular automaton that he called <a title="Link to Life on Wikipedia" href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life" target="_blank" rel="nofollow noopener noreferrer">Life</a>. This was back in the 1970s and I remember finding his original article in Scientific American while at University.</p>
<p>We had no internet then and I whiled away 10 or so hours trying to make my version of Life run faster. Given that this was 1978 and it was written in BASIC, it&#8217;s not surprising that it only did a couple of generations per second on a mainframe. They didn&#8217;t give us much CPU time and it was an ICL 1900. My iPhone is probably more powerful!</p>
<p>The rules are simple enough to implement but it&#8217;s unlikely you&#8217;ll outperform <a title="Link to Golly on Sourceforge" href="https://sourceforge.net/projects/golly/" target="_blank" rel="nofollow noopener noreferrer">Golly</a> which is what the image shows. That&#8217;s written in C++ and has been under near continuous development for the last 15 years.</p>
<p>But part of the fun is writing your own life simulator and watching the patterns explode. I&#8217;d call it the minecraft of its day given the amount of computing time spent on this since the 1970s. There are some amazing creations all following these three simple rules.</p>
<ul class="i8Z77e">
<li class="TrT0Xe">Any live cell with two or three live neighbours survives.</li>
<li class="TrT0Xe">Any dead cell with three live neighbours becomes a live cell.</li>
<li class="TrT0Xe">All other live cells die in the next generation. Similarly, all other dead cells stay dead.</li>
</ul>
<p>The grid is just a simple bit field. Each cell is either on or off and the rules determine if new cells are created or if patterns die out.</p>
<p>There are innumerable ones on the web. Here for example is a <a title="Link to SDL + C Life on GitHub" href="https://github.com/lamine2000/game_of_life" target="_blank" rel="nofollow noopener noreferrer">C/SDL version</a>. Note, it uses SDL1. When I get the time, I&#8217;ll build and run it. Comments are in French!</p>The post <a href="https://learncgames.com/john-conways-game-of-life/">John Conways Game of Life</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">730</post-id>	</item>
	</channel>
</rss>
