<?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>SHAOS &#187; game_of_life</title>
	<atom:link href="https://shaos.net/blog/category/game_of_life/feed" rel="self" type="application/rss+xml" />
	<link>https://shaos.net/blog</link>
	<description>{ Personal Blog of Shaos }</description>
	<lastBuildDate>Mon, 04 Aug 2025 00:15:41 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Game of Life in JavaScript</title>
		<link>https://shaos.net/blog/2009/01/today-i-implemented-of-my-old-1994-fast.html</link>
		<comments>https://shaos.net/blog/2009/01/today-i-implemented-of-my-old-1994-fast.html#comments</comments>
		<pubDate>Sun, 25 Jan 2009 03:10:00 +0000</pubDate>
		<dc:creator><![CDATA[Shaos]]></dc:creator>
				<category><![CDATA[game_of_life]]></category>
		<category><![CDATA[programs]]></category>

		<guid isPermaLink="false">http://shaos.net/blog4/?p=27</guid>
		<description><![CDATA[Today I implemented my old (1994) &#8220;fast enough&#8221; algorithm of Game of Life in JavaScript (see source code here &#8211; life.js) and now LIFE table can be &#8220;embedded&#8221; directly to HTML: 0 0 0 0 0 0 1 2 1 1 0 0 0 0 0 0 2 3 5 3 0 0 0 0 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Today I implemented my old (1994) &#8220;fast enough&#8221; algorithm of <a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Game of Life</a> in JavaScript (see source code here &#8211; <a href="http://life.shabarshin.com/life/life.js">life.js</a>) and now LIFE table can be &#8220;embedded&#8221; directly to HTML:<br /><span style="font-family:fixed;"><br />
<table border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td id="10_10_0_0" onclick="setcolor(10,10,0,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_0_1" onclick="setcolor(10,10,0,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_0_2" onclick="setcolor(10,10,0,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_0_3" onclick="setcolor(10,10,0,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_0_4" onclick="setcolor(10,10,0,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_0_5" onclick="setcolor(10,10,0,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_0_6" onclick="setcolor(10,10,0,6)" align="center" bgcolor="white" width="18">1</td>
<td id="10_10_0_7" onclick="setcolor(10,10,0,7)" align="center" bgcolor="white" width="18">2</td>
<td id="10_10_0_8" onclick="setcolor(10,10,0,8)" align="center" bgcolor="blue" width="18">1</td>
<td id="10_10_0_9" onclick="setcolor(10,10,0,9)" align="center" bgcolor="white" width="18">1</td>
</tr>
<tr>
<td id="10_10_1_0" onclick="setcolor(10,10,1,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_1_1" onclick="setcolor(10,10,1,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_1_2" onclick="setcolor(10,10,1,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_1_3" onclick="setcolor(10,10,1,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_1_4" onclick="setcolor(10,10,1,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_1_5" onclick="setcolor(10,10,1,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_1_6" onclick="setcolor(10,10,1,6)" align="center" bgcolor="white" width="18">2</td>
<td id="10_10_1_7" onclick="setcolor(10,10,1,7)" align="center" bgcolor="blue" width="18">3</td>
<td id="10_10_1_8" onclick="setcolor(10,10,1,8)" align="center" bgcolor="white" width="18">5</td>
<td id="10_10_1_9" onclick="setcolor(10,10,1,9)" align="center" bgcolor="white" width="18">3</td>
</tr>
<tr>
<td id="10_10_2_0" onclick="setcolor(10,10,2,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_2_1" onclick="setcolor(10,10,2,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_2_2" onclick="setcolor(10,10,2,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_2_3" onclick="setcolor(10,10,2,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_2_4" onclick="setcolor(10,10,2,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_2_5" onclick="setcolor(10,10,2,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_2_6" onclick="setcolor(10,10,2,6)" align="center" bgcolor="white" width="18">2</td>
<td id="10_10_2_7" onclick="setcolor(10,10,2,7)" align="center" bgcolor="blue" width="18">2</td>
<td id="10_10_2_8" onclick="setcolor(10,10,2,8)" align="center" bgcolor="blue" width="18">3</td>
<td id="10_10_2_9" onclick="setcolor(10,10,2,9)" align="center" bgcolor="blue" width="18">1</td>
</tr>
<tr>
<td id="10_10_3_0" onclick="setcolor(10,10,3,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_3_1" onclick="setcolor(10,10,3,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_3_2" onclick="setcolor(10,10,3,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_3_3" onclick="setcolor(10,10,3,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_3_4" onclick="setcolor(10,10,3,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_3_5" onclick="setcolor(10,10,3,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_3_6" onclick="setcolor(10,10,3,6)" align="center" bgcolor="white" width="18">1</td>
<td id="10_10_3_7" onclick="setcolor(10,10,3,7)" align="center" bgcolor="white" width="18">2</td>
<td id="10_10_3_8" onclick="setcolor(10,10,3,8)" align="center" bgcolor="white" width="18">3</td>
<td id="10_10_3_9" onclick="setcolor(10,10,3,9)" align="center" bgcolor="white" width="18">2</td>
</tr>
<tr>
<td id="10_10_4_0" onclick="setcolor(10,10,4,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_1" onclick="setcolor(10,10,4,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_2" onclick="setcolor(10,10,4,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_3" onclick="setcolor(10,10,4,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_4" onclick="setcolor(10,10,4,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_5" onclick="setcolor(10,10,4,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_6" onclick="setcolor(10,10,4,6)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_7" onclick="setcolor(10,10,4,7)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_8" onclick="setcolor(10,10,4,8)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_4_9" onclick="setcolor(10,10,4,9)" align="center" bgcolor="white" width="18">0</td>
</tr>
<tr>
<td id="10_10_5_0" onclick="setcolor(10,10,5,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_1" onclick="setcolor(10,10,5,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_2" onclick="setcolor(10,10,5,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_3" onclick="setcolor(10,10,5,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_4" onclick="setcolor(10,10,5,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_5" onclick="setcolor(10,10,5,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_6" onclick="setcolor(10,10,5,6)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_7" onclick="setcolor(10,10,5,7)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_8" onclick="setcolor(10,10,5,8)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_5_9" onclick="setcolor(10,10,5,9)" align="center" bgcolor="white" width="18">0</td>
</tr>
<tr>
<td id="10_10_6_0" onclick="setcolor(10,10,6,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_1" onclick="setcolor(10,10,6,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_2" onclick="setcolor(10,10,6,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_3" onclick="setcolor(10,10,6,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_4" onclick="setcolor(10,10,6,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_5" onclick="setcolor(10,10,6,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_6" onclick="setcolor(10,10,6,6)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_7" onclick="setcolor(10,10,6,7)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_8" onclick="setcolor(10,10,6,8)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_6_9" onclick="setcolor(10,10,6,9)" align="center" bgcolor="white" width="18">0</td>
</tr>
<tr>
<td id="10_10_7_0" onclick="setcolor(10,10,7,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_1" onclick="setcolor(10,10,7,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_2" onclick="setcolor(10,10,7,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_3" onclick="setcolor(10,10,7,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_4" onclick="setcolor(10,10,7,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_5" onclick="setcolor(10,10,7,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_6" onclick="setcolor(10,10,7,6)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_7" onclick="setcolor(10,10,7,7)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_8" onclick="setcolor(10,10,7,8)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_7_9" onclick="setcolor(10,10,7,9)" align="center" bgcolor="white" width="18">0</td>
</tr>
<tr>
<td id="10_10_8_0" onclick="setcolor(10,10,8,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_1" onclick="setcolor(10,10,8,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_2" onclick="setcolor(10,10,8,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_3" onclick="setcolor(10,10,8,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_4" onclick="setcolor(10,10,8,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_5" onclick="setcolor(10,10,8,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_6" onclick="setcolor(10,10,8,6)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_7" onclick="setcolor(10,10,8,7)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_8" onclick="setcolor(10,10,8,8)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_8_9" onclick="setcolor(10,10,8,9)" align="center" bgcolor="white" width="18">0</td>
</tr>
<tr>
<td id="10_10_9_0" onclick="setcolor(10,10,9,0)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_1" onclick="setcolor(10,10,9,1)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_2" onclick="setcolor(10,10,9,2)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_3" onclick="setcolor(10,10,9,3)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_4" onclick="setcolor(10,10,9,4)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_5" onclick="setcolor(10,10,9,5)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_6" onclick="setcolor(10,10,9,6)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_7" onclick="setcolor(10,10,9,7)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_8" onclick="setcolor(10,10,9,8)" align="center" bgcolor="white" width="18">0</td>
<td id="10_10_9_9" onclick="setcolor(10,10,9,9)" align="center" bgcolor="white" width="18">0</td>
</tr>
</tbody>
</table>
<p></span><input name="step" value="Step" onclick="step(10,10)" type="button"></p>
<p>Usually programs of LIFE operate two 2-dimensional arrays of booleans calculating neighbours for every cell in every generation by walking through nearest 8 cells for each cell on map and modifying second array according to LIFE rules (alive cell will live if it has 2 or 3 alive neighbours, dead cell will be alive again if it has exactly 3 alive neighbours, otherwise cell must be dead) as a buffer to copy it to primary array later at the end of calculation for each generation. My algorithm uses <span style="font-style: italic;">precalculated</span> number of neighbours for each cell walking through nearest 8 cell ONLY if something changed inside cell (transition from dead to alive or from alive to dead) to decrease or increase number of neighbours in 8 nearest cells respectively.</p>
]]></content:encoded>
			<wfw:commentRss>https://shaos.net/blog/2009/01/today-i-implemented-of-my-old-1994-fast.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&quot;Game of Life&quot; evolution network</title>
		<link>https://shaos.net/blog/2008/04/game-of-life-evolution-network.html</link>
		<comments>https://shaos.net/blog/2008/04/game-of-life-evolution-network.html#comments</comments>
		<pubDate>Wed, 16 Apr 2008 03:52:00 +0000</pubDate>
		<dc:creator><![CDATA[Shaos]]></dc:creator>
				<category><![CDATA[distributed_computing]]></category>
		<category><![CDATA[game_of_life]]></category>
		<category><![CDATA[genetic_algorithms]]></category>

		<guid isPermaLink="false">http://shaos.net/blog4/?p=9</guid>
		<description><![CDATA[Some time ago I registered domain LifeGE.net. Main idea of LifeGE.net was creating place to discuss some techniques for automatic design of some Conway&#8217;s Game of Life patterns for implementation of real computer over Game of Life. I plan to use genetic algorithms for search of that patterns and also I need help of Internet [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Some time ago I registered domain <a href="http://lifege.net/">LifeGE.net</a>. Main idea of LifeGE.net was creating place to discuss some techniques for automatic design of some Conway&#8217;s Game of Life patterns for implementation of real computer over Game of Life. I plan to use genetic algorithms for search of that patterns and also I need help of Internet people and their CPU cycles <img src="https://shaos.net/blog/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> <br />P.S. You can read about cellular automata &#8220;Conways&#8217;s Game of Life&#8221; on <a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Wikipedia</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://shaos.net/blog/2008/04/game-of-life-evolution-network.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
