<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1014704324335955392</id><updated>2012-02-05T11:57:44.481-08:00</updated><category term='whir'/><category term='robotunlock'/><category term='whir2'/><category term='don&apos;t trust the cat'/><category term='gather 10 keys to escape'/><category term='rubikon'/><category term='langtonia'/><category term='wireworld'/><category term='coin'/><category term='drawaid'/><category term='ted'/><category term='experiment'/><category term='universal_screenmate'/><title type='text'>MadFlame Software</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>59</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6088814004795176366</id><published>2012-02-02T11:12:00.000-08:00</published><updated>2012-02-02T11:12:06.154-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='langtonia'/><title type='text'>Langtonia: upcoming features</title><content type='html'>I haven't abandoned Langtonia, it's just that I'm in my exam period and I don't have too much free time. I've been working on adding collisions between mobs - &amp;nbsp;in the future expect to see them interacting, eating each other...&lt;br /&gt;&lt;br /&gt;Also, on my to-do list:&lt;br /&gt;+ rewrite sand generation&lt;br /&gt;+ allow multiple saves&lt;br /&gt;+ add snakes&lt;br /&gt;&lt;br /&gt;In the meantime here's a screenshot&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JWAaqb-oge4/TyrfnmYgEpI/AAAAAAAAA7M/kGur5sMfijU/s1600/scrshot_20120202_203629_+0200.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="384" src="http://3.bp.blogspot.com/-JWAaqb-oge4/TyrfnmYgEpI/AAAAAAAAA7M/kGur5sMfijU/s640/scrshot_20120202_203629_+0200.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6088814004795176366?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6088814004795176366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2012/02/langtonia-upcoming-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6088814004795176366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6088814004795176366'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2012/02/langtonia-upcoming-features.html' title='Langtonia: upcoming features'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-JWAaqb-oge4/TyrfnmYgEpI/AAAAAAAAA7M/kGur5sMfijU/s72-c/scrshot_20120202_203629_+0200.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-3861162721283963603</id><published>2012-01-15T00:10:00.000-08:00</published><updated>2012-01-15T00:10:38.895-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='langtonia'/><title type='text'>Langtonia gets creative mode</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8EqRVANZNO8/TxKIEz6blHI/AAAAAAAAA7A/KBQlAELEueg/s1600/langtonia_executors.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-8EqRVANZNO8/TxKIEz6blHI/AAAAAAAAA7A/KBQlAELEueg/s320/langtonia_executors.png" width="318" /&gt;&lt;/a&gt;&lt;/div&gt;Changes in this version (0.1.4):&lt;br /&gt;+ added creative mode&lt;br /&gt;+ fixed some bugs&lt;br /&gt;+ zombies now see you from farther away&lt;br /&gt;+ executors die if they don't move for too long&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-3861162721283963603?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/3861162721283963603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2012/01/langtonia-gets-creative-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3861162721283963603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3861162721283963603'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2012/01/langtonia-gets-creative-mode.html' title='Langtonia gets creative mode'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-8EqRVANZNO8/TxKIEz6blHI/AAAAAAAAA7A/KBQlAELEueg/s72-c/langtonia_executors.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-7856538535736959504</id><published>2012-01-06T04:12:00.000-08:00</published><updated>2012-01-15T00:10:38.900-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='langtonia'/><title type='text'>Langtonia update, manual and news!</title><content type='html'>Good news, everyone! Robot unlock has been reviewed on &lt;a href="http://www.diygamer.com/2011/12/freeware-game-pick-robot-unlock-game-programming/"&gt;DIYGamer&lt;/a&gt;.&lt;br /&gt;Since Langtonia's release I've been tinkering with the graphics a little and it now looks nice and crispy. I've also mended the game a bit. Expect to see more updates in the future.&lt;br /&gt;Also, the game lacks any in-game instructions so I've started to work on an online manual. The first sheet covers the basic terrain tiles. Link --&amp;gt;&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/p/langtonia-guide-part-1-blocks.html"&gt;http://madflame991.blogspot.com/p/langtonia-guide-part-1-blocks.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-7856538535736959504?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/7856538535736959504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2012/01/langtonia-update-manual-and-news.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7856538535736959504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7856538535736959504'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2012/01/langtonia-update-manual-and-news.html' title='Langtonia update, manual and news!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-477553099535934117</id><published>2012-01-01T06:48:00.000-08:00</published><updated>2012-01-15T00:10:38.898-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='langtonia'/><title type='text'>Langtonia release</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6IzOsxKMNks/TwBuPov_itI/AAAAAAAAA30/L2Suzv3nSjk/s1600/scrshot_20120101_135338_%252B0200.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="384" src="http://3.bp.blogspot.com/-6IzOsxKMNks/TwBuPov_itI/AAAAAAAAA30/L2Suzv3nSjk/s640/scrshot_20120101_135338_%252B0200.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Download it from --&amp;gt;&amp;nbsp;&lt;a href="http://gamejolt.com/freeware/games/other/langtonia/6884/"&gt;http://gamejolt.com/freeware/games/other/langtonia/6884/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Your goal is to survive as long as you can.&lt;br /&gt;Eat berries to stay alive or seek light sources. Minerals located in mountains can be dug out and turned into light sources. Some monsters process minerals, some turn into bushes, some follow you and hunt you down.&lt;br /&gt;&lt;br /&gt;This is a project I'm going to be working for some time and this is the first playable version.&lt;br /&gt;I've made it because I love Minecraft but I think it's too easy - in Langtonia it's much harder to survive. ...and you can't build self-replicating structures/mechanisms in Minecraft, but you can in Langtonia!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-477553099535934117?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/477553099535934117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2012/01/langtonia-release.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/477553099535934117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/477553099535934117'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2012/01/langtonia-release.html' title='Langtonia release'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-6IzOsxKMNks/TwBuPov_itI/AAAAAAAAA30/L2Suzv3nSjk/s72-c/scrshot_20120101_135338_%252B0200.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-3301207639669083773</id><published>2011-12-24T00:34:00.000-08:00</published><updated>2012-01-15T00:10:38.893-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='langtonia'/><title type='text'>Unnamed project</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-pzmb_TMiJhM/TvWOPT94mOI/AAAAAAAAA3o/CAKXX7kzofk/s1600/shelter_scrshot_1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="384" src="http://2.bp.blogspot.com/-pzmb_TMiJhM/TvWOPT94mOI/AAAAAAAAA3o/CAKXX7kzofk/s640/shelter_scrshot_1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-3301207639669083773?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/3301207639669083773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/12/unnamed-project.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3301207639669083773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3301207639669083773'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/12/unnamed-project.html' title='Unnamed project'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-pzmb_TMiJhM/TvWOPT94mOI/AAAAAAAAA3o/CAKXX7kzofk/s72-c/shelter_scrshot_1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-7855700217562178651</id><published>2011-11-25T05:57:00.001-08:00</published><updated>2012-01-15T00:11:14.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>New experiment: Tentacle flowers</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://madflame991.blogspot.com/p/tentacle-flowers.html" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-fs0NhD8rRIo/Ts-eS8Iv2FI/AAAAAAAAA3A/Y-U-IKwzB7M/s1600/circular_scrshot1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;lt;-- link&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-7855700217562178651?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/7855700217562178651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/11/new-experiment-tentacle-flowers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7855700217562178651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7855700217562178651'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/11/new-experiment-tentacle-flowers.html' title='New experiment: Tentacle flowers'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-fs0NhD8rRIo/Ts-eS8Iv2FI/AAAAAAAAA3A/Y-U-IKwzB7M/s72-c/circular_scrshot1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6277666699003635490</id><published>2011-11-12T23:24:00.001-08:00</published><updated>2012-01-15T00:11:14.920-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Markov chain text generator</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-xUqYFkL7hBI/Tr9ukNuQ-wI/AAAAAAAAA2s/C2iiAidBhEg/s1600/markov_scrshot1.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="251" src="http://3.bp.blogspot.com/-xUqYFkL7hBI/Tr9ukNuQ-wI/AAAAAAAAA2s/C2iiAidBhEg/s400/markov_scrshot1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Markov chain text generator --&amp;gt;&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/p/markov-chain-text-generator.html"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6277666699003635490?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6277666699003635490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/11/markov-chain-text-generator.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6277666699003635490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6277666699003635490'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/11/markov-chain-text-generator.html' title='Markov chain text generator'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-xUqYFkL7hBI/Tr9ukNuQ-wI/AAAAAAAAA2s/C2iiAidBhEg/s72-c/markov_scrshot1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-192516098966398021</id><published>2011-10-22T10:33:00.000-07:00</published><updated>2012-01-15T00:11:14.913-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Update: Bezier curves</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-44YqAM9dchU/TqL97DFPupI/AAAAAAAAAz8/cTGlQqeEBz8/s1600/scrshot_bezier.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-44YqAM9dchU/TqL97DFPupI/AAAAAAAAAz8/cTGlQqeEBz8/s1600/scrshot_bezier.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="background-color: transparent;"&gt;I have just updated the Bezier curves demo.&lt;/span&gt;&lt;br /&gt;--&amp;gt;&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/p/bezier-curves.html"&gt;http://madflame991.blogspot.com/p/bezier-curves.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's now prettier and the control points are easier to adjust.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-192516098966398021?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/192516098966398021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/10/update-bezier-curves.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/192516098966398021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/192516098966398021'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/10/update-bezier-curves.html' title='Update: Bezier curves'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-44YqAM9dchU/TqL97DFPupI/AAAAAAAAAz8/cTGlQqeEBz8/s72-c/scrshot_bezier.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-488138686583595376</id><published>2011-10-12T09:08:00.001-07:00</published><updated>2012-01-15T00:11:14.918-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Penrose polygons</title><content type='html'>&lt;canvas id="canvasimpo" width="400" height="400"&gt;&lt;/canvas&gt;&lt;script type="text/javascript"&gt;var con2dimpo;var imposs;initWrapimpo();//================================================================================================function initWrapimpo(){ setTimeout('initimpo()',200);}//================================================================================================function initimpo(){ con2dimpo = document.getElementById('canvasimpo').getContext('2d');  con2dimpo.lineWidth = 1;  con2dimpo.strokeStyle = "#000"; con2dimpo.fillStyle = "#FFF";   imposs = new Imposs();  imposs.set(3); con2dimpo.fillRect(0,0,400,400); con2dimpo.strokeRect(0,0,400,400); imposs.draw();}//================================================================================================function impo_readinput(){ var tmp; tmp = document.getElementById("sel_imposs").selectedIndex+3; imposs.set(tmp); con2dimpo.fillRect(0,0,400,400); con2dimpo.strokeRect(0,0,400,400); imposs.draw();}//================================================================================================function Imposs(){ var px, py; var opx, opy; var k; var n; var u; var r; var unit; var l;//------------------------------------------------------------------------------------------------ this.set = function(iin) {  px = 200, py = 200;  opx, opy;  k = 0;  n = iin;  u = Math.PI/n*2;  r = 100;  unit = 20;  l = Math.sin(u/2) * r * 2;  }//------------------------------------------------------------------------------------------------  function teleport(ipx,ipy) {  px = ipx; py = ipy; }//------------------------------------------------------------------------------------------------  function forward(ilen) {  opx = px;  opy = py;  px += Math.cos(k) * ilen;  py += Math.sin(k) * ilen;  con2dimpo.moveTo(opx,opy);  con2dimpo.lineTo(px,py);    }//------------------------------------------------------------------------------------------------ function rotate(ika) {    k += ika; }//------------------------------------------------------------------------------------------------ function setrot(ik) {    k = ik; }//------------------------------------------------------------------------------------------------ function brat() {  forward(l + unit/Math.sin(u));  rotate(u);    forward(l + unit/Math.tan(Math.PI-u) + unit/Math.sin(u) + unit/Math.tan((Math.PI-u)/2));   rotate(u);    forward(l + unit/Math.tan(Math.PI-u) + unit/Math.sin(u) + unit/Math.tan((Math.PI-u)/2) + unit/Math.tan((Math.PI-u)/2) - unit/Math.tan(u/2));   rotate(u/2);    forward(Math.sin((Math.PI-u)/2) * 2 * unit/Math.cos(u-Math.PI/2)); }//------------------------------------------------------------------------------------------------ this.draw = function() {  var i, kl = Math.PI*3/2;  con2dimpo.beginPath();  for(i=0;i&lt;n;i++)  {   teleport(200+Math.cos(kl)*r,200+Math.sin(kl)*r);   setrot(i*u+Math.PI/n);   brat();   kl+=u;  }  con2dimpo.stroke(); }}//================================================================================================&lt;/script&gt;&lt;br /&gt;Number of sides: &lt;select id="sel_imposs" onchange="impo_readinput();"&gt; &lt;option&gt;3&lt;/option&gt; &lt;option&gt;4&lt;/option&gt; &lt;option&gt;5&lt;/option&gt; &lt;option&gt;6&lt;/option&gt; &lt;option&gt;7&lt;/option&gt; &lt;option&gt;8&lt;/option&gt; &lt;option&gt;9&lt;/option&gt; &lt;option&gt;10&lt;/option&gt;&lt;/select&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-488138686583595376?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/488138686583595376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/10/penrose-polygons.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/488138686583595376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/488138686583595376'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/10/penrose-polygons.html' title='Penrose polygons'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6069048201975450358</id><published>2011-10-11T12:23:00.000-07:00</published><updated>2011-10-11T12:40:40.165-07:00</updated><title type='text'>Cellular automata in Minecraft</title><content type='html'>&lt;script type="text/javascript"&gt;var con2dli;var spaceli;var clickxli, clickyli;initWrapli();//================================================================================================function onclli(evt){ clickGetCoordli(evt); spaceli.flip(clickxli,clickyli);}//================================================================================================function clickGetCoordli(ev){ if (ev.layerX || ev.layerX == 0)  {  clickxli = ev.layerX;  clickyli = ev.layerY; }  else if(ev.offsetX || ev.offsetX == 0) {  clickxli = ev.offsetX;  clickyli = ev.offsetY; }}//================================================================================================function initWrapli(){ setTimeout('initli()',300);}//================================================================================================function initli(){ var canvas = document.getElementById('canvasli'); con2dli = canvas.getContext('2d');    canvas.addEventListener('click',onclli,false);  con2dli.font = '28px Geo'; con2dli.textBaseline = 'middle'; con2dli.textAlign = 'center';  spaceli = new Spaceli(); spaceli.init(17);     setInterval(theGreatLoopli,100); }//================================================================================================function theGreatLoopli(){ con2dli.fillStyle = '#FFF'; spaceli.draw(); spaceli.adv();}//================================================================================================function Spaceli(){ var dim = 0, dimp2 = 0; var bdim = 24, bdimp2 = Math.floor(bdim/2); var source = 8; var cel = new Array(); var ocel = new Array();//------------------------------------------------------------------------------------------------ this.reset = function() {  var i, j;  for(i=0;i&lt;dim;i++)   for(j=0;j&lt;dim;j++)   {    ocel[i][j] = 0; cel[i][j] = 0;   }  cel[dimp2][dimp2] = 5; }//------------------------------------------------------------------------------------------------ this.init = function(n) {  dim = n; dimp2 = Math.floor(dim/2);  var i, j;  for(i=0;i&lt;dim;i++)  {   cel.push(new Array());   ocel.push(new Array());   for(j=0;j&lt;dim;j++)   {    cel[i].push(0); ocel[i].push(0);   }  }    cel[dimp2][dimp2] = source;  ocel[dimp2][dimp2] = source; }//------------------------------------------------------------------------------------------------ this.flip = function(iix,iiy) {  var ix = Math.floor(iix/bdim)+1;  var iy = Math.floor(iiy/bdim)+1;    if(cel[ix][iy] &lt; 0)  {   cel[ix][iy] = 0;   ocel[ix][iy] = 0;  }  else  {   cel[ix][iy] = -1;   ocel[ix][iy] = -1;  } }//------------------------------------------------------------------------------------------------ this.draw = function() {  var i, j;  var tmprap = 150/source, tmp;      for(i=1;i&lt;dim-1;i++)   for(j=1;j&lt;dim-1;j++)   {    if(cel[i][j] &gt;= 0) {  tmp = Math.floor(cel[i][j] * tmprap) + 80;  con2dli.fillStyle = 'rgb('+(tmp)+','+(tmp)+','+(tmp+25)+')';     con2dli.fillRect((i-1)*bdim,(j-1)*bdim,bdim,bdim);   if(cel[i][j] != 0)// con2dli.fillStyle = '#BBB';  //else   con2dli.fillStyle = '#FFF';     con2dli.fillText(cel[i][j]+"",i*bdim-bdimp2,j*bdim-bdimp2); } else {  con2dli.fillStyle = '#C44';  con2dli.fillRect((i-1)*bdim,(j-1)*bdim,bdim,bdim); }   } }//------------------------------------------------------------------------------------------------ this.adv = function() {   var tmpcel;    var i, j;  for(i=1;i&lt;dim-1;i++)   for(j=1;j&lt;dim-1;j++)    if(ocel[i][j] &gt;= 0)  cel[i][j] = Math.max(Math.max(Math.max(Math.max(ocel[i-1][j],ocel[i][j-1]),ocel[i+1][j]),ocel[i][j+1])-1,0);    if(cel[dimp2][dimp2]&gt;=0) cel[dimp2][dimp2] = source;    tmpcel = cel;  cel = ocel;  ocel = tmpcel; }}&lt;/script&gt;Besides being on of the best games I've ever played, Minecraft, is also a superbe resource for learning how game development works.First of all, the game is still in development - you get to see with each update what elements are added and how bugs appear. You don't have this privilege with most games out there - you don't get to see how an idea evolves into a great game. You can also read the full version history on the official wiki to see what were the very first steps in developing this wonderful game.&lt;br /&gt;&lt;br /&gt;In this post I want to underline some cellular automata-like behaviour that can be observed in the Minecraft universe.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Cellular automata&lt;/span&gt;&lt;br /&gt;The simplest example I can give is how grass spreads. A block of dirt will have grass grow on it if one of its neighbours has grass on it (some lighting conditions must also be met).&lt;br /&gt;In other words the rule needed to describe this as a cellular automata looks like this:&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;Dirt -&amp;gt; Grass if at least one of the neighbouring blocks are Grass and light conditions are met&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Water&lt;/span&gt;&lt;br /&gt;There are 2 types of water blocks: sources and flowing. Flowing water comes in 7 levels or so, and can't be picked up with a bucket (water sources can).&lt;br /&gt;Rules (roughly):&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;Air/Water -&amp;gt; Water, Flowing of level Max(neighbours)-1&lt;br /&gt;Air/Water -&amp;gt; Water, Source if it has at least 2 neighbours who are Water Sources themselvs&lt;br /&gt;Air -&amp;gt; Water, Flowing, if the block above is water&lt;/div&gt;&lt;br /&gt;Water will spread on a flat surface, if there are no gaps in the way. Otherwise it will be drawn to the nearest gaps. Gap seaching only occurs when placing a water source. Notice, in the screenshots below, the uneven spread of water due to gaps.&lt;br /&gt;&lt;br /&gt;&lt;table border="0"&gt; &lt;tr&gt;  &lt;td&gt;   &lt;a href="http://2.bp.blogspot.com/-x3FnVRY8EFQ/TpSSNRS5DHI/AAAAAAAAAyw/daIp_lhzfdU/s1600/mcscrshot1.png"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-x3FnVRY8EFQ/TpSSNRS5DHI/AAAAAAAAAyw/daIp_lhzfdU/s320/mcscrshot1.png" width="320" /&gt;&lt;/a&gt;  &lt;/td&gt;  &lt;td&gt;   &amp;nbsp;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;   &lt;a href="http://4.bp.blogspot.com/-VUSnIRpx050/TpSSO_01HII/AAAAAAAAAzA/SwzX_rL3Pps/s1600/mcscrshot3.png"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/-VUSnIRpx050/TpSSO_01HII/AAAAAAAAAzA/SwzX_rL3Pps/s320/mcscrshot3.png" width="320" /&gt;&lt;/a&gt;  &lt;/td&gt;  &lt;td&gt;   &lt;a href="http://3.bp.blogspot.com/-F6uqXSIne6E/TpSSPoHZ0MI/AAAAAAAAAzI/ighoSVhH-Q0/s1600/mcscrshot4.png"&gt;&lt;img border="0" height="192" src="http://3.bp.blogspot.com/-F6uqXSIne6E/TpSSPoHZ0MI/AAAAAAAAAzI/ighoSVhH-Q0/s320/mcscrshot4.png" width="320" /&gt;&lt;/a&gt;  &lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Lava&lt;/span&gt;&lt;br /&gt;It behaves mostly like water except it spreads slower and the rule regarding Sources doesn't apply - you can't create infinite lava pools.&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;Lava, Source -&amp;gt; Obsidian if the above block is Water&lt;br /&gt;Lava, Flowing -&amp;gt; Stone if one of the neighbouring blocks is Water&lt;/div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-Sk2sOCvMGBg/TpSSOI_oRQI/AAAAAAAAAy4/44jgSnkWoQQ/s1600/mcscrshot2.png"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-Sk2sOCvMGBg/TpSSOI_oRQI/AAAAAAAAAy4/44jgSnkWoQQ/s320/mcscrshot2.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Light&lt;/span&gt;&lt;br /&gt;Propagates just like water on a flat surface except it's in three dimensions.&lt;br /&gt;Realistic shadows wouldn't have blended with the overall blocky aspect of the game and it would have required a more powerful GPU.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-IqErsB6uDlI/TpSSS1xwV5I/AAAAAAAAAzo/PPgEe1l1ZWo/s1600/mcscrshot8.png"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-IqErsB6uDlI/TpSSS1xwV5I/AAAAAAAAAzo/PPgEe1l1ZWo/s320/mcscrshot8.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;Below is a demo showing how light could have been implemented using cellular automata. &lt;b&gt;Click&lt;/b&gt; on the canvas to add and remove obstacles.&lt;br /&gt;&lt;br /&gt;&lt;div style="position: relative;"&gt;&lt;canvas height="360" id="canvasli" width="360"&gt;&lt;/canvas&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Redstone circuits&lt;/span&gt;&lt;br /&gt;The signal in a restone circuit propagates just like water on a flat surface.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-KJBG_2W32ZQ/TpSST4qH2VI/AAAAAAAAAzw/MTvvYZxgbN4/s1600/mcscrshot9.png"&gt;&lt;img border="0" height="192" src="http://3.bp.blogspot.com/-KJBG_2W32ZQ/TpSST4qH2VI/AAAAAAAAAzw/MTvvYZxgbN4/s320/mcscrshot9.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;Rules:&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;Redstone -&amp;gt; Redstone, powered of level Max(neighbours)-1&lt;br /&gt;Repeater, inactive -&amp;gt; Repeater, active, level 2 if its input is powered&lt;br /&gt;Repeater, active, level 2 -&amp;gt; Repeater, active, level 1&lt;br /&gt;Repeater, active, level 1 -&amp;gt; Repeater, inactive&lt;br /&gt;Redstone, unpowered -&amp;gt; Redstone, powered if there is a neighbouring Repeater, level 1 or another source&lt;/div&gt;&lt;br /&gt;Redstone signal propagates from one elevation to another only if the block above the lower redstone is transparent.&lt;br /&gt;&lt;table border="0"&gt; &lt;tr&gt;  &lt;td&gt;   &lt;a href="http://2.bp.blogspot.com/-HBcYfKTRR18/TpSSQhqhabI/AAAAAAAAAzQ/5Sl-vcoZbGY/s1600/mcscrshot5.png"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-HBcYfKTRR18/TpSSQhqhabI/AAAAAAAAAzQ/5Sl-vcoZbGY/s320/mcscrshot5.png" width="320" /&gt;&lt;/a&gt;  &lt;/td&gt;  &lt;td&gt;   &amp;nbsp;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;   &lt;a href="http://2.bp.blogspot.com/-83lhRE4jIzs/TpSSRIFlm0I/AAAAAAAAAzY/vCGw6RxcAck/s1600/mcscrshot6.png"&gt;&lt;img border="0" height="192" src="http://2.bp.blogspot.com/-83lhRE4jIzs/TpSSRIFlm0I/AAAAAAAAAzY/vCGw6RxcAck/s320/mcscrshot6.png" width="320" /&gt;&lt;/a&gt;  &lt;/td&gt;  &lt;td&gt;   &lt;a href="http://3.bp.blogspot.com/-3QLW-xAORc4/TpSSR6HS-vI/AAAAAAAAAzg/qcfMdVnoURM/s1600/mcscrshot7.png"&gt;&lt;img border="0" height="192" src="http://3.bp.blogspot.com/-3QLW-xAORc4/TpSSR6HS-vI/AAAAAAAAAzg/qcfMdVnoURM/s320/mcscrshot7.png" width="320" /&gt;&lt;/a&gt;  &lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Crops&lt;/span&gt;&lt;br /&gt;Crops have a very simple set of rules. The rate of growth is influenced by light level and irrigation.&lt;br /&gt;Rules:&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;Seed -&amp;gt; Crops, level 1&lt;br /&gt;Crops, level 1 -&amp;gt; Crops, level 2&lt;br /&gt;...&lt;br /&gt;Crops, level 6 -&amp;gt; Crops, level 7&lt;br /&gt;Crops, level 7 -&amp;gt; Crops, fully grown&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Cacti&lt;/span&gt;&lt;br /&gt;Placed cactus block is "Cactus, level 1"&lt;br /&gt;Rules:&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;Air -&amp;gt; Cactus, level 2, if the block below is Cactus, level 1&lt;br /&gt;Air -&amp;gt; Cactus, level 3, if the block below is Cactus, level 2&lt;br /&gt;Air -&amp;gt; Cactus, level 4, if the block below is Cactus, level 3&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Trees&lt;/span&gt;&lt;br /&gt;The decaying of leaves behaves much like grass: Leaves -&amp;gt; Air if there is no Wood block around.&lt;br /&gt;Currently, trees grow in minecraft instantly. It would be much nicer to see them growing gradually. With enough rules the growing of trees could be simulated using cellular auomata.&lt;br /&gt;Sample rules:&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;Sapling -&amp;gt; Trunk, level 1&lt;br /&gt;Air -&amp;gt; Trunk, level 2 if the block below is Trunk, level 1&lt;br /&gt;Air -&amp;gt; Trunk, level 3 if the block below is Trunk, level 2&lt;br /&gt;Air -&amp;gt; Branch, level 1 if there is a neighbouring Trunk, level 3 block&lt;br /&gt;Air -&amp;gt; Branch, level 2 if there is a neighbouring Branch, level 1 block&lt;br /&gt;Air -&amp;gt; Leaves if there is a neighbouring Branch, level 2 block&lt;br /&gt;Leaves -&amp;gt; Branch, level 2 if there is a neighbouring Branch, level 1 block&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Minecarts&lt;/span&gt;&lt;br /&gt;Minecart mechanics could be simulated (up to a certain extent) using an altered version of Wireworld. Minecarts would be electrons and the track would be the conductor. Additional rules may be needed to prevent the minecart from splitting like electrons do when the track splits.&lt;br /&gt;Minecarts could also be implemented as turmites. The closest thing to a turmite is the snow golem because it leaves a trail of snow wherever it goes. If it had changed its behaviour based on whether it stood on snow or not it would have been a fully capable turmite.&lt;br /&gt;Every minecart knows its direction and energy level.&lt;br /&gt;&lt;br /&gt;The rules for a turmite-minecart would look like this:&lt;br /&gt;&lt;div style="background-color:#F2F2F2"&gt;on ground: decrease energy by 5&lt;br /&gt;on horizontal tracks: decrease energy by 1&lt;br /&gt;on ascending tracks: decrease energy by 4&lt;br /&gt;on descending tracks: increase energy by 3&lt;br /&gt;on cornering tracks: adjust direction, descrease energy by 1&lt;br /&gt;on booster: increase energy by 10&lt;br /&gt;&lt;br /&gt;in all cases advance if there is enough energy left.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6069048201975450358?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6069048201975450358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6069048201975450358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6069048201975450358'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html' title='Cellular automata in Minecraft'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-x3FnVRY8EFQ/TpSSNRS5DHI/AAAAAAAAAyw/daIp_lhzfdU/s72-c/mcscrshot1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-8619188519470437362</id><published>2011-09-27T23:49:00.000-07:00</published><updated>2011-09-27T23:49:05.501-07:00</updated><title type='text'>2 Updates</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-y2bIrVDIJeA/ToLCyIL8FoI/AAAAAAAAAyY/SrHM8Mb5KE0/s1600/scrshot2_lsystem.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-y2bIrVDIJeA/ToLCyIL8FoI/AAAAAAAAAyY/SrHM8Mb5KE0/s1600/scrshot2_lsystem.png" /&gt;&lt;/a&gt;&lt;b&gt;L-system generator [&lt;a href="http://madflame991.blogspot.com/p/lindenmayer-power.html"&gt;link&lt;/a&gt;]&lt;/b&gt;&lt;br /&gt;+ optimized a bit&lt;br /&gt;+ turtle commands are simpler to write&lt;br /&gt;+ turtle now has variables&lt;br /&gt;+ added more examples&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Graph.addPhysics() [&lt;a href="http://madflame991.blogspot.com/2011/09/graphaddphysics.html"&gt;link&lt;/a&gt;]&lt;/b&gt;&lt;br /&gt;+ tweaked it&lt;br /&gt;+ added collisions to boundaries&lt;br /&gt;+ made it look prettier&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-8619188519470437362?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/8619188519470437362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/09/2-updates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8619188519470437362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8619188519470437362'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/09/2-updates.html' title='2 Updates'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-y2bIrVDIJeA/ToLCyIL8FoI/AAAAAAAAAyY/SrHM8Mb5KE0/s72-c/scrshot2_lsystem.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6401331596946651349</id><published>2011-09-25T01:04:00.000-07:00</published><updated>2012-01-15T00:11:14.922-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>L-system generator thingie</title><content type='html'>Graphics generated by context-free grammars -&amp;gt;&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/p/lindenmayer-power.html"&gt;http://madflame991.blogspot.com/p/lindenmayer-power.html&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-uBh6YtGRnng/Tn7gTg27v3I/AAAAAAAAAyU/t2B8gFwwwHU/s1600/scrshot1_lsystem.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-uBh6YtGRnng/Tn7gTg27v3I/AAAAAAAAAyU/t2B8gFwwwHU/s1600/scrshot1_lsystem.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Will be back with more examples and details&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6401331596946651349?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6401331596946651349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/09/l-system-generator-thingie.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6401331596946651349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6401331596946651349'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/09/l-system-generator-thingie.html' title='L-system generator thingie'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-uBh6YtGRnng/Tn7gTg27v3I/AAAAAAAAAyU/t2B8gFwwwHU/s72-c/scrshot1_lsystem.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4745824410949770024</id><published>2011-09-17T03:46:00.000-07:00</published><updated>2012-01-15T00:11:14.916-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Graph.addPhysics()</title><content type='html'>&lt;head&gt;	&lt;link href='http://fonts.googleapis.com/css?family=Geo' rel='stylesheet' type='text/css'&gt;&lt;/head&gt;&lt;div style="position: relative;"&gt;&lt;canvas height="400" id="canvaspa" width="400"&gt;&lt;/canvas&gt;&lt;script type="text/javascript"&gt;var con2dpa;var space;var graf;var clickx, clicky;initWrappa();//================================================================================================function random(min,max) { return Math.floor(Math.random()*(max-min+1)+min); }function replaceChar(s,p,c)	{ return s.slice(0,p-1)+c+s.slice(p,s.length); }//================================================================================================function oncl(evt){ space.reset(); //clickGetCoord(evt);}//================================================================================================function clickGetCoord(ev){ if (ev.layerX || ev.layerX == 0)  {  clickx = ev.layerX;  clicky = ev.layerY; }  else if(ev.offsetX || ev.offsetX == 0) {  clickx = ev.offsetX;  clicky = ev.offsetY; }}//================================================================================================function initWrappa(){ setTimeout('initpa()',300);}//================================================================================================function initpa(){ document.getElementById("inp_graf").value = "0 1\n0 2\n0 3\n0 4\n0 5\n0 6\n1 2\n2 3\n3 4\n4 5\n5 6\n6 1";  var canvas = document.getElementById('canvaspa'); con2dpa = canvas.getContext('2d');			 canvas.addEventListener('click', oncl,false);	 con2dpa.font = '28px Geo'; con2dpa.textBaseline = 'top';  graf = new Graf(); space = new Space(); space.init(7); 			 setInterval(theGreatLooppa,30); }//================================================================================================function pa_readinput(){ var tmp; tmp = document.getElementById("inp_graf").value; graf.fromEdgeList(tmp); space.init(graf.np);}//================================================================================================function theGreatLooppa(){ con2dpa.fillStyle = '#191919'; con2dpa.fillRect(0,0,400,400); space.adv(); space.draw();}//================================================================================================function Graf(){ this.g = [[0,1,1,1,1,1,1],           [1,0,1,0,0,0,1],		   [1,1,0,1,0,0,0],		   [1,0,1,0,1,0,0],		   [1,0,0,1,0,1,0],		   [1,0,0,0,1,0,1],		   [1,1,0,0,0,1,0]]; this.np = 0;//------------------------------------------------------------------------------------------------ this.alloc = function(n) {  this.np = n;  var i, j;  this.g = new Array();  for(i=0;i&lt;n;i++)  {   this.g.push(new Array());   for(j=0;j&lt;n;j++)    this.g[i].push(0);  } }//------------------------------------------------------------------------------------------------ this.fromEdgeList = function(is) {  var i;  var ar = is.split("\n");  var art, t0, t1, ok, max = 0;  var ar0 = new Array();  var ar1 = new Array();    for(i=0;i&lt;ar.length;i++)  {   art = ar[i].split(" ");   if(art.length &gt;= 2)   {    ok = true;    if(!isNaN(parseInt(art[0]))) t0 = parseInt(art[0]); else ok = false;	if(!isNaN(parseInt(art[1]))) t1 = parseInt(art[1]); else ok = false;	if(ok &amp;&amp; t0 != t1)	{	 ar0.push(t0); ar1.push(t1); 	 max = Math.max(max,t0); max = Math.max(max,t1); 	}   }  }    this.alloc(max+1);    for(i=0;i&lt;ar0.length;i++)  {   this.g[ar0[i]][ar1[i]] = 1;   this.g[ar1[i]][ar0[i]] = 1;  } }}//================================================================================================function Particle(ipx,ipy,ivx,ivy){ this.px = ipx; this.py = ipy; this.vx = ivx; this.vy = ivy; this.fix = 0;}//================================================================================================function Space(){ this.np = 7; var part = new Array(); var dist = 80, distp2 = dist/2, disto2 = dist*2; var epsilon = 5;//------------------------------------------------------------------------------------------------ this.reset = function() {  space.init(space.np); }//------------------------------------------------------------------------------------------------ this.init = function(n) {  this.np = n;    part.length = 0;  part.push(new Particle(200,200,0,0));    var i;  for(i=1;i&lt;this.np;i++)   part.push(new Particle(random(100,300),random(100,300),random(-3,3),random(-3,3)));     part[0].fix = 1; }//------------------------------------------------------------------------------------------------ this.draw = function() {  var i, j;    con2dpa.lineWidth = 1;    con2dpa.strokeStyle = '#FEF';    con2dpa.beginPath();  for(i=0;i&lt;this.np;i++)   for(j=i+1;j&lt;this.np;j++)    if(graf.g[i][j]==1)	{	 con2dpa.moveTo(part[i].px,part[i].py);     con2dpa.lineTo(part[j].px,part[j].py);	}  con2dpa.stroke();	 //con2dpa.fillRect((part[i].px+part[j].px)/2,(part[i].py+part[j].py)/2,3,3);  con2dpa.fillStyle = '#D45';  for(i=0;i&lt;this.np;i++)   //con2dpa.fillRect(part[i].px-3,part[i].py-3,5,5);  {   //con2dpa.fillStyle = "#FEF";   con2dpa.beginPath();   con2dpa.arc(part[i].px,part[i].py,14,0,Math.PI*2,true);   con2dpa.closePath();   con2dpa.fill();  }    con2dpa.textBaseline = 'middle';  con2dpa.textAlign = 'center';  con2dpa.fillStyle = '#FFF';  for(i=0;i&lt;this.np;i++)   con2dpa.fillText(i+"",part[i].px,part[i].py-2); }//------------------------------------------------------------------------------------------------ this.adv = function() {   var tmp; var tmpx, tmpy, dx, dy;  var i, j, k;  for(i=0;i&lt;this.np;i++)   //if(part[i].fix == 0)    for(j=0;j&lt;this.np;j++)	{     if(graf.g[i][j] == 1)	 {	  dx = part[i].px - part[j].px;	  dy = part[i].py - part[j].py;		  tmp = Math.sqrt(dx*dx + dy*dy);		  tmpx = part[j].px + dist/tmp * dx;	  tmpy = part[j].py + dist/tmp * dy;	       part[i].vx = part[i].vx*0.91 + (tmpx-part[i].px)*0.1;      part[i].vy = part[i].vy*0.91 + (tmpy-part[i].py)*0.1;	  	  part[i].px += part[i].vx;	  part[i].py += part[i].vy;	  //part[i].px = tmpx; //part[i].py = tmpy;     }     else     {      dx = part[i].px - part[j].px;	  dy = part[i].py - part[j].py;		  tmp = Math.sqrt(dx*dx + dy*dy);	  	  if(tmp&lt;distp2 &amp;&amp; tmp&gt;0.001)	  {	   tmpx = part[j].px + disto2/tmp * dx;	   tmpy = part[j].py + disto2/tmp * dy;	        part[i].vx = part[i].vx*0.93 + (tmpx-part[i].px)*0.12+(Math.random()-0.5)*5;       part[i].vy = part[i].vy*0.93 + (tmpy-part[i].py)*0.12+(Math.random()-0.5)*5;	  	   part[i].px += part[i].vx;	   part[i].py += part[i].vy;	  } 	 }	 	 if(part[i].px &lt; 0) part[i].vx = 10; //part[i].px *= -1;	 else if(part[i].px &gt; 400) part[i].vx = -10; //part[i].px = 1000-part[i].px;	 	 if(part[i].py &lt; 0) part[i].vy = 10; //part[i].py *= -1;	 else if(part[i].py &gt; 400) part[i].vy = -10; //part[i].py = 1000-part[i].py;	} }}&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;I've been wanting for a long long time to make this but never got the chance&lt;br /&gt;It is supposed to draw a graph, but fails to settle down sometimes and starts acting like an ameoba&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edge list&lt;/b&gt;&lt;br /&gt;&lt;textarea id="inp_graf" rows="7" cols="10" &gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;input type="button" value="Draw!" onclick="pa_readinput();"&gt;&lt;br /&gt;Write one edge per line&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ex:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;0 1&lt;/b&gt; (edge between nodes 0 and 1)&lt;br /&gt;&lt;b&gt;1 2&lt;/b&gt; (edge between nodes 1 and 2)&lt;br /&gt;&lt;b&gt;2 0&lt;/b&gt; (edge between nodes 2 and 0)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4745824410949770024?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4745824410949770024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/09/graphaddphysics.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4745824410949770024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4745824410949770024'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/09/graphaddphysics.html' title='Graph.addPhysics()'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-8389952698320291422</id><published>2011-09-11T02:33:00.000-07:00</published><updated>2011-09-11T02:42:16.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gather 10 keys to escape'/><title type='text'>Gather 10 keys to escape update</title><content type='html'>&lt;b&gt;Polished and enhanced version of my LD21 entry --&amp;gt;&lt;/b&gt;&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/p/gather-10-keys-to-escape-v11.html"&gt;http://madflame991.blogspot.com/p/gather-10-keys-to-escape-v11.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Changes:&lt;/b&gt;&lt;br /&gt;+ added glasses so you can see into the future&lt;br /&gt;+ added the binary tree of life&lt;br /&gt;+ you can now see your stats&lt;br /&gt;+ tweaked the difficulty&lt;br /&gt;+ your conscience has longer arms&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kGf5Odv5YZ4/TmyCWucmf7I/AAAAAAAAAyQ/0BVg5YOukAs/s1600/ld21_scrshot4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="174" src="http://1.bp.blogspot.com/-kGf5Odv5YZ4/TmyCWucmf7I/AAAAAAAAAyQ/0BVg5YOukAs/s320/ld21_scrshot4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-8389952698320291422?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/8389952698320291422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/09/gather-10-keys-to-escape-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8389952698320291422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8389952698320291422'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/09/gather-10-keys-to-escape-update.html' title='Gather 10 keys to escape update'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-kGf5Odv5YZ4/TmyCWucmf7I/AAAAAAAAAyQ/0BVg5YOukAs/s72-c/ld21_scrshot4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-2033790834120442505</id><published>2011-09-02T03:05:00.000-07:00</published><updated>2011-09-02T03:05:57.444-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wireworld'/><title type='text'>Wiretune World!</title><content type='html'>Wiretune World! - It's a programming-rhythm-wireworld based game at which I've been working on for the past 3 weeks. As of yet it only features 12 levels, but I will add more soon.&lt;br /&gt;&lt;br /&gt;Give it a try!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Jar file --&amp;gt;&lt;/b&gt;&amp;nbsp;&lt;a href="http://gamejolt.com/freeware/games/wiretune-world/download/6030/"&gt;http://gamejolt.com/freeware/games/wiretune-world/download/6030/&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-HI7kIApefNI/TmCoxmp3Z_I/AAAAAAAAAwo/MHvHZQC3g58/s1600/wtw_scrshot2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="307" src="http://4.bp.blogspot.com/-HI7kIApefNI/TmCoxmp3Z_I/AAAAAAAAAwo/MHvHZQC3g58/s400/wtw_scrshot2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-2033790834120442505?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/2033790834120442505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/09/wiretune-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2033790834120442505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2033790834120442505'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/09/wiretune-world.html' title='Wiretune World!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-HI7kIApefNI/TmCoxmp3Z_I/AAAAAAAAAwo/MHvHZQC3g58/s72-c/wtw_scrshot2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5855863255335879546</id><published>2011-08-30T09:00:00.000-07:00</published><updated>2011-08-30T09:00:35.404-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wireworld'/><title type='text'>Unnamed Wireworld based game</title><content type='html'>I'm currently working on levels... Will be launching in a week or so&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HbEeo70uJVw/Tl0I5yOkBSI/AAAAAAAAAwM/Nvgl5U3v8kg/s1600/uww_scrshot1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-HbEeo70uJVw/Tl0I5yOkBSI/AAAAAAAAAwM/Nvgl5U3v8kg/s400/uww_scrshot1.png" width="342" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5855863255335879546?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5855863255335879546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/08/unnamed-wireworld-based-game.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5855863255335879546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5855863255335879546'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/08/unnamed-wireworld-based-game.html' title='Unnamed Wireworld based game'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-HbEeo70uJVw/Tl0I5yOkBSI/AAAAAAAAAwM/Nvgl5U3v8kg/s72-c/uww_scrshot1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6662663248985721001</id><published>2011-08-21T11:11:00.000-07:00</published><updated>2011-08-21T11:11:35.362-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gather 10 keys to escape'/><title type='text'>Gather 10 keys to escape</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XbJ2MCcP5BM/TlFKLj6qevI/AAAAAAAAAwI/rnCGP0ksuH8/s1600/ld21_madflame991_scrshot2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-XbJ2MCcP5BM/TlFKLj6qevI/AAAAAAAAAwI/rnCGP0ksuH8/s320/ld21_madflame991_scrshot2.png" width="274" /&gt;&lt;/a&gt;&lt;/div&gt;Play online --&amp;gt;&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/p/gather-10-keys-to-escape.html"&gt;http://madflame991.blogspot.com/p/gather-10-keys-to-escape.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6662663248985721001?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6662663248985721001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/08/gather-10-keys-to-escape.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6662663248985721001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6662663248985721001'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/08/gather-10-keys-to-escape.html' title='Gather 10 keys to escape'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-XbJ2MCcP5BM/TlFKLj6qevI/AAAAAAAAAwI/rnCGP0ksuH8/s72-c/ld21_madflame991_scrshot2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-8328047501461947357</id><published>2011-08-21T10:44:00.000-07:00</published><updated>2011-08-21T11:12:40.649-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gather 10 keys to escape'/><title type='text'>LD 21: Escape!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ZH698SaDrko/TlFBwiAjE_I/AAAAAAAAAuw/bE3PXoVD5HA/s1600/ld21_madflame991_scrshot3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-ZH698SaDrko/TlFBwiAjE_I/AAAAAAAAAuw/bE3PXoVD5HA/s320/ld21_madflame991_scrshot3.png" width="273" /&gt;&lt;/a&gt;&lt;/div&gt;This is my entry for the LD 21 contest.&lt;br /&gt;An online version will be available on this site soon. Meanwhile you can download it from GameJolt.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Game --&amp;gt;&lt;/b&gt;&amp;nbsp;&lt;a href="http://gamejolt.com/open-source/games/other/gather-10-keys-to-escape/5932/"&gt;http://gamejolt.com/open-source/games/other/gather-10-keys-to-escape/5932/&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Ludum Dare --&amp;gt;&amp;nbsp;&lt;/b&gt;&lt;a href="http://www.ludumdare.com/compo/"&gt;http://www.ludumdare.com/compo/&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Play online --&amp;gt;&amp;nbsp;&lt;/b&gt;&lt;a href="http://madflame991.blogspot.com/p/gather-10-keys-to-escape.html"&gt;http://madflame991.blogspot.com/p/gather-10-keys-to-escape.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-8328047501461947357?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/8328047501461947357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/08/ld-21-escape.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8328047501461947357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8328047501461947357'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/08/ld-21-escape.html' title='LD 21: Escape!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ZH698SaDrko/TlFBwiAjE_I/AAAAAAAAAuw/bE3PXoVD5HA/s72-c/ld21_madflame991_scrshot3.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-3268748503144218991</id><published>2011-08-05T12:43:00.000-07:00</published><updated>2011-08-05T12:51:21.734-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='don&apos;t trust the cat'/><title type='text'>Don't trust the cat and what the future holds</title><content type='html'>&lt;b&gt;Details regarding Don't trust the cat:&lt;/b&gt;&lt;br /&gt;&lt;div&gt;+ it's the first game I make that focuses on content and not on gameplay mechanics&lt;/div&gt;&lt;div&gt;+ its engine was made back in 2009, but I never got a story worth making into a game; I finally came up with some random ideas and asked a friend if she could write a story of some sort... and thus was the game born&lt;/div&gt;&lt;div&gt;+ it's most probably the last game I'll make in AutoIt - I'm now focusing on Java and JavaScript&lt;/div&gt;&lt;div&gt;+ it features music from an artist very dear to me, Gillenium&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Future plans/projects:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;+ I'll be adding some visual mini-demos/experiments to the blog made in JavaScript - probably a fractal or two&lt;/div&gt;&lt;div&gt;+ Pentamino is a game based on the L game by Edward de Bono. It's a very nice game but I haven't found a playable version anywhere&lt;/div&gt;&lt;div&gt;+ "&lt;a href="http://en.wikipedia.org/wiki/Wireworld"&gt;Wireworld&lt;/a&gt; emulator" is morphing into a game - yes, a programming game&lt;br /&gt;+ a Robot Unlock update is coming at some point in the future&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-3268748503144218991?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/3268748503144218991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/08/dont-trust-cat-and-what-future-holds.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3268748503144218991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3268748503144218991'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/08/dont-trust-cat-and-what-future-holds.html' title='Don&apos;t trust the cat and what the future holds'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-1361454727870084711</id><published>2011-07-29T06:31:00.000-07:00</published><updated>2011-07-29T06:31:45.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Update: Tree.dance()</title><content type='html'>&lt;script type="text/javascript"&gt;var con2dtr;var tree;var tree_alive = true;var tree_intervalhandle;initWraptr();//================================================================================================function random(min,max) { return Math.floor(Math.random()*(max-min+1)+min); }//================================================================================================function initWraptr(){ setTimeout('inittr()',300);}//================================================================================================function inittr(){ var canvastr = document.getElementById('canvastr'); con2dtr = canvastr.getContext('2d');  con2dtr.lineWidth = 3.5;  con2dtr.fillStyle = "#000";  tree = new Tree();  tree_intervalhandle = setInterval(tree_theGreatLoop,30);}//================================================================================================function isColor(icolo){ if(!(icolo.length == 4 || icolo.length == 7)) return false; if(icolo.charAt(0) != '#') return false;  var i, ich; for(i=1;i&lt;icolo.length;i++) {  ich = (icolo.charAt(i)).toUpperCase();  if(!(!isNaN(parseInt(ich)) || ich=='A'||ich=='B'||ich=='C'||ich=='D'||ich=='E'||ich=='F')) return false; }  return true;}//================================================================================================function tr_playpause(){ if(tree_alive)  {  clearInterval(tree_intervalhandle);  tree_alive = false;  } else  {  tree_intervalhandle = setInterval(tree_theGreatLoop,30);   tree_alive = true; }}//================================================================================================function tr_readinput(){ var ar = new Array(); var tmp;  tmp = document.getElementById("inp_seq").value; ar = tmp.split(","); tree.height = ar.length-1; for(i=0;i&lt;ar.length;i++)  if(!isNaN(parseInt(ar[i])))    tree.splitn[i] = parseInt(ar[i]);    tmp = document.getElementById("inp_colors").value; ar = tmp.split(","); var i; for(i=0;i&lt;ar.length;i++)  if(isColor(ar[i]))    tree.colo[i] = ar[i];    tmp = document.getElementById("inp_katen").value; if(!isNaN(parseFloat(tmp))) tree.katen = parseFloat(tmp);      tmp = document.getElementById("inp_ksplitmul").value; if(!isNaN(parseFloat(tmp))) tree.ksplit_mul = parseFloat(tmp);  tmp = document.getElementById("inp_ksplitbias").value;  if(!isNaN(parseFloat(tmp))) tree.ksplit_bias = parseFloat(tmp);  tmp = document.getElementById("inp_laten").value; if(!isNaN(parseFloat(tmp))) tree.laten = parseFloat(tmp);    tmp = document.getElementById("inp_lenmul").value; if(!isNaN(parseFloat(tmp))) tree.len_mul = parseFloat(tmp);  tmp = document.getElementById("inp_lenbias").value; if(!isNaN(parseFloat(tmp))) tree.len_bias = parseFloat(tmp);}//================================================================================================function tree_theGreatLoop(){ con2dtr.fillRect(0,0,500,500); tree.draw();}//================================================================================================function Tree(){ this.colo = ['#cf3','#ff1','#fd0','#fb0','#f80','#f50','#f20','#f04','#f08'];  this.px = 250;  this.py = 450; this.splitn = [2,2,3,3,3]; this.height = 5; var kini = 3.14159/2*3, ksplit, kbias, kpinf = 0.25; var len; this.katen = 0.9; this.laten = 0.65; this.ksplit_mul = 0.6; this.ksplit_bias = 0.65; this.len_mul = 70; this.len_bias = 180;  var un = 0;//------------------------------------------------------------------------------------------------ this.draw = function() {  kbias = Math.sin(un)*0.2;  ksplit = Math.sin(un*2+0.1)*this.ksplit_mul+this.ksplit_bias;  len = Math.sin(un*3+0.15)*this.len_mul+this.len_bias;  un += 0.004;    this.drawrec(0,this.px,this.py,len,kini,ksplit,kbias); }//------------------------------------------------------------------------------------------------ this.drawrec = function(iiter,ipx,ipy,ilen,ikini,iksplit,ikbias) {  var lsplitn = this.splitn[iiter];  var lpx, lpy;  var lksplit = iksplit * this.katen;  var k = ikini + (kbias - (lksplit*(lsplitn-1))/2);  var llen = ilen * this.laten;    var i;  for(i=0;i&lt;lsplitn;i++)  {   lpx = ipx + Math.cos(k)*llen;   lpy = ipy + Math.sin(k)*llen;       //con2dtr.lineWidth = 1+1/(iiter+1);   con2dtr.strokeStyle = this.colo[iiter];   con2dtr.beginPath();   con2dtr.moveTo(ipx,ipy);   con2dtr.lineTo(lpx,lpy);   con2dtr.stroke();       if(iiter &lt; this.height)    this.drawrec(iiter+1,lpx,lpy,llen,k + (i-(lsplitn-1)/2)*this.katen*kpinf,lksplit,ikbias*this.katen);      k += lksplit;  } } }&lt;/script&gt;   &lt;div style="position:relative;"&gt; &lt;canvas id="canvastr" width="500" height="500" onclick="tr_playpause();"&gt;  &lt;p&gt;Your browser does not support the canvas element.&lt;/p&gt; &lt;/canvas&gt;&lt;/div&gt;&lt;table border="0"&gt; &lt;tr&gt;  &lt;td&gt;&lt;b&gt;Split sequence&lt;/b&gt;&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input id="inp_seq" value="2,2,3,3,3" type="text" size="10" onchange="tr_readinput();"/&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;b&gt;Colors&lt;/b&gt;&lt;/td&gt; &lt;td colspan="3"&gt;&lt;input id="inp_colors" value="#bf4,#ef1,#fd0,#fb0,#f80,#f50" type="text" size="32" onchange="tr_readinput();"/&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;b&gt;Split angle attenuator&lt;/b&gt; [0.7..1.5]&lt;/td&gt;  &lt;td colspan="3"&gt;&lt;input id="inp_katen" value="0.9" type="text" size="2" onchange="tr_readinput();"/&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;b&gt;Split angle mul&lt;/b&gt; [0.2..0.9] &lt;/td&gt; &lt;td&gt;&lt;input id="inp_ksplitmul"  value="0.6"  type="text" size="2" onchange="tr_readinput();"/&gt;&lt;/td&gt;  &lt;td&gt;&lt;b&gt;Split angle bias&lt;/b&gt; [0.2..0.9]&lt;/td&gt; &lt;td&gt;&lt;input id="inp_ksplitbias" value="0.65" type="text" size="2" onchange="tr_readinput();"/&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;b&gt;Length attenuator&lt;/b&gt; [0.4..1.2]&lt;/td&gt;  &lt;td colspan="3"&gt;&lt;input id="inp_laten" value="0.65" type="text" size="2" onchange="tr_readinput();"/&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&lt;b&gt;Length mul&lt;/b&gt; [0..80]   &lt;/td&gt; &lt;td&gt;&lt;input id="inp_lenmul"  value="70"  type="text" size="2" onchange="tr_readinput();"/&gt;&lt;/td&gt;  &lt;td&gt;&lt;b&gt;Length bias&lt;/b&gt; [90..180]&lt;/td&gt; &lt;td&gt;&lt;input id="inp_lenbias" value="180" type="text" size="2" onchange="tr_readinput();"/&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-1361454727870084711?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/1361454727870084711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/07/update-treedance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1361454727870084711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1361454727870084711'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/07/update-treedance.html' title='Update: Tree.dance()'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-7160149444771049781</id><published>2011-07-24T05:10:00.000-07:00</published><updated>2011-07-24T05:11:07.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><title type='text'>Robot Unlock Wakthrough</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XI-3K9BjojI/TItsmWaNY5I/AAAAAAAAAko/_KA1F9bNOEo/s1600/robotunlock.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-XI-3K9BjojI/TItsmWaNY5I/AAAAAAAAAko/_KA1F9bNOEo/s1600/robotunlock.png" /&gt;&lt;/a&gt;&lt;/div&gt;A week ago JayisGames reviewed Robot Unlock. I was pleased to see that most of the comments were positive. &amp;nbsp;If you got stuck on a particular level you can now consult the walkthrough at the end of the review.&lt;br /&gt;&lt;div&gt;I would &amp;nbsp;like to thank JayisGames for presenting my game to a larger audience, as I'm not usually that good at publishing and promoting my games.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Walkthrough, review, comments:&amp;nbsp;&lt;a href="http://jayisgames.com/archives/2011/07/robot_unlock.php"&gt;http://jayisgames.com/archives/2011/07/robot_unlock.php&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S.&lt;/div&gt;&lt;div&gt;I'm working on another sort-of-programming game. It'll be fun ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-7160149444771049781?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/7160149444771049781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/07/robot-unlock-wakthrough.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7160149444771049781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7160149444771049781'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/07/robot-unlock-wakthrough.html' title='Robot Unlock Wakthrough'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-XI-3K9BjojI/TItsmWaNY5I/AAAAAAAAAko/_KA1F9bNOEo/s72-c/robotunlock.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-8319202314369390631</id><published>2011-07-16T07:30:00.000-07:00</published><updated>2011-07-16T07:30:53.370-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='don&apos;t trust the cat'/><title type='text'>Release: Don't trust the cat</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;Download the game and rate it on GameJolt:&amp;nbsp;&lt;a href="http://gamejolt.com/freeware/games/adventure/don-t-trust-the-cat/5664/"&gt;http://gamejolt.com/freeware/games/adventure/don-t-trust-the-cat/5664/&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Controls: you only need the Arrow Keys, the Spacebar and Esc&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I'll be back with more details.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-hzzLJ_LLpUY/TiGfuPUrEAI/AAAAAAAAAuU/0UvRqyGffY4/s1600/dttc_scrshot1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="384" src="http://2.bp.blogspot.com/-hzzLJ_LLpUY/TiGfuPUrEAI/AAAAAAAAAuU/0UvRqyGffY4/s640/dttc_scrshot1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-8319202314369390631?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/8319202314369390631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/07/release-dont-trust-cat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8319202314369390631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8319202314369390631'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/07/release-dont-trust-cat.html' title='Release: Don&apos;t trust the cat'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-hzzLJ_LLpUY/TiGfuPUrEAI/AAAAAAAAAuU/0UvRqyGffY4/s72-c/dttc_scrshot1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-2539513612476447625</id><published>2011-07-11T00:24:00.000-07:00</published><updated>2011-07-11T00:24:58.458-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='don&apos;t trust the cat'/><title type='text'>Don't trust the cat</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-brmxM0LVan8/ThqktsjdtaI/AAAAAAAAAuQ/2rzjbIsnbqQ/s1600/dttc.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-brmxM0LVan8/ThqktsjdtaI/AAAAAAAAAuQ/2rzjbIsnbqQ/s1600/dttc.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-brmxM0LVan8/ThqktsjdtaI/AAAAAAAAAuQ/2rzjbIsnbqQ/s1600/dttc.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-brmxM0LVan8/ThqktsjdtaI/AAAAAAAAAuQ/2rzjbIsnbqQ/s1600/dttc.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-2539513612476447625?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/2539513612476447625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/07/dont-trust-cat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2539513612476447625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2539513612476447625'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/07/dont-trust-cat.html' title='Don&apos;t trust the cat'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-brmxM0LVan8/ThqktsjdtaI/AAAAAAAAAuQ/2rzjbIsnbqQ/s72-c/dttc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4012429134920258986</id><published>2011-07-07T04:32:00.000-07:00</published><updated>2011-07-29T06:34:02.530-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Tree.dance()</title><content type='html'>See the &lt;u&gt;New&lt;/u&gt; and &lt;u&gt;Improved&lt;/u&gt; version --&amp;gt;&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/2011/07/update-treedance.html"&gt;http://madflame991.blogspot.com/2011/07/update-treedance.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4012429134920258986?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4012429134920258986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/07/treedance.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4012429134920258986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4012429134920258986'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/07/treedance.html' title='Tree.dance()'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-2265438534886211189</id><published>2011-06-21T00:18:00.000-07:00</published><updated>2011-07-07T04:55:52.917-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>3D.engage()</title><content type='html'>&lt;script type="text/javascript"&gt;var con2dwf;var space;var keyleft=false, keyright=false, keyup=false, keydown=false;var spritesheet; spritesheet = new SpriteSheet();//window.onload = initWrapwf;initWrapwf();//================================================================================================function random(min,max) { return Math.floor(Math.random()*(max-min+1)+min); }function replaceChar(s,p,c) { return s.slice(0,p-1)+c+s.slice(p,s.length); }function inTriangle(x, y, x1, y1, x2, y2, x3, y3) { var v1, v2, v3; v1 = (x2-x1)*(y-y1) - (y2-y1)*(x-x1); v2 = (x3-x2)*(y-y2) - (y3-y2)*(x-x2); v3 = (x1-x3)*(y-y3) - (y1-y3)*(x-x3); if((v1&lt;0 &amp;&amp; v2&lt;0 &amp;&amp; v3&lt;0) || (v1&gt;0 &amp;&amp; v2&gt;0 &amp;&amp; v3&gt;0)) return true; return false;}//================================================================================================function onkeydown(evt){ switch (evt.keyCode) {  case 38: keyup = true; break; //sus  case 37: keyleft = true; break; // st  case 40: keydown = true; break; //jos  case 39: keyright = true; break; // dr } if(evt.keyCode&gt;=37 &amp;&amp; evt.keyCode&lt;=40) {  evt.preventDefault();  //space.tryMove(scrolldir); } return false;}//================================================================================================function onkeyup(evt){ switch (evt.keyCode) {  case 38: keyup = false; break; //sus  case 37: keyleft = false; break; // st  case 40: keydown = false; break; //jos  case 39: keyright = false; break; // dr } if(evt.keyCode&gt;=37 &amp;&amp; evt.keyCode&lt;=40) {  evt.preventDefault();  //space.tryMove(scrolldir); } return false;}//================================================================================================function initWrapwf(){ setTimeout('initwf()',300);}//================================================================================================function initwf(){ var canvaswf = document.getElementById('canvaswf'); con2dwf = canvaswf.getContext('2d');  window.addEventListener('keydown',onkeydown,true); window.addEventListener('keyup',onkeyup,true); //spritesheet = new SpriteSheet();  space = new Space(); space.init();     setInterval(theGreatLoop,30);  space.rot(-1); space.adv(-1); space.draw();  con2dwf.fillStyle = '#EEF'; con2dwf.font      = 'bold 16px "Arial"';  con2dwf.fillText('Use arrow keys to move around',129,30);}//================================================================================================function theGreatLoop(){ if(keyup) { space.adv(1);  space.draw(); } else if(keydown) { space.adv(-1); space.draw(); }  if(keyleft) { space.rot(0.071); space.draw(); } else if(keyright) { space.rot(-0.071); space.draw(); }}//================================================================================================function Sprite(){ var colo = new Array(); var dimx, dimy; var data = new Array(); var scale;//------------------------------------------------------------------------------------------------ this.sset = function(idimx,idimy,icolo,idata) {  dimx = idimx;  dimy = idimy;  colo = icolo;  data = idata; }//------------------------------------------------------------------------------------------------ this.scale = function(isc) {  scale = isc; }//------------------------------------------------------------------------------------------------ this.draw = function(px,py) {  var i, j;  for(i=0;i&lt;dimy;i++)   for(j=0;j&lt;dimx;j++)   { con2dwf.fillStyle = colo[data[i*dimx+j]]; con2dwf.fillRect(px+i*scale-(dimx*scale/2)-1,py+j*scale-1,scale+1,scale+1);   } }}//================================================================================================function SpriteSheet(){ this.dimx = [8,8,8,8,8,8]; this.dimy = [8,8,8,8,8,8]; this.data = [[0,0,1,1,1,1,0,0,0,1,4,4,4,4,1,0,1,4,2,4,3,4,4,1,1,4,4,4,4,3,4,1,1,4,4,4,4,3,4,1,1,4,2,4,3,4,4,1,0,1,4,4,4,4,1,0,0,0,1,1,1,1,0,0],              [0,0,0,0,2,0,0,0,0,0,0,2,3,2,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,1,0,0,0,2,1,1,1,1,1,0,2,3,2,0,1,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0],     [0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,2,2,1,1,1,1,1,1,2,2,0,0,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0],     [0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,2,1,1,1,1,0,2,2,2,1,2,2,2,0,2,2,2,1,2,2,2,0,0,2,2,1,1,1,1,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0],     [0,0,0,0,1,1,0,0,0,0,1,1,5,5,5,1,0,1,2,2,1,5,5,1,0,1,1,1,2,5,5,0,0,1,1,1,2,5,5,0,0,1,2,2,1,5,5,1,0,0,1,1,5,5,5,1,0,0,0,0,1,1,0,0],     [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,1,1,2,0,0,4,2,1,1,1,2,0,0,4,2,1,1,1,2,0,0,4,0,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; this.colo = [['rgba(0,0,0,0.0)','rgba(180,220,10,1.0)','rgba(80,120,10,1.0)','rgba(170,170,10,1.0)','rgba(255,237,90,1.0)'],              ['rgba(0,0,0,0.0)','rgba(58,201,50,1.0)','rgba(176,59,92,1.0)','rgba(255,226,53,1.0)'],     ['rgba(0,0,0,0.0)','rgba(20,180,80,1.0)','rgba(100,50,20,1.0)'],     ['rgba(0,0,0,0.0)','rgba(255,249,145,1.0)','rgba(107,39,28,1.0)'],     ['rgba(0,0,0,0.0)','rgba(39,57,122,1.0)','rgba(28,37,48,1.0)','rgba(28,37,30,1.0)','rgba(40,37,30,1.0)','rgba(40,137,30,1.0)'],     ['rgba(0,0,0,0.0)','rgba(31,59,43,0.3)','rgba(31,59,43,0.5)','rgba(71,50,35,0.5)','rgba(71,50,35,1.0)']];}//================================================================================================function Ent(ix,iy,is){ this.x = ix; this.y = iy; var sc = 1; var dim = 100; var sprite = new Sprite(); if(is &gt; -1) rnd = is; else rnd = Math.floor(Math.random()*100)%6; sprite.sset(spritesheet.dimx[rnd],spritesheet.dimy[rnd],spritesheet.colo[rnd],spritesheet.data[rnd]);//------------------------------------------------------------------------------------------------ this.dot = function(icolo) {  con2dwf.fillStyle = icolo;  con2dwf.fillRect(this.x-2,this.y-2,5,5); }//------------------------------------------------------------------------------------------------ this.draw = function(iwop) {  if(sc &gt; 0)  {   sprite.scale(sc*dim/5);   sprite.draw(iwop*600-50,250-dim*sc/2); //500  } }//------------------------------------------------------------------------------------------------ this.scale = function(isc) {  sc = isc; }}//================================================================================================function EntZ(iidnr,idist,iwop){ this.idnr = iidnr; this.dist = idist; this.wop = iwop;}//================================================================================================function Space(){ var ent = new Array(); var cam, point, plan1, plan2; var angle, raza, pas, factor; var entz = new Array();//------------------------------------------------------------------------------------------------  this.init = function() {  angle = 0.011;  raza = 80;  factor = -4.99/(60*1.415);  pas = 10;  cam = new Ent(250,250,0);  point = new Ent(0,0,0); point.x = cam.x; point.y = cam.y - raza;  plan1 = new Ent(0,0,0); plan2 = new Ent(0,0,0);    var i;  for(i=0;i&lt;60;i++)   ent.push(new Ent(random(50,450),random(50,450),-1));     for(i=1;i&lt;19;i++)  {   ent.push(new Ent(10,i*25,2));   ent.push(new Ent(i*25,10,2));   ent.push(new Ent(490,i*25,2));   ent.push(new Ent(i*25,490,2));  } }//------------------------------------------------------------------------------------------------  this.rot = function(ik) {  angle += ik;  point.x = Math.cos(angle) * raza + cam.x;  point.y = Math.sin(angle) * raza + cam.y;    plan1.x = point.x - (point.y-cam.y);  plan1.y = point.y + (point.x-cam.x);    plan2.x = point.x + (point.y-cam.y);  plan2.y = point.y - (point.x-cam.x); }//------------------------------------------------------------------------------------------------  this.adv = function(ipas) {  var tmpx, tmpy, nx, ny;  tmpx = Math.cos(angle) * ipas;  tmpy = Math.sin(angle) * ipas;    nx = cam.x + tmpx;  ny = cam.y + tmpy;  if(nx&gt;30 &amp;&amp; nx&lt;470 &amp;&amp; ny&gt;30 &amp;&amp; ny&lt;470)  {   cam.x += tmpx;   cam.y += tmpy;   point.x += tmpx;   point.y += tmpy;   plan1.x += tmpx;   plan1.y += tmpy;   plan2.x += tmpx;   plan2.y += tmpy;  } }//------------------------------------------------------------------------------------------------  function drawcam() {  cam.dot('#E41');  point.dot('#991');  plan1.dot('#13C');  plan2.dot('#13C'); }//------------------------------------------------------------------------------------------------  function whereOnPlane(x1,y1,x2,y2) {  var plana, planb;  var raya, rayb;  var rezx, rezy;  var ret;  plana = (plan2.y-plan1.y) / (plan2.x-plan1.x);  planb = plan1.y - plana * plan1.x;  raya = (y2-y1) / (x2-x1);  rayb = y1 - raya * x1;    rezx = (planb-rayb) / (raya-plana);  rezy = plana * rezx + planb;  ret = (rezx - plan1.x) / (plan2.x - plan1.x);    return ret; }//------------------------------------------------------------------------------------------------ this.draw = function() {  con2dwf.fillStyle = '#224';  con2dwf.fillRect(0,0,500,250);  con2dwf.fillStyle = '#113';  con2dwf.fillRect(0,250,500,250);    var i, tmp;    entz = [];    for(i=0;i&lt;ent.length;i++)  {    if(inTriangle(ent[i].x,ent[i].y,cam.x,cam.y,plan1.x,plan1.y,plan2.x,plan2.y))   {    tmp = Math.sqrt((ent[i].x-cam.x)*(ent[i].x-cam.x)+(ent[i].y-cam.y)*(ent[i].y-cam.y));    entz.push(new EntZ(i,tmp,whereOnPlane(ent[i].x,ent[i].y,cam.x,cam.y)));   }  }    entz.sort(function(a,b) {return b.dist - a.dist;});    tmp = entz.length;  for(i=0;i&lt;tmp;i++)  {   ent[entz[i].idnr].scale(entz[i].dist*factor+4.5);   ent[entz[i].idnr].draw(entz[i].wop);  } }}&lt;/script&gt;   &lt;div style="position:relative;"&gt; &lt;canvas id="canvaswf" width="500" height="500"&gt;  &lt;p&gt;Your browser does not support the canvas element.&lt;/p&gt;&lt;/canvas&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-2265438534886211189?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/2265438534886211189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/06/3dengage.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2265438534886211189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2265438534886211189'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/06/3dengage.html' title='3D.engage()'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5673249265086508309</id><published>2011-04-02T01:56:00.000-07:00</published><updated>2011-04-03T02:09:05.445-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='whir'/><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><category scheme='http://www.blogger.com/atom/ns#' term='whir2'/><title type='text'>Whir 2 released!!!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0jFCu5xYJpU/TZbj8vUlUmI/AAAAAAAAAtg/pOsBLJinAH8/s1600/whir2icon.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-0jFCu5xYJpU/TZbj8vUlUmI/AAAAAAAAAtg/pOsBLJinAH8/s1600/whir2icon.png" /&gt;&lt;/a&gt;&lt;/div&gt;Whir 2 is ready to frustrate on&amp;nbsp;&lt;a href="http://madflame991.blogspot.com/p/whir-2.html"&gt;http://madflame991.blogspot.com/p/whir-2.html&lt;/a&gt;&lt;br /&gt;Short description: (Whir + Robot Unlock + Om Nom Nombers)&lt;sup&gt;2&lt;/sup&gt; = Whir 2&lt;br /&gt;&lt;br /&gt;Rate the game on &lt;a href="http://gamejolt.com/open-source/games/puzzle/whir-2/4896/"&gt;GameJolt.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5673249265086508309?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5673249265086508309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/04/whir-2-released.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5673249265086508309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5673249265086508309'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/04/whir-2-released.html' title='Whir 2 released!!!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-0jFCu5xYJpU/TZbj8vUlUmI/AAAAAAAAAtg/pOsBLJinAH8/s72-c/whir2icon.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-8614465568437135013</id><published>2011-04-01T02:52:00.000-07:00</published><updated>2011-04-01T02:52:58.147-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='whir'/><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><title type='text'>Whir 2</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-UVaeeDyEVJk/TZWgTJZByXI/AAAAAAAAAtY/fP2jQYNEpNs/s1600/whir2_scrshot1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-UVaeeDyEVJk/TZWgTJZByXI/AAAAAAAAAtY/fP2jQYNEpNs/s400/whir2_scrshot1.png" width="332" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-8614465568437135013?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/8614465568437135013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/04/whir-2.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8614465568437135013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8614465568437135013'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/04/whir-2.html' title='Whir 2'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-UVaeeDyEVJk/TZWgTJZByXI/AAAAAAAAAtY/fP2jQYNEpNs/s72-c/whir2_scrshot1.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-2936497023846568852</id><published>2011-02-23T10:39:00.000-08:00</published><updated>2011-02-23T10:39:35.323-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Text.grow()</title><content type='html'>&lt;canvas id="canvasplant" width="480" height="650"&gt;&lt;br /&gt;&lt;p&gt;Your browser does not support the canvas element.&lt;/p&gt;&lt;/canvas&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;var canvasplant = null;var con2plant = null;var plant, plant2;initplant();//--------------------------------------------------------------------------function random(min,max) { return Math.floor(Math.random()*(max-min+1)+min);}//--------------------------------------------------------------------------function initplant(){ canvasplant = document.getElementById('canvasplant'); canvasplant.addEventListener('click', onclplant, false); con2dplant = canvasplant.getContext('2d'); con2dplant.shadowBlur = 10;  con2dplant.fillStyle = '#000'; con2dplant.fillRect(0,0,canvasplant.width,canvasplant.height);  plant = new Plant(8,70,2,1.5707,-0.1,17,'#fff','#55f'); plant2 = new Plant(8,70,650,-1.5707,0.1,17,'#f51','#f82');  setInterval(loopplant,40);}//--------------------------------------------------------------------------function onclplant(){ con2dplant.fillStyle = '#000'; con2dplant.fillRect(0,0,canvasplant.width,canvasplant.height); plant = new Plant(8,70,2,1.5707,-0.1,17,'#fff','#55f'); plant2 = new Plant(8,70,650,-1.5707,0.1,17,'#f51','#f82');}//--------------------------------------------------------------------------function Plant(inmx,ipx,ipy,ipk,ipka,ipd,ipcp,ipcf){ var nmx = inmx; var px = new Array(); var py = new Array(); var ox = new Array(); var oy = new Array(); var pd = new Array(); var pp = new Array(); var pk = new Array(); var pkc = new Array(); var pka = new Array(); var pkl = new Array(); var pklmx = new Array(); var active = new Array(); var fepia = 1;  px.push(ipx); py.push(ipy); //ox.push(ipx); oy.push(ipy); pp.push(ipd-ipd/4); pd.push(ipd); pkc.push(ipk); pk.push(ipk); pka.push(ipka); pkl.push(0); pklmx.push(ipd); active.push(1); for(var i=1;i&lt;nmx;i++) active.push(0);//-------------------------------------------------------------------------- function fepiaSearch() {  var i;  for(i=0;i&lt;nmx;i++)  if(active[i]==0) { fepia = i; return true; }  return false; }//-------------------------------------------------------------------------- function flower(idnr) {  var fx, fy;  fx = px[idnr] + (oy[idnr]-py[idnr]) * 2;  fy = py[idnr] + (ox[idnr]-px[idnr]) * 2;    var tmpts = con2dplant.font;  con2dplant.font = 'normal 12px Arial';  con2dplant.fillStyle = ipcf;  con2dplant.shadowColor = ipcf;  con2dplant.fillText('o',fx,fy);  con2dplant.fillText('m',fx-7,fy-3);  con2dplant.fillText('p',fx+3,fy-7);  con2dplant.fillText('w',fx+7,fy+3);  con2dplant.fillText('d',fx-3,fy+7);  con2dplant.font = tmpts; }//-------------------------------------------------------------------------- function plot(idnr) {  con2dplant.fillStyle = ipcp;  con2dplant.shadowColor = ipcp;  con2dplant.font = 'normal '+(pd[idnr]+random(-2,2))+'px "Arial"';  con2dplant.fillText(String.fromCharCode(random(97,122)),px[idnr],py[idnr]); }//-------------------------------------------------------------------------- function starSpawn(idnr) {  var tmp = false;  if(fepia&gt;-1) tmp = true;  else tmp = fepiaSearch();  if(tmp)  {   px[fepia] = px[idnr]; py[fepia] = py[idnr];   pk[fepia] = pk[idnr];       if(pka[idnr]==0) { pka[fepia] = random(3,5)/-30; if(Math.random()&gt;0.5) pka[fepia] = -pka[fepia]; }   else pka[fepia] = -pka[idnr];     pkc[fepia] = 0;     pd[fepia] = pd[idnr]-2;   pp[fepia] = pd[fepia] - pd[fepia]/4;    pkl[fepia] = 0;   pklmx[fepia] = pd[fepia]*2;      active[fepia] = 1;   fepia = -1;  } }//-------------------------------------------------------------------------- function starKill(idnr) {  fepia = idnr;  active[idnr] = 0; }//-------------------------------------------------------------------------- function advance(idnr) {  ox[idnr] = px[idnr]; oy[idnr] = py[idnr];  px[idnr] += pp[idnr] * Math.cos(pk[idnr]);  py[idnr] += pp[idnr] * Math.sin(pk[idnr]);    plot(idnr);    pk[idnr] += pka[idnr];  pkc[idnr] ++;  pkl[idnr] ++;    if(pkl[idnr] &gt; pklmx[idnr])    starKill(idnr);  else  {   if(pkc[idnr] &gt; 8 || (pkc[idnr] &gt; 4 &amp;&amp; Math.random() &gt; 0.5))   {    if((px[idnr] &lt; 0) || (px[idnr] &gt; 480) || (py[idnr] &lt; 0) || (py[idnr] &gt; 650))     starKill(idnr);    else    {     pkc[idnr] = 0;       if(pka[idnr] &gt; 0)     { if(pka[idnr] &lt;= 0.1) pka[idnr] = random(3,4)/-30; else pka[idnr] = random(0,4)/-30; }     else      { if(pka[idnr] &gt;= -0.1) pka[idnr] = random(3,4)/30; else pka[idnr] = random(0,4)/30; }     //if((Math.random() &lt; 0.4) &amp;&amp; (px[idnr] &gt; limxs &amp;&amp; px[idnr] &lt; limxe)) pka[idnr] = -pka[idnr];     if(Math.random() &lt; 0.4) pka[idnr] = -pka[idnr];        if(pd[idnr] &gt; 4)     {      if(Math.random() &gt; 0.2) starSpawn(idnr);      else if(Math.random() &gt; 0.2) flower(idnr);     }     else     { /*terminatie(idnr);*/ starKill(idnr); }    }   }  } }//-------------------------------------------------------------------------- this.advanceAll = function() {  var i;  for(i=0;i&lt;nmx;i++)  if(active[i]==1)   advance(i); }}//--------------------------------------------------------------------------function loopplant(){ plant.advanceAll(); plant2.advanceAll();}&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-2936497023846568852?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/2936497023846568852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/02/textgrow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2936497023846568852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2936497023846568852'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/02/textgrow.html' title='Text.grow()'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5225468807270583953</id><published>2011-02-22T22:59:00.000-08:00</published><updated>2011-02-23T04:58:34.321-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>The new cube</title><content type='html'>&lt;canvas id="canvascub2" width="400" height="400"&gt;&lt;br /&gt;&lt;p&gt;Your browser does not support the canvas element.&lt;/p&gt;&lt;/canvas&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;  var fete = [[0,1,2,3],[1,2,6,5],[3,2,6,7],[4,5,6,7],[0,3,7,4],[0,1,5,4]];var colo = ["#733d4b","#485152","#634f47","#997c20","#94827a","#537173"];var canvascub2 = null;var con2dcub2 = null;var cub = new Shape();var tet = new Shape();var oct = new Shape();var pri = new Shape();var sini = 0, sinia = 0.01;//window.onload = initcub2;initcub2();//--------------------------------------------------------------------------function Pct(ix,iy,iz){ this.x = ix; this.y = iy; this.z = iz;  this.pos = function(ix,iy,iz) {  this.x = ix;  this.y = iy;  this.z = iz; }  this.translate = function(iax,iay,iaz) {  this.x += iax;  this.y += iay;  this.z += iaz; }  this.rotZ = function(xc,yc,a) {  var dx, dy;  dx = this.x - xc;  dy = this.y - yc;  this.x = xc + dx * Math.cos(a) - dy * Math.sin(a);  this.y = yc + dx * Math.sin(a) + dy * Math.cos(a); } this.rotY = function(xc,zc,b) {  var dx, dz;  dx = this.x - xc;  dz = this.z - zc;  this.x = xc + dx * Math.cos(b) - dz * Math.sin(b);  this.z = zc + dx * Math.sin(b) + dz * Math.cos(b); }  this.rotX = function(zc,yc,c) {  var dz, dy;  dz = this.z - zc;  dy = this.y - yc;  this.z = zc + dz * Math.cos(c) - dy * Math.sin(c);  this.y = yc + dz * Math.sin(c) + dy * Math.cos(c); }}//--------------------------------------------------------------------------function Shape(){ this.ox = 200; this.oy = 200; this.oz = 200; this.np = 0; this.ap = new Array(); this.nl = 0; this.als = new Array(); this.ale = new Array();  this.set = function(iap,ials,iale) {  this.np = iap.length;  for(i=0;i&lt;this.np;i++)   this.ap.push(iap[i]);  this.nl = ials.length;  this.als = ials;  this.ale = iale; }  this.translate = function(iax,iay,iaz) {  this.ox += iax;  this.oy += iay;  this.oz += iaz;  /*var i;  for(i=0;i&lt;np;i++)   ap[i].translate(iax,iay,iaz);*/ }  this.scale = function(isx,isy,isz) {  var i;  for(i=0;i&lt;this.np;i++)  {   this.ap[i].x *= isx;   this.ap[i].y *= isy;   this.ap[i].z *= isz;  } }  this.rotZ = function(xc,yc,a) {  var i;  for(i=0;i&lt;this.np;i++)   this.ap[i].rotZ(xc,yc,a); }  this.rotY = function(xc,zc,b) {  var i;  for(i=0;i&lt;this.np;i++)   this.ap[i].rotY(xc,zc,b); }  this.rotX = function(zc,yc,c) {  var i;  for(i=0;i&lt;this.np;i++)   this.ap[i].rotX(zc,yc,c); }  this.wireframe = function() {  var i;  con2dcub2.beginPath();  for(i=0;i&lt;this.nl;i++)  {   con2dcub2.moveTo(this.ap[this.als[i]].x + this.ox,this.ap[this.als[i]].y + this.oy);   con2dcub2.lineTo(this.ap[this.ale[i]].x + this.ox,this.ap[this.ale[i]].y + this.oy);  }  con2dcub2.stroke(); }}//--------------------------------------------------------------------------function initcub2(){ canvascub2 = document.getElementById('canvascub2'); con2dcub2 = canvascub2.getContext('2d'); setInterval(drawcub2, 30);  con2dcub2.strokeStyle = "#fff"; con2dcub2.fillStyle = "#444"; con2dcub2.lineWidth = 2;  initshapes();}//--------------------------------------------------------------------------function initshapes(){ var i; var pctx1 = [-10,10,10,-10,-10,10,10,-10], pcty1 = [-10,-10,10,10,-10,-10,10,10], pctz1 = [10,10,10,10,-10,-10,-10,-10]; var lins1 = [0,0,0,1,1,2,2,3,4,4,5,6], line1 = [1,3,4,5,2,6,3,7,5,7,6,7]; var tmppct1 = new Array(); for(i=0;i&lt;pctx1.length;i++) tmppct1.push(new Pct(pctx1[i],pcty1[i],pctz1[i])); cub.set(tmppct1,lins1,line1); cub.scale(9,9,9);  var pctx2 = [10,-10,-10,10], pcty2 = [10,-10,10,-10], pctz2 = [10,10,-10,-10]; var lins2 = [0,0,0,1,1,2], line2 = [1,2,3,2,3,3]; var tmppct2 = new Array(); for(i=0;i&lt;pctx2.length;i++) tmppct2.push(new Pct(pctx2[i],pcty2[i],pctz2[i])); tet.set(tmppct2,lins2,line2); tet.scale(3.6,3.6,3.6);  var pctx3 = [-10,0,0,0,0,10], pcty3 = [0,-10,0,10,1,0], pctz3 = [0,0,-10,0,10,0]; var lins3 = [0,0,0,0,1,2,3,4,1,2,3,4], line3 = [1,2,3,4,2,3,4,1,5,5,5,5]; var tmppct3 = new Array(); for(i=0;i&lt;pctx3.length;i++) tmppct3.push(new Pct(pctx3[i],pcty3[i],pctz3[i])); oct.set(tmppct3,lins3,line3); oct.scale(5.5,5.5,5.5);  var pctx4 = [0.5,-0.5,0,0.5,-0.5,0], pcty4 = [0.28867,0.28867,-0.57735,0.28867,0.28867,-0.57735], pctz4 = [0.5,0.5,0.5,-0.5,-0.5,-0.5]; var lins4 = [0,1,2,0,1,2,3,4,5], line4 = [1,2,0,3,4,5,4,5,3]; var tmppct4 = new Array(); for(i=0;i&lt;pctx4.length;i++) tmppct4.push(new Pct(pctx4[i],pcty4[i],pctz4[i])); pri.set(tmppct4,lins4,line4); pri.scale(90,90,80);}//--------------------------------------------------------------------------function drawfata(idnr){ var m1, m2, idnr2; idnr2 = (idnr+3) % 6; m1 = cub.ap[fete[idnr][0]].z + cub.ap[fete[idnr][1]].z + cub.ap[fete[idnr][2]].z + cub.ap[fete[idnr][3]].z; m2 = cub.ap[fete[idnr2][0]].z + cub.ap[fete[idnr2][1]].z + cub.ap[fete[idnr2][2]].z + cub.ap[fete[idnr2][3]].z; if(m1 &gt; m2) { con2dcub2.beginPath(); con2dcub2.moveTo(cub.ap[fete[idnr][0]].x + cub.ox,cub.ap[fete[idnr][0]].y + cub.oy); con2dcub2.lineTo(cub.ap[fete[idnr][1]].x + cub.ox,cub.ap[fete[idnr][1]].y + cub.oy); con2dcub2.moveTo(cub.ap[fete[idnr][1]].x + cub.ox,cub.ap[fete[idnr][1]].y + cub.oy); con2dcub2.lineTo(cub.ap[fete[idnr][2]].x + cub.ox,cub.ap[fete[idnr][2]].y + cub.oy); con2dcub2.moveTo(cub.ap[fete[idnr][2]].x + cub.ox,cub.ap[fete[idnr][2]].y + cub.oy); con2dcub2.lineTo(cub.ap[fete[idnr][3]].x + cub.ox,cub.ap[fete[idnr][3]].y + cub.oy); con2dcub2.moveTo(cub.ap[fete[idnr][3]].x + cub.ox,cub.ap[fete[idnr][3]].y + cub.oy); con2dcub2.lineTo(cub.ap[fete[idnr][0]].x + cub.ox,cub.ap[fete[idnr][0]].y + cub.oy); con2dcub2.stroke();   con2dcub2.fillStyle = colo[idnr]; con2dcub2.beginPath(); con2dcub2.moveTo(cub.ap[fete[idnr][0]].x + cub.ox,cub.ap[fete[idnr][0]].y + cub.oy); con2dcub2.lineTo(cub.ap[fete[idnr][1]].x + cub.ox,cub.ap[fete[idnr][1]].y + cub.oy); con2dcub2.lineTo(cub.ap[fete[idnr][2]].x + cub.ox,cub.ap[fete[idnr][2]].y + cub.oy); con2dcub2.lineTo(cub.ap[fete[idnr][3]].x + cub.ox,cub.ap[fete[idnr][3]].y + cub.oy); con2dcub2.fill(); con2dcub2.save(); con2dcub2.clip();   switch(idnr) {  case 0: oct.wireframe(); oct.rotX(0,0,0.0061); oct.rotY(0,0,0.0047); break;  case 1: tet.wireframe(); tet.rotX(0,0,0.0061); tet.rotY(0,0,0.0047); break;  case 2: pri.wireframe(); pri.rotX(0,0,0.0061); pri.rotY(0,0,0.0047); break;  case 3: oct.wireframe(); oct.rotX(0,0,0.0061); oct.rotY(0,0,0.0047); break;  case 4: tet.wireframe(); tet.rotX(0,0,0.0061); tet.rotY(0,0,0.0047); break;  case 5: pri.wireframe(); pri.rotX(0,0,0.0061); pri.rotY(0,0,0.0047); break; }   con2dcub2.restore(); }}//------------------------------------------------------------------------------function cubdrawfete(){ var i; for(i=0;i&lt;6;i++)  drawfata(i);} //------------------------------------------------------------------------------function drawcub2(){ con2dcub2.clearRect(0, 0, 400, 400); cubdrawfete(); cub.rotX(0,0,0.0082*Math.sin(sini)); cub.rotY(0,0,0.0031);  cub.rotZ(0,0,0.0023);  sini += sinia; if(sini&gt;1.57) sinia = -0.01; else if(sini&lt;-1.57) sinia = 0.01;}  &lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5225468807270583953?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5225468807270583953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/02/new-cube.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5225468807270583953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5225468807270583953'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/02/new-cube.html' title='The new cube'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4423678725077916032</id><published>2011-02-07T06:08:00.000-08:00</published><updated>2011-02-07T06:08:14.245-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='coin'/><title type='text'>Coin: Update</title><content type='html'>Grab the latest version of Coin from &lt;a href="https://sourceforge.net/projects/commandinterpre/"&gt;Sourceforge&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Changes:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;+ some functions have been replaced with operators (makes sense): you now write "var = 10" instead of "move var 10", "i++" instead of "inc i", "sum += num" instead of "add sum num" and "rem = num % 10" instead of "mod rem num 10". Note that you cannot write complex expressions.&lt;/div&gt;&lt;div&gt;+ added keyboard shortcuts to the IDE: F1 - Help, F5 - Run, Ctrl+O - Open script and so on...&lt;/div&gt;&lt;div&gt;+ added two new functions: fwritebs and fwritenl (File Write Blank Space and File Write New Line)&lt;/div&gt;&lt;div&gt;+ fixed some bugs, ironed out the code a bit and corrected typos in the help file&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4423678725077916032?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4423678725077916032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/02/coin-update.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4423678725077916032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4423678725077916032'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/02/coin-update.html' title='Coin: Update'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6309272583366585597</id><published>2011-02-06T05:39:00.000-08:00</published><updated>2011-10-22T10:25:21.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>Bezier curves</title><content type='html'>See the newer and updated version here --&gt; &lt;a href="http://madflame991.blogspot.com/p/bezier-curves.html"&gt;http://madflame991.blogspot.com/p/bezier-curves.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="position:relative;"&gt;&lt;canvas id="canvasbezier" width="400" height="400"&gt;&lt;br /&gt;&lt;p&gt;Your browser does not support the canvas element.&lt;/p&gt;&lt;/canvas&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Bezier 0.6&lt;br /&gt;&lt;br /&gt;+ click on an empty zone to spawn a point&lt;br /&gt;+ click on a point to select it and click again to designate its new location&lt;br /&gt;+ doubleclick on a point to delete it&lt;br /&gt;&lt;br /&gt;For more information on Bezier curves check:&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve"&gt;http://en.wikipedia.org/wiki/B%C3%A9zier_curve&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html"&gt;http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-elev.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;var canvasbezier = null;var con2dbezier = null;var px=new Array(30), py=new Array(30);var pcttx=new Array(30), pctty=new Array(30);var pltx=new Array(100), plty=new Array(100);var clickx, clicky;var pn=0;var selstate=0, selpidnr=0;var rez=60, pas=0;var animactive=0;var colorcode = ["#6b2","#d49","#38d","#e52","#3b9","#ef2","#88a","#7e7","#88e","#919","#2ab","#b4d","#c5f","#d21","#e49","#12f"];init();//--------------------------------------------------------------------------function init(){ canvasbezier = document.getElementById("canvasbezier"); con2dbezier = canvasbezier.getContext("2d"); canvasbezier.addEventListener("mousedown", oncl, false); setInterval(bezierstep,30);   con2dbezier.lineWidth=2; con2dbezier.strokeStyle = "#000";  for(i=0;i&lt;30;i++) { px[i]=0; py[i]=0; } frame();}//--------------------------------------------------------------------------function clickgetcoord(ev){ if (ev.layerX || ev.layerX == 0) { // Firefox  clickx = ev.layerX;  clicky = ev.layerY; } else if (ev.offsetX || ev.offsetX == 0) { // Opera  clickx = ev.offsetX;  clicky = ev.offsetY; }}//--------------------------------------------------------------------------function pctdel(idnr){ for(i=idnr;i&lt;pn;i++)  { px[i]=px[i+1]; py[i]=py[i+1]; } pn--; }//--------------------------------------------------------------------------function pct(ix,iy,c){ con2dbezier.fillRect(ix-c,iy-c,c*2+1,c*2+1);}//--------------------------------------------------------------------------function oncl(e){ if(animactive==0){ clickgetcoord(e); if(clicky&lt;398&amp;&amp;clicky&gt;370)  {   if(clickx&gt;=2&amp;&amp;clickx&lt;=28) { if(pn&gt;2) { animactive=1; pas=0; } }   else if(clickx&gt;=32&amp;&amp;clickx&lt;=58) { degree_elevate(); bezier(); }   else if(clickx&gt;80&amp;&amp;clickx&lt;354) { pas = (clickx-80)*rez/274; bezierpart(pas); }   else if(clickx&gt;=372&amp;&amp;clickx&lt;=398) { pn=0; frame(); }  } else   if(selstate==0) {  h=hotspotget(clickx,clicky);     if(h==-1)      {       px[pn]=clickx; py[pn]=clicky;       pn++;       bezier(rez);      }  else      {      selstate=1;    selpidnr=h;    pct(px[selpidnr],py[selpidnr],4);   }  }   else    {  selstate=0;  h=hotspotget(clickx,clicky);  if(h==selpidnr)   {     if(pn&gt;1) { pctdel(selpidnr); bezier(rez); }   }   else   {    px[selpidnr]=clickx; py[selpidnr]=clicky;    bezier(rez);   } } } return false;}//--------------------------------------------------------------------------function hotspotget(ix,iy){ for(i=0;i&lt;pn;i++)  if(px[i]&lt;=ix+3 &amp;&amp; px[i]&gt;=ix-3)    if(py[i]&lt;=iy+3 &amp;&amp; py[i]&gt;=iy-3)     return i; return -1;}//--------------------------------------------------------------------------function frame(){ con2dbezier.strokeStyle = "#000"; con2dbezier.clearRect(0,0,400,370);  con2dbezier.strokeRect(1,1,398,398); con2dbezier.fillStyle = "#6be"; con2dbezier.fillRect(2,370,28,28); con2dbezier.strokeRect(2,370,28,28); con2dbezier.fillRect(32,370,28,28); con2dbezier.strokeRect(32,370,28,28); con2dbezier.fillRect(370,370,28,28); con2dbezier.strokeRect(370,370,28,28); con2dbezier.fillStyle = "#000";  con2dbezier.beginPath(); con2dbezier.moveTo(8,376); con2dbezier.lineTo(25,384); con2dbezier.moveTo(25,384); con2dbezier.lineTo(8,392); con2dbezier.moveTo(8,392); con2dbezier.lineTo(8,376); con2dbezier.stroke();  con2dbezier.beginPath(); con2dbezier.moveTo(46,376); con2dbezier.lineTo(46,392); con2dbezier.moveTo(42,384); con2dbezier.lineTo(46,376); con2dbezier.moveTo(50,384); con2dbezier.lineTo(46,376);  con2dbezier.stroke();  con2dbezier.beginPath();  con2dbezier.moveTo(376,376); con2dbezier.lineTo(392,392); con2dbezier.moveTo(376,392); con2dbezier.lineTo(392,376); con2dbezier.stroke();   con2dbezier.beginPath(); con2dbezier.moveTo(80,384); con2dbezier.lineTo(354,384); con2dbezier.stroke(); con2dbezier.beginPath(); con2dbezier.moveTo(80,380); con2dbezier.lineTo(80,388); con2dbezier.stroke(); //con2dbezier.beginPath(); con2dbezier.moveTo(150+64,380); con2dbezier.lineTo(150+64,388); con2dbezier.stroke(); con2dbezier.beginPath(); con2dbezier.moveTo(354,380); con2dbezier.lineTo(354,388); con2dbezier.stroke();}//--------------------------------------------------------------------------function degree_elevate(){ var i, tmp; px[pn]=px[pn-1]; py[pn]=py[pn-1]; for(i=pn-1;i&gt;0;i--)  {   tmp = i/pn;   px[i] = (tmp * px[i-1]) + ((1-tmp) * px[i]);   py[i] = (tmp * py[i-1]) + ((1-tmp) * py[i]);  } pn++; bezier();}//--------------------------------------------------------------------------function bezier(){ var i, j, pasl; //for(i=0;i&lt;pn;i++) { pcttx[i]=px[i]; pctty[i]=py[i]; }  frame();   pct(px[0],py[0],2);  con2dbezier.strokeStyle = "#aaa"; con2dbezier.beginPath(); for(i=1;i&lt;pn;i++) { con2dbezier.moveTo(px[i-1],py[i-1]); con2dbezier.lineTo(px[i],py[i]); pct(px[i],py[i],2); } con2dbezier.stroke();  for(pasl=0;pasl&lt;rez;pasl++)  {   for(i=0;i&lt;pn;i++) { pcttx[i]=px[i]; pctty[i]=py[i]; }   pnt=pn;   for(j=0;j&lt;pn;j++)    {  for(i=0;i&lt;pnt-1;i++)   {    pcttx[i]=pcttx[i] + ((pcttx[i+1]-pcttx[i])*pasl)/rez;    pctty[i]=pctty[i] + ((pctty[i+1]-pctty[i])*pasl)/rez;   }  pnt--;  }   pltx[pasl]=pcttx[0]; plty[pasl]=pctty[0];  }    con2dbezier.strokeStyle = "#000";  con2dbezier.beginPath();  for(i=1;i&lt;rez;i++) { con2dbezier.moveTo(pltx[i-1],plty[i-1]); con2dbezier.lineTo(pltx[i],plty[i]); }  con2dbezier.moveTo(pltx[rez-1],plty[rez-1]); con2dbezier.lineTo(px[pn-1],py[pn-1]);  con2dbezier.stroke();}//--------------------------------------------------------------------------function bezierpart(irez){ //for(i=0;i&lt;pn;i++) { pcttx[i]=px[i]; pctty[i]=py[i]; }  frame();   pct(px[0],py[0],2);  con2dbezier.strokeStyle = "#aaa"; con2dbezier.beginPath(); for(i=1;i&lt;pn;i++) { con2dbezier.moveTo(px[i-1],py[i-1]); con2dbezier.lineTo(px[i],py[i]); pct(px[i],py[i],2); } con2dbezier.stroke();  for(pasl=0;pasl&lt;irez-1;pasl++)  {   for(i=0;i&lt;pn;i++) { pcttx[i]=px[i]; pctty[i]=py[i]; }   pnt=pn;   for(j=0;j&lt;pn;j++)    {  for(i=0;i&lt;pnt-1;i++)   {    pcttx[i]=pcttx[i] + ((pcttx[i+1]-pcttx[i])*pasl)/rez;    pctty[i]=pctty[i] + ((pctty[i+1]-pctty[i])*pasl)/rez;   }  pnt--;  }   pltx[pasl]=pcttx[0]; plty[pasl]=pctty[0];  }    pasl++;  for(i=0;i&lt;pn;i++) { pcttx[i]=px[i]; pctty[i]=py[i]; }  pnt=pn;  for(j=0;j&lt;pn;j++)   { for(i=0;i&lt;pnt-1;i++)  {   pcttx[i]=pcttx[i] + ((pcttx[i+1]-pcttx[i])*pasl)/rez;   pctty[i]=pctty[i] + ((pctty[i+1]-pctty[i])*pasl)/rez;  }     con2dbezier.strokeStyle = colorcode[j];  pct(pcttx[0],pctty[0],1);  pltx[pasl]=pcttx[0]; plty[pasl]=pctty[0];  con2dbezier.beginPath();    for(i=1;i&lt;pnt-1;i++)   {   con2dbezier.moveTo(pcttx[i-1],pctty[i-1]); con2dbezier.lineTo(pcttx[i],pctty[i]); pct(pcttx[i],pctty[i],1);   }  con2dbezier.stroke();    pnt--;    }    con2dbezier.strokeStyle = "#000";  con2dbezier.beginPath();  for(i=1;i&lt;irez;i++) { con2dbezier.moveTo(pltx[i-1],plty[i-1]); con2dbezier.lineTo(pltx[i],plty[i]); }  con2dbezier.moveTo(pltx[irez-1],plty[irez-1]); con2dbezier.lineTo(pcttx[0],pctty[0]);  con2dbezier.stroke();}//--------------------------------------------------------------------------function bezierstep(){ if(animactive==1)  {   for(i=0;i&lt;pn;i++) { pcttx[i]=px[i]; pctty[i]=py[i]; }      frame();      pct(px[0],py[0],2);      con2dbezier.strokeStyle = "#aaa";   con2dbezier.beginPath();   for(i=1;i&lt;pn;i++) { con2dbezier.moveTo(px[i-1],py[i-1]); con2dbezier.lineTo(px[i],py[i]); pct(px[i],py[i],2); }   con2dbezier.stroke();       pnt=pn;   for(j=0;j&lt;pn;j++)    {  for(i=0;i&lt;pnt-1;i++)   {    pcttx[i]=pcttx[i] + ((pcttx[i+1]-pcttx[i])*pas)/rez;    pctty[i]=pctty[i] + ((pctty[i+1]-pctty[i])*pas)/rez;   }  con2dbezier.strokeStyle = colorcode[j];  pct(pcttx[0],pctty[0],1);  pltx[pas]=pcttx[0]; plty[pas]=pctty[0];  con2dbezier.beginPath();    for(i=1;i&lt;pnt-1;i++)   {      con2dbezier.moveTo(pcttx[i-1],pctty[i-1]);    con2dbezier.lineTo(pcttx[i],pctty[i]);    pct(pcttx[i],pctty[i],1);   }  con2dbezier.stroke();  pnt--;  }      con2dbezier.strokeStyle = "#000";   con2dbezier.beginPath();   for(i=0;i&lt;pas;i++)    { con2dbezier.moveTo(pltx[i],plty[i]); con2dbezier.lineTo(pltx[i+1],plty[i+1]); }   con2dbezier.stroke();   if(pas&lt;rez) pas++; else { animactive=0; bezier(rez); }  }}&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6309272583366585597?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6309272583366585597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/02/bezier-curves.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6309272583366585597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6309272583366585597'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/02/bezier-curves.html' title='Bezier curves'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5761293605007376617</id><published>2011-02-05T13:53:00.000-08:00</published><updated>2011-02-06T06:38:58.719-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rubikon'/><title type='text'>Rubikon: early playable version</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_xL5s3AOScGs/TU3F0rMXNkI/AAAAAAAAAsc/7N07NCjd8dk/s1600/rubikon_scrshot2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_xL5s3AOScGs/TU3F0rMXNkI/AAAAAAAAAsc/7N07NCjd8dk/s320/rubikon_scrshot2.png" width="271" /&gt;&lt;/a&gt;&lt;/div&gt;An early playable version of Rubikon has just been uploaded to GameJolt&amp;nbsp;&lt;a href="http://gamejolt.com/open-source/games/rpg/rubikon/4483/"&gt;http://gamejolt.com/open-source/games/rpg/rubikon/4483/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update: You can play it online here:&lt;/b&gt; &lt;a href="http://madflame991.blogspot.com/p/test-page_05.html"&gt;http://madflame991.blogspot.com/p/test-page_05.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Keep in mind that this is not the final version. The final version will look better and have an appropriate difficulty curve.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5761293605007376617?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5761293605007376617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/02/rubikon-early-playable-version.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5761293605007376617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5761293605007376617'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/02/rubikon-early-playable-version.html' title='Rubikon: early playable version'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xL5s3AOScGs/TU3F0rMXNkI/AAAAAAAAAsc/7N07NCjd8dk/s72-c/rubikon_scrshot2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-7944032674458150656</id><published>2011-02-03T23:50:00.000-08:00</published><updated>2011-02-03T23:50:11.983-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rubikon'/><title type='text'>Rubikon</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_xL5s3AOScGs/TUuvesvM9cI/AAAAAAAAAlI/yk_hF9Lv__c/s1600/sprite10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_xL5s3AOScGs/TUuvesvM9cI/AAAAAAAAAlI/yk_hF9Lv__c/s1600/sprite10.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-7944032674458150656?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/7944032674458150656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2011/02/rubikon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7944032674458150656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7944032674458150656'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2011/02/rubikon.html' title='Rubikon'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xL5s3AOScGs/TUuvesvM9cI/AAAAAAAAAlI/yk_hF9Lv__c/s72-c/sprite10.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4883288839513616766</id><published>2010-11-02T01:13:00.000-07:00</published><updated>2010-11-02T01:13:10.433-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Universal Screenmate demo on Youtube</title><content type='html'>&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TXdFPhwE_d0?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/TXdFPhwE_d0?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4883288839513616766?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4883288839513616766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/11/universal-screenmate-demo-on-youtube.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4883288839513616766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4883288839513616766'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/11/universal-screenmate-demo-on-youtube.html' title='Universal Screenmate demo on Youtube'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5132186371613463078</id><published>2010-10-10T07:07:00.000-07:00</published><updated>2011-02-06T06:31:37.807-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>The Cube!</title><content type='html'>That spinning cube in the sidebar was made in only 3 hours by a total beginner in JavaScript/HTML5. I made it just to see how powerful the canvas element is and it surely convinced me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5132186371613463078?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5132186371613463078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/10/cube.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5132186371613463078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5132186371613463078'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/10/cube.html' title='The Cube!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4536056797911425062</id><published>2010-10-02T06:31:00.000-07:00</published><updated>2010-10-02T06:33:20.475-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Unplanned update for Universal Screenmate</title><content type='html'>&lt;b&gt;What's new: &lt;/b&gt;&lt;br /&gt;+ tweaked the code here and there&lt;br /&gt;+ added a proper launcher&lt;br /&gt;+ removed some bugs regarding the installer&lt;br /&gt;&lt;br /&gt;Oh, and Universal Screenmate and the Character Editor are now open source.&lt;br /&gt;You can download binaries or sources from &lt;a href="https://sourceforge.net/projects/uniscreenmate/"&gt;&lt;b&gt;SourceForge.net&lt;/b&gt;&lt;/a&gt; (Softpedia binaries should be updated in a couple of days)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4536056797911425062?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4536056797911425062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/10/unplanned-update-for-universal.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4536056797911425062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4536056797911425062'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/10/unplanned-update-for-universal.html' title='Unplanned update for Universal Screenmate'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5384700120507618650</id><published>2010-09-20T23:13:00.000-07:00</published><updated>2010-10-06T23:19:20.440-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ted'/><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><title type='text'>Robot Unlock Update</title><content type='html'>&lt;b&gt;What's new: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;+&lt;/b&gt; added a crash course in the instructions menu&lt;br /&gt;&lt;b&gt;+&lt;/b&gt; added a save system and copy/load level from clipboard - now you can share your best solution on forums (the encoded solution is really small)&lt;br /&gt;&lt;b&gt;+&lt;/b&gt; fixed some levels&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5384700120507618650?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5384700120507618650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5384700120507618650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5384700120507618650'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-update.html' title='Robot Unlock Update'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-121488002915051940</id><published>2010-09-17T06:25:00.000-07:00</published><updated>2010-10-02T09:14:57.897-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ted'/><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><title type='text'>Robot Unlock now has a proper trailer!</title><content type='html'>&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/vQDEARbT9nM?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/vQDEARbT9nM?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-121488002915051940?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/121488002915051940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-now-has-proper-trailer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/121488002915051940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/121488002915051940'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-now-has-proper-trailer.html' title='Robot Unlock now has a proper trailer!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-3042471487668667414</id><published>2010-09-14T09:36:00.000-07:00</published><updated>2010-09-14T09:39:07.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ted'/><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><title type='text'>Robot Unlock: FAQ</title><content type='html'>&lt;b&gt;Q: What is Robot Unlock?&lt;/b&gt;&lt;br /&gt;A: A puzzle game, more specific: a 2D Befunge-like programming puzzle game.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: A programming game? Is that fun?&lt;/b&gt;&lt;br /&gt;A: Programming in this game = putting plates for the little robots to follow. &lt;br /&gt;The firts 12 challanges are really simple and accessible to anyone, they're deisgned to get you aquainted with the concept and the game enviroment.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: What do all those plates do?&lt;/b&gt;&lt;br /&gt;A: Detailed instructions are accessible from the game. I will also post some sample programs made with the game to show you how powerful the language is.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Who is this Ted fellow?&lt;/b&gt;&lt;br /&gt;A: Your friendly floating head. Seriously.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: How long did the development take?&lt;/b&gt;&lt;br /&gt;A: About a month. I had been thinking about making this game for some time so most of the concepts were already settled.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: What tools did you use to create the game?&lt;/b&gt;&lt;br /&gt;A: The game was programmed in AutoIt v3 and the "artwork" was made in MSPaint and GIMP. The music is composed by Gillenium, Halindir and mariomusicmaker1 - many, many thanks to them and the font is from dafont.com - it's made by Rein Sacha.&lt;br /&gt;&lt;br /&gt;...and the screenshot of the post - you try and figure out what it does&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_xL5s3AOScGs/TI-kgb5Hn9I/AAAAAAAAAk4/IrypLv3n7qo/s1600/robotunlockscrshot4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://2.bp.blogspot.com/_xL5s3AOScGs/TI-kgb5Hn9I/AAAAAAAAAk4/IrypLv3n7qo/s400/robotunlockscrshot4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-3042471487668667414?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/3042471487668667414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-faq.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3042471487668667414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3042471487668667414'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-faq.html' title='Robot Unlock: FAQ'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xL5s3AOScGs/TI-kgb5Hn9I/AAAAAAAAAk4/IrypLv3n7qo/s72-c/robotunlockscrshot4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5727047984328611221</id><published>2010-09-12T11:37:00.000-07:00</published><updated>2010-09-12T11:37:04.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ted'/><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><title type='text'>Robot Unlock is OUT!!!</title><content type='html'>Short description: a 2D Befunge-like multithreaded programming language wrapped nicely in a puzzle game's outfit.&lt;br /&gt;Detailed instructions are accessible via the In-Game Menu and Ted (your friendly floating head) will be happy to give you some hints here and there.&lt;br /&gt;&lt;br /&gt;I will post more on the game in the next days.&lt;br /&gt;&lt;br /&gt;Download it from &lt;a href="http://gamejolt.com/freeware/games/puzzle/robot-unlock/3467/"&gt;GameJolt&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_xL5s3AOScGs/TI0a6f0wBwI/AAAAAAAAAkw/Qw-s9Cij0cQ/s1600/robotunlockscrshot3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://1.bp.blogspot.com/_xL5s3AOScGs/TI0a6f0wBwI/AAAAAAAAAkw/Qw-s9Cij0cQ/s400/robotunlockscrshot3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5727047984328611221?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5727047984328611221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-is-out.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5727047984328611221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5727047984328611221'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock-is-out.html' title='Robot Unlock is OUT!!!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xL5s3AOScGs/TI0a6f0wBwI/AAAAAAAAAkw/Qw-s9Cij0cQ/s72-c/robotunlockscrshot3.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-1299439775856467134</id><published>2010-09-11T04:49:00.000-07:00</published><updated>2010-09-13T12:03:51.501-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ted'/><category scheme='http://www.blogger.com/atom/ns#' term='robotunlock'/><title type='text'>Robot Unlock</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_xL5s3AOScGs/TItsmWaNY5I/AAAAAAAAAko/afwSCfTvICE/s1600/robotunlock.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/_xL5s3AOScGs/TItsmWaNY5I/AAAAAAAAAko/afwSCfTvICE/s320/robotunlock.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-1299439775856467134?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/1299439775856467134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1299439775856467134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1299439775856467134'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/09/robot-unlock.html' title='Robot Unlock'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xL5s3AOScGs/TItsmWaNY5I/AAAAAAAAAko/afwSCfTvICE/s72-c/robotunlock.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4913277399855918101</id><published>2010-05-27T05:01:00.000-07:00</published><updated>2010-05-28T02:03:14.868-07:00</updated><title type='text'>Whir: Update 2</title><content type='html'>&lt;b&gt;New stuff:&lt;/b&gt;&lt;br /&gt;&amp;nbsp;+ a launcher &lt;br /&gt;&amp;nbsp;+ the ability to run in 1024x768 &lt;br /&gt;&amp;nbsp;+ artwork - new decoration tiles&lt;br /&gt;&amp;nbsp;+ 2 new ambiental tracks composed by ObsidianSnow&lt;br /&gt;&amp;nbsp;+ the game now has an ending (it did not have an ending until now because you can always generate new levels, so it doesn't practically end, but it seemed a good idea to congratulate whoever gets to the last level and solves it)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gamejolt.com/freeware/games/whir/files/whir-v-1-7/download/1177/1839/"&gt;Download it from GameJolt&lt;/a&gt; or from &lt;a href="http://www.indiepubgames.com/game/Whir"&gt;IndiePub&lt;/a&gt;&lt;br /&gt;P.S. the SimplePlay option on IndiePub is not working properly &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_xL5s3AOScGs/S_5epDE9JoI/AAAAAAAAAkY/1hvGs9NsULo/s1600/whirshot42.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://2.bp.blogspot.com/_xL5s3AOScGs/S_5epDE9JoI/AAAAAAAAAkY/1hvGs9NsULo/s400/whirshot42.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4913277399855918101?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4913277399855918101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/05/whir-update-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4913277399855918101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4913277399855918101'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/05/whir-update-2.html' title='Whir: Update 2'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xL5s3AOScGs/S_5epDE9JoI/AAAAAAAAAkY/1hvGs9NsULo/s72-c/whirshot42.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6471522525354575031</id><published>2010-04-27T13:38:00.000-07:00</published><updated>2010-09-13T12:07:32.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='coin'/><title type='text'>Coin: Alpha</title><content type='html'>&lt;b&gt;Q: What is Coin anyway?&lt;/b&gt;&lt;br /&gt;A: Coin is a freeware assembly-like scripting language designed for educational purposes. The main feature of Coin is its configurable interpreter which acts more like an emulator. With the help of the interpreter the user can specify how many clock cycles does it take for every instruction to be executed. The user can also specify how many registers and how much memory is available and how large the stack is. This level of customization is ideal for algorithmic problems. The challenge the programmer is faced is to conceive an efficient algorithm for a specific strange machine (e.g. one without arithmetic instructions, one with only 4 registers).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Where can I try it? &lt;/b&gt;&lt;br /&gt;A: Download Coin from &lt;a href="http://sourceforge.net/projects/commandinterpre/files/coin%20binaries/coin.zip/download"&gt;http://sourceforge.net/projects/commandinterpre/files/coin%20binaries/coin.zip/download&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;P.S. Keep in mind that this is an alpha release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6471522525354575031?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6471522525354575031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/04/coin-alpha.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6471522525354575031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6471522525354575031'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/04/coin-alpha.html' title='Coin: Alpha'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-3231807369685232838</id><published>2010-04-27T00:41:00.000-07:00</published><updated>2010-09-13T12:07:32.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='coin'/><title type='text'>COIN is coming</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_xL5s3AOScGs/S9aU7mFy0ZI/AAAAAAAAAkQ/CdyborFVv3c/s1600/scr1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="375" src="http://1.bp.blogspot.com/_xL5s3AOScGs/S9aU7mFy0ZI/AAAAAAAAAkQ/CdyborFVv3c/s400/scr1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-3231807369685232838?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/3231807369685232838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/04/coin-is-coming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3231807369685232838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3231807369685232838'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/04/coin-is-coming.html' title='COIN is coming'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xL5s3AOScGs/S9aU7mFy0ZI/AAAAAAAAAkQ/CdyborFVv3c/s72-c/scr1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-3350895395227125426</id><published>2010-02-07T03:42:00.000-08:00</published><updated>2010-09-13T12:06:35.357-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='whir'/><title type='text'>Whir: Update!</title><content type='html'>&lt;b&gt;What's new?&lt;/b&gt;&lt;br /&gt;&amp;nbsp;+ added instructions&lt;br /&gt;&amp;nbsp;+ added actual numbers to levels in the Level Select screen&lt;br /&gt;&amp;nbsp;+ you can return to the Main Menu from the Level Select screen&lt;br /&gt;&amp;nbsp;+ the game now "runs in its own window" &lt;br /&gt;&amp;nbsp;+ the game now comes as a zip archive&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://gamejolt.com/freeware/games/whir/files/whir-v-1-5/download/1177/1839/"&gt;Download link&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_xL5s3AOScGs/S26nBJVbiqI/AAAAAAAAAkI/vlTE8bfzLaU/s1600-h/whirshotv15.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://4.bp.blogspot.com/_xL5s3AOScGs/S26nBJVbiqI/AAAAAAAAAkI/vlTE8bfzLaU/s400/whirshotv15.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-3350895395227125426?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/3350895395227125426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2010/02/whir-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3350895395227125426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3350895395227125426'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2010/02/whir-update.html' title='Whir: Update!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xL5s3AOScGs/S26nBJVbiqI/AAAAAAAAAkI/vlTE8bfzLaU/s72-c/whirshotv15.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4364720299901019758</id><published>2009-12-07T02:53:00.000-08:00</published><updated>2010-09-13T12:06:35.357-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='whir'/><title type='text'>Whir on GameJolt and Softpedia!</title><content type='html'>&lt;b&gt;Now you can download the game from &lt;a href="http://games.softpedia.com/get/Freeware-Games/Whir.shtml"&gt;Softpedia&lt;/a&gt; or &lt;a href="http://gamejolt.com/freeware/games/puzzle/whir/1177/"&gt;GameJolt&lt;/a&gt;.&lt;/b&gt; You can rate the game and leave comments on both sites. User feedback is greatly appreciated, it helps a lot.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Whir received the &lt;a href="http://games.softpedia.com/progClean/Whir-Clean-54654.html"&gt;100% FREE AWARD&lt;/a&gt; of Softpedia. That means that "it does not contain any form of malware, including but not limited to: spyware, viruses, trojans and backdoors."&lt;br /&gt;&lt;br /&gt;...and the usual screenshot-of-the-post&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_xL5s3AOScGs/SxzbLLmv2MI/AAAAAAAAAkA/QDC-4EweVeE/s1600-h/whirshot4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ilo-full-src="http://2.bp.blogspot.com/_xL5s3AOScGs/SxzbLLmv2MI/AAAAAAAAAkA/QDC-4EweVeE/s400/whirshot4.png" src="http://2.bp.blogspot.com/_xL5s3AOScGs/SxzbLLmv2MI/AAAAAAAAAkA/QDC-4EweVeE/s400/whirshot4.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4364720299901019758?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4364720299901019758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir-on-gamejolt-and-softpedia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4364720299901019758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4364720299901019758'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir-on-gamejolt-and-softpedia.html' title='Whir on GameJolt and Softpedia!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xL5s3AOScGs/SxzbLLmv2MI/AAAAAAAAAkA/QDC-4EweVeE/s72-c/whirshot4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-7302338547919387033</id><published>2009-12-05T04:03:00.000-08:00</published><updated>2010-09-13T12:06:35.357-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='whir'/><title type='text'>Whir: FAQ</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;...and another screenshot!&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_xL5s3AOScGs/SxpKuazIBwI/AAAAAAAAAj4/yliQMTqhHDU/s1600-h/whirshot3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ilo-full-src="http://2.bp.blogspot.com/_xL5s3AOScGs/SxpKuazIBwI/AAAAAAAAAj4/yliQMTqhHDU/s400/whirshot3.png" src="http://2.bp.blogspot.com/_xL5s3AOScGs/SxpKuazIBwI/AAAAAAAAAj4/yliQMTqhHDU/s400/whirshot3.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Gameplay related questions: &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Whir is a...&lt;/b&gt;&lt;br /&gt;A: Puzzle game!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Why isn't the Esc key taking me out of the game?&lt;/b&gt;&lt;br /&gt;A: The only keys you need for winning the game or navigating through the menus are the Arrow Keys and the Spacebar.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: I get stuck after I choose the [Play] option from the main menu. What should I do?&lt;/b&gt;&lt;br /&gt;A: The play option will send you to the "World Map". You should position yourself on a desired level (the weird blocks with tiny blue lights who are definitely not green like the rest) and hit the Spacebar to enter that level.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Development related questions: &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: What did you use to create Whir? &lt;/b&gt;&lt;br /&gt;A: The Whir game engine was made in AutoIt v3, a general purpose scripting language. I personally do not like any game making software.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: For how long have you been working on the game?&lt;/b&gt;&lt;br /&gt;A: It took me exactly 11 days to create the engine - it has about 1500 lines of code. The bitmaps, however, were already created for another project (I hope to see it finished someday). To create them I used MS Paint and the Softglow effect from GIMP. Oh, and the icon was created in Greenfish Icon Editor.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: How about the soundtrack?&lt;/b&gt;&lt;br /&gt;A: I got the soundtrack from &lt;a href="http://newgrounds.com/"&gt;NewGrounds.com&lt;/a&gt; - it's composed by ectsoman, Gillenium and ObsidianSnow - many thanks to them.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: ...and the font?&lt;/b&gt;&lt;br /&gt;A: I got the font from &lt;a href="http://dafont.com/"&gt;dafont.com&lt;/a&gt;; it's creator is &lt;a href="http://www.dafont.com/surface.font"&gt;Bruno Herfst&lt;/a&gt; many thanks to him as well.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Miscellaneous:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Who are you?&lt;/b&gt;&lt;br /&gt;A: Adrian Toncean (madflame991).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Why did you make this game?&lt;/b&gt;&lt;br /&gt;A: It was on my "Things to do before I turn 20" list.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: Are you planning to release a sequel or another game?&lt;/b&gt;&lt;br /&gt;A: Yes and yes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-7302338547919387033?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/7302338547919387033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir-faq.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7302338547919387033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7302338547919387033'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir-faq.html' title='Whir: FAQ'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xL5s3AOScGs/SxpKuazIBwI/AAAAAAAAAj4/yliQMTqhHDU/s72-c/whirshot3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-4309508932018633156</id><published>2009-12-04T07:11:00.001-08:00</published><updated>2010-09-13T12:06:35.357-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='whir'/><title type='text'>Whir released!</title><content type='html'>Finally! &lt;b&gt;Whir is out!&lt;/b&gt;&lt;br /&gt;What's Whir? A game, an &lt;b&gt;abstract puzzle&lt;/b&gt; with procedurally generated levels. There are &lt;b&gt;over 3000 different levels&lt;/b&gt; that can be generated. Your goal is to carefully navigate your way to the exit block without falling into the blue abyss and without leaving any removable blocks behind.&lt;br /&gt;&lt;br /&gt;I will update this post once I finish submitting the game to a couple of indie gaming sites.&lt;br /&gt;Untill then you can download the game from FileFront - &lt;a href="http://www.filefront.com/15057225/Whir_Install.exe/"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Update: Just submitted the game to GameJolt. It was easy - too easy. &lt;a href="http://gamejolt.com/freeware/games/puzzle/whir/1177/"&gt;Link!&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_xL5s3AOScGs/SxkvWcqsMiI/AAAAAAAAAjw/Vd2PFWhTL44/s1600-h/whirshot2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" ilo-full-src="http://1.bp.blogspot.com/_xL5s3AOScGs/SxkvWcqsMiI/AAAAAAAAAjw/Vd2PFWhTL44/s400/whirshot2.png" src="http://1.bp.blogspot.com/_xL5s3AOScGs/SxkvWcqsMiI/AAAAAAAAAjw/Vd2PFWhTL44/s400/whirshot2.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-4309508932018633156?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/4309508932018633156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4309508932018633156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/4309508932018633156'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir-released.html' title='Whir released!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xL5s3AOScGs/SxkvWcqsMiI/AAAAAAAAAjw/Vd2PFWhTL44/s72-c/whirshot2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5234560577321282465</id><published>2009-12-03T08:34:00.000-08:00</published><updated>2010-09-13T12:06:35.358-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='whir'/><title type='text'>Whir</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_xL5s3AOScGs/SxfokrrAv-I/AAAAAAAAAjo/V0X5Iyg103U/s1600-h/whirshot.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ilo-full-src="http://4.bp.blogspot.com/_xL5s3AOScGs/SxfokrrAv-I/AAAAAAAAAjo/V0X5Iyg103U/s400/whirshot.PNG" src="http://4.bp.blogspot.com/_xL5s3AOScGs/SxfokrrAv-I/AAAAAAAAAjo/V0X5Iyg103U/s400/whirshot.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5234560577321282465?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5234560577321282465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5234560577321282465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5234560577321282465'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2009/12/whir.html' title='Whir'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xL5s3AOScGs/SxfokrrAv-I/AAAAAAAAAjo/V0X5Iyg103U/s72-c/whirshot.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-1099675724841127744</id><published>2009-03-09T03:04:00.000-07:00</published><updated>2009-03-09T03:21:00.134-07:00</updated><title type='text'>Are these safe?</title><content type='html'>Making programs using a freeware tool has some drawbacks... McAfee or NOD detect DrawAid or any other program written in AutoIt as "malicious". They're actually &lt;span style="font-weight: bold;"&gt;false positives&lt;/span&gt;; the AV companies don't really care about freeware tools. At least Softpedia guarantees that DrawAid and Universal Screenmate are 100% CLEAN, making them a more reliable source.&lt;br /&gt;Read this topic: &lt;a href="http://www.autoitscript.com/forum/index.php?showtopic=34658"&gt;http://www.autoitscript.com/forum/index.php?showtopic=34658&lt;/a&gt;&lt;br /&gt;That should clear it up.&lt;br /&gt;&lt;br /&gt;100% CLEAN certificate for DrawAid: &lt;a href="http://www.softpedia.com/progClean/DrawAid-Clean-121229.html"&gt;http://www.softpedia.com/progClean/DrawAid-Clean-121229.html&lt;/a&gt;&lt;br /&gt;100% CLEAN certificare for the Universal Screenmate: &lt;a href="http://www.softpedia.com/progClean/Universal-ScreenMate-Clean-117063.html"&gt;http://www.softpedia.com/progClean/Universal-ScreenMate-Clean-117063.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-1099675724841127744?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/1099675724841127744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2009/03/are-these-safe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1099675724841127744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1099675724841127744'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2009/03/are-these-safe.html' title='Are these safe?'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-6224394519668385380</id><published>2009-02-14T10:27:00.000-08:00</published><updated>2011-02-19T11:42:39.647-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drawaid'/><title type='text'>DrawAid - semitransparent on top image to ease drawing</title><content type='html'>There are a lot of people who just can't draw with the mouse (I can't). That's why I've created DrawAid. It's a simple yet very useful program. It allows you to load an image, adjust its transparency, zoom it, move it... Once it's set you can use any painting tool from MS Paint to GIMP or Photoshop to draw - the on top image "ignores clicks"; it passes them to the application behind.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xL5s3AOScGs/SZ2XNWNerBI/AAAAAAAAAho/499ScirGzpo/s1600-h/drawaid.PNG"&gt;&lt;img src="http://3.bp.blogspot.com/_xL5s3AOScGs/SZ2XNWNerBI/AAAAAAAAAho/499ScirGzpo/s320/drawaid.PNG" style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_xL5s3AOScGs/SZ2XNWNerBI/AAAAAAAAAho/499ScirGzpo/s320/drawaid.PNG" alt="" id="BLOGGER_PHOTO_ID_5304562191668522002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Others/DrawAid.shtml"&gt;&lt;img src="http://www.softpedia.com/images/softpedia_download_small.gif" src="http://www.softpedia.com/images/softpedia_download_small.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Or download the portable version for Windows Live from this link: &lt;a href="http://sites.google.com/site/xenodesystems/drawaid-siv"&gt;http://sites.google.com/site/xenodesystems/drawaid-siv&lt;/a&gt;&lt;br /&gt;...Yes DrawAid is now portable thanks to James Berry from Xenode Systems - be sure to visit his website at &lt;a href="http://www.blogxenode.tk/"&gt;http://www.blogxenode.tk/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-6224394519668385380?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/6224394519668385380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2009/02/drawaid-semitransparent-on-top-image-to.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6224394519668385380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/6224394519668385380'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2009/02/drawaid-semitransparent-on-top-image-to.html' title='DrawAid - semitransparent on top image to ease drawing'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xL5s3AOScGs/SZ2XNWNerBI/AAAAAAAAAho/499ScirGzpo/s72-c/drawaid.PNG' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-7253109701189323977</id><published>2009-01-04T11:14:00.000-08:00</published><updated>2010-09-13T12:08:13.694-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Tutorial: how to create your own screenmate</title><content type='html'>&lt;span style="font-weight: bold;"&gt;What you need:&lt;/span&gt;&lt;br /&gt;Imagination&lt;br /&gt;The Universal Screenmate 4.0 (can be downloaded from the softpedia download button in the right)&lt;br /&gt;The character's frames for animations (walking, jumping...); they must be of the same size (height and width) and must be PNG images with an alpha channel&lt;br /&gt;Optional: Projectile frames (yes, PNG only with the same size)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Part 1:&lt;/span&gt;&lt;br /&gt;Open the editor&lt;br /&gt;Enter the directory where you want the screenmate data files to be stored; the full address will be like in the example in the image.&lt;br /&gt;Then complete the rest of the fields, they are all mandatory.&lt;br /&gt;If you want an example you can load a prebuilt character by clicking the [Load] button&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xL5s3AOScGs/SWEN2cEiVsI/AAAAAAAAAfQ/zrrn94Dz7RA/s1600-h/ed_a.png"&gt;&lt;img src="http://3.bp.blogspot.com/_xL5s3AOScGs/SWEN2cEiVsI/AAAAAAAAAfQ/zrrn94Dz7RA/s400/ed_a.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 244px;" src="http://3.bp.blogspot.com/_xL5s3AOScGs/SWEN2cEiVsI/AAAAAAAAAfQ/zrrn94Dz7RA/s400/ed_a.png" alt="" id="BLOGGER_PHOTO_ID_5287522666408990402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Part 2:&lt;/span&gt;&lt;br /&gt;A new interface will appear if the data was correct&lt;br /&gt;Navigate through the tabs to configure the screenmate.&lt;br /&gt;Click the big squared buttons to load your character's frames.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;General tab:&lt;/span&gt;&lt;br /&gt;From the General tab you can edit its name, load the idle frames (what your screenmate will look like when idling) and set its moods (your character must have at least one mood).&lt;br /&gt;After completing the mood fields click the [Refresh moods] button&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEOLkAQOlI/AAAAAAAAAfY/pWJISrQtw_I/s1600-h/ed_b1.png"&gt;&lt;img src="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEOLkAQOlI/AAAAAAAAAfY/pWJISrQtw_I/s400/ed_b1.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEOLkAQOlI/AAAAAAAAAfY/pWJISrQtw_I/s400/ed_b1.png" alt="" id="BLOGGER_PHOTO_ID_5287523029315762770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Moods tab:&lt;/span&gt;&lt;br /&gt;These are all the actions your mate is able to do. Set the probability of them happening by filling the fields.&lt;br /&gt;If you don't want an action to happen set it to 0.&lt;br /&gt;If you want it to happen often set it to 1,2,3 (the bigger the number the least probable it will be)&lt;br /&gt;If you want it to happen rare set it around 20&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEOL3gd6dI/AAAAAAAAAfg/rNiMAqkOVhM/s1600-h/ed_b2.png"&gt;&lt;img src="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEOL3gd6dI/AAAAAAAAAfg/rNiMAqkOVhM/s400/ed_b2.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEOL3gd6dI/AAAAAAAAAfg/rNiMAqkOVhM/s400/ed_b2.png" alt="" id="BLOGGER_PHOTO_ID_5287523034551151058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Walking tab:&lt;/span&gt;&lt;br /&gt;From here you can configure your mate's walking animation, the distance and delay between frames&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEOMjXYeEI/AAAAAAAAAfo/mlLrNi8CkqA/s1600-h/ed_b3.png"&gt;&lt;img src="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEOMjXYeEI/AAAAAAAAAfo/mlLrNi8CkqA/s400/ed_b3.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEOMjXYeEI/AAAAAAAAAfo/mlLrNi8CkqA/s400/ed_b3.png" alt="" id="BLOGGER_PHOTO_ID_5287523046324205634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jumping tab:&lt;/span&gt;&lt;br /&gt;As you can see there are 4 frames for jumping in each direction and one for 'returning'.&lt;br /&gt;'prejumping' occurs when your character prepares for the jump; then there's the ascending frame (that's mandatory because there's no jump without at least that frame)&lt;br /&gt;The 'fall' frame is what your screenmate looks like when it's falling; same for the 'land' frame&lt;br /&gt;The 'returning' id displayed when your character is walking/running and decides to change direction&lt;br /&gt;Experiment with the jumping forces to get the desired result&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xL5s3AOScGs/SWEONfH6VFI/AAAAAAAAAfw/izFXopDQo7g/s1600-h/ed_b4.png"&gt;&lt;img src="http://3.bp.blogspot.com/_xL5s3AOScGs/SWEONfH6VFI/AAAAAAAAAfw/izFXopDQo7g/s400/ed_b4.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://3.bp.blogspot.com/_xL5s3AOScGs/SWEONfH6VFI/AAAAAAAAAfw/izFXopDQo7g/s400/ed_b4.png" alt="" id="BLOGGER_PHOTO_ID_5287523062365443154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Throwing tab:&lt;/span&gt;&lt;br /&gt;Throwing frames is what you screenmate looks like when throwing stuff (simple!).&lt;br /&gt;The rest is pretty self explanatory&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEON9OLu9I/AAAAAAAAAf4/Z74bYHiQEYQ/s1600-h/ed_b5.png"&gt;&lt;img src="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEON9OLu9I/AAAAAAAAAf4/Z74bYHiQEYQ/s400/ed_b5.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://2.bp.blogspot.com/_xL5s3AOScGs/SWEON9OLu9I/AAAAAAAAAf4/Z74bYHiQEYQ/s400/ed_b5.png" alt="" id="BLOGGER_PHOTO_ID_5287523070444813266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Animations tab:&lt;/span&gt;&lt;br /&gt;5 custom animations are available from here. For example: Waving like the blob 4 times like in the image, walking in any direction (not just horizontal) and anything your imagination might cook up&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEPb71p9vI/AAAAAAAAAgA/NYwF1Ia5pWg/s1600-h/ed_b6.png"&gt;&lt;img src="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEPb71p9vI/AAAAAAAAAgA/NYwF1Ia5pWg/s400/ed_b6.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEPb71p9vI/AAAAAAAAAgA/NYwF1Ia5pWg/s400/ed_b6.png" alt="" id="BLOGGER_PHOTO_ID_5287524410103297778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quotes 1 tab:&lt;/span&gt;&lt;br /&gt;Here's where you write what your mate will tell according to its mood&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xL5s3AOScGs/SWEPcKaVvtI/AAAAAAAAAgI/x56ddIdbtu4/s1600-h/ed_b7.png"&gt;&lt;img src="http://1.bp.blogspot.com/_xL5s3AOScGs/SWEPcKaVvtI/AAAAAAAAAgI/x56ddIdbtu4/s400/ed_b7.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://1.bp.blogspot.com/_xL5s3AOScGs/SWEPcKaVvtI/AAAAAAAAAgI/x56ddIdbtu4/s400/ed_b7.png" alt="" id="BLOGGER_PHOTO_ID_5287524414015258322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quotes 2 tab:&lt;/span&gt;&lt;br /&gt;Self explanatory (look at the image, focus, become the image)&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEPcaT7xdI/AAAAAAAAAgQ/mKVtku9cu4A/s1600-h/ed_b8.png"&gt;&lt;img src="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEPcaT7xdI/AAAAAAAAAgQ/mKVtku9cu4A/s400/ed_b8.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 346px;" src="http://4.bp.blogspot.com/_xL5s3AOScGs/SWEPcaT7xdI/AAAAAAAAAgQ/mKVtku9cu4A/s400/ed_b8.png" alt="" id="BLOGGER_PHOTO_ID_5287524418283357650" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-7253109701189323977?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/7253109701189323977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2009/01/tutorial-how-to-create-your-own.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7253109701189323977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7253109701189323977'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2009/01/tutorial-how-to-create-your-own.html' title='Tutorial: how to create your own screenmate'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xL5s3AOScGs/SWEN2cEiVsI/AAAAAAAAAfQ/zrrn94Dz7RA/s72-c/ed_a.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-2008504819550399508</id><published>2008-12-20T10:24:00.000-08:00</published><updated>2010-09-13T12:08:13.694-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Universal ScreenMate v 4.0.0 is out!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xL5s3AOScGs/SbTpbaEUCqI/AAAAAAAAAiA/OuYd1fUwN9Y/s1600-h/usm2.png"&gt;&lt;img src="http://4.bp.blogspot.com/_xL5s3AOScGs/SbTpbaEUCqI/AAAAAAAAAiA/OuYd1fUwN9Y/s400/usm2.png" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 245px;" src="http://4.bp.blogspot.com/_xL5s3AOScGs/SbTpbaEUCqI/AAAAAAAAAiA/OuYd1fUwN9Y/s400/usm2.png" alt="" id="BLOGGER_PHOTO_ID_5311126517639809698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Yes, yes, version 4.0 is finally available - 11 characters are waiting to infest your desktop!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;New stuff: &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;7 new characters such as the Dancing Banana, Blue Penguin, 2 VW Beetle cars, a shiny star...&lt;/li&gt;&lt;li&gt;5 frames are available now for the walking animation; added additional jumping frames and actions like teleporting, falling, shaking&lt;/li&gt;&lt;li&gt;the mate can now attack windows and desktop icons... if it hits them they will shake a bit&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Fixed:&lt;/span&gt; bugs... it should now work better than the previous version, if not feel free to report here&lt;br /&gt;...and the program has been optimised a bit - it now uses even less CPU juice&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.softpedia.com/get/Desktop-Enhancements/Other-Desktop-Enhancements/Universal-ScreenMate.shtml"&gt;&lt;img src="http://www.softpedia.com/images/softpedia_download_small.gif" src="http://www.softpedia.com/images/softpedia_download_small.gif" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-2008504819550399508?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/2008504819550399508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2008/12/universal-screenmate-v-400-is-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2008504819550399508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/2008504819550399508'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2008/12/universal-screenmate-v-400-is-out.html' title='Universal ScreenMate v 4.0.0 is out!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xL5s3AOScGs/SbTpbaEUCqI/AAAAAAAAAiA/OuYd1fUwN9Y/s72-c/usm2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-228259466784011051</id><published>2008-09-10T13:00:00.000-07:00</published><updated>2010-09-13T12:08:13.695-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Update: Say hello to Blob and the Alpha Channel</title><content type='html'>Get the latest version of the &lt;span style="font-weight: bold;"&gt;Universal ScreenMate - v 3.9&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;it now supports PNG images with transparency per pixel&lt;/li&gt;&lt;li&gt;a new character is included: &lt;span style="font-weight: bold;"&gt;Blob&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;many bugs have been fixed&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Get the Universal Screenmate + Editor from &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://files.filefront.com/install+mariosm390exe/;11753321;/fileinfo.html"&gt;here&lt;/a&gt;&lt;br /&gt;These are the characters &lt;span style="font-weight: bold;"&gt;included in the installation package&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xL5s3AOScGs/SMl9H6PXfZI/AAAAAAAAAXg/1kZLa77Df48/s1600-h/unism.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_xL5s3AOScGs/SMl9H6PXfZI/AAAAAAAAAXg/1kZLa77Df48/s400/unism.png" alt="" id="BLOGGER_PHOTO_ID_5244860815895920018" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-228259466784011051?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/228259466784011051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2008/09/update-say-hello-to-blob-and-alpha.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/228259466784011051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/228259466784011051'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2008/09/update-say-hello-to-blob-and-alpha.html' title='Update: Say hello to Blob and the Alpha Channel'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xL5s3AOScGs/SMl9H6PXfZI/AAAAAAAAAXg/1kZLa77Df48/s72-c/unism.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-8876646280501036620</id><published>2008-08-01T06:02:00.000-07:00</published><updated>2010-09-13T12:08:13.695-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Mario Screenmate 3.8.2 released!</title><content type='html'>A lot of bugs have disappeared in this version! and the character editor is more explicit this time.&lt;br /&gt;Here's the list of changes and improvements:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;bug fixes&lt;/li&gt;&lt;li&gt;new character! XBot2000... it kinda looks like Wall.E (the new Pixar hero)&lt;/li&gt;&lt;li&gt;the editor is now well documented and easy to use&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://files.filefront.com/install+mario382exe/;11424124;/fileinfo.html"&gt;Get the latest version by clicking here! Bring life to your desktop!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-8876646280501036620?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/8876646280501036620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2008/08/mario-screenmate-382-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8876646280501036620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/8876646280501036620'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2008/08/mario-screenmate-382-released.html' title='Mario Screenmate 3.8.2 released!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-1136553865666140535</id><published>2008-04-22T09:19:00.000-07:00</published><updated>2010-09-13T12:08:13.695-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Updates &amp; bug fixes - version 3.7.1 is out!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xL5s3AOScGs/SBAm8r6HBYI/AAAAAAAAAQU/TrvTwqEjtP0/s1600-h/mario.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 290px; height: 222px;" src="http://4.bp.blogspot.com/_xL5s3AOScGs/SBAm8r6HBYI/AAAAAAAAAQU/TrvTwqEjtP0/s320/mario.JPG" alt="" id="BLOGGER_PHOTO_ID_5192693194378642818" border="0" /&gt;&lt;/a&gt;Version 3.7.1 is out! It brings some minor changes to the program and it fixes the annoying "flame bug". The download link is &lt;a href="http://files.filefront.com/MarioSM+371exe/;10057781;/fileinfo.html"&gt;HERE.&lt;/a&gt;&lt;br /&gt;More info will be added in a couple of days.&lt;br /&gt;Here's a screenshot of the current version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-1136553865666140535?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/1136553865666140535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2008/04/updates-bug-fixes-version-371-is-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1136553865666140535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/1136553865666140535'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2008/04/updates-bug-fixes-version-371-is-out.html' title='Updates &amp; bug fixes - version 3.7.1 is out!'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xL5s3AOScGs/SBAm8r6HBYI/AAAAAAAAAQU/TrvTwqEjtP0/s72-c/mario.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-3076995622634820348</id><published>2008-04-12T22:17:00.000-07:00</published><updated>2010-09-13T12:08:13.696-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Super Mario Screen Mate v3.7 + Character Editor</title><content type='html'>&lt;span style="font-weight: bold;"&gt;The best thing I added this time is the Character Editor. With this anyone ca make skins/characters, translate their quotes into any language and many other...&lt;/span&gt;&lt;br /&gt;As far as I know Mario is bug-free, but please report bugs if you encounter any.&lt;br /&gt;A great thing would be if people would start making their own screenmates and submit them to this site so that the next version of this software will have more content.&lt;br /&gt;This is what can you do with the editor:&lt;br /&gt;+ choose the name and dimensions of animations for the mate and its projectile&lt;br /&gt;+ set up its moods and actions&lt;br /&gt;+ set its walking, jumping, throwing and custom animations&lt;br /&gt;+ customize its quotes depending on its mood&lt;br /&gt;&lt;a href="http://files.filefront.com/mario37+installexe/;9996404;/fileinfo.html"&gt;&lt;br /&gt;Download Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-3076995622634820348?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/3076995622634820348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2008/04/super-mario-screen-mate-v37-character.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3076995622634820348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/3076995622634820348'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2008/04/super-mario-screen-mate-v37-character.html' title='Super Mario Screen Mate v3.7 + Character Editor'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-7346482074294288136</id><published>2008-03-09T11:34:00.000-07:00</published><updated>2010-09-13T12:08:13.696-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='universal_screenmate'/><title type='text'>Update v3.6</title><content type='html'>The new version of &lt;span style="font-weight: bold;"&gt;Super Mario Screen Mate is available &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://files.filefront.com/mario36+installexe/;9785371;/fileinfo.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;New:&lt;/span&gt;&lt;br /&gt;   + the screenmate is &lt;span style="font-weight: bold;"&gt;skinnable&lt;/span&gt; (future releases will include an editor too)&lt;br /&gt;   + posibility of making &lt;span style="font-weight: bold;"&gt;screenshots&lt;/span&gt;&lt;br /&gt;   + options added for both the screen mate and the menu&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Enhanced:&lt;/span&gt;&lt;br /&gt;   + &lt;span style="font-weight: bold;"&gt;colorpicker&lt;/span&gt;&lt;br /&gt;   + many optimizations&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Fixed:&lt;/span&gt;&lt;br /&gt;   + colorpicker now works fine&lt;br /&gt;   + the IP adress is updated every time the menu is shown&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-7346482074294288136?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/7346482074294288136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2008/03/super-mario-screen-mate-v36.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7346482074294288136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/7346482074294288136'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2008/03/super-mario-screen-mate-v36.html' title='Update v3.6'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1014704324335955392.post-5305344012279971557</id><published>2008-03-08T10:46:00.000-08:00</published><updated>2009-01-09T01:49:35.956-08:00</updated><title type='text'>Hello World / FAQ</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q: What is this blog about?&lt;/span&gt;&lt;br /&gt;A: This blog is the official website of MadFlame Software. It's a blog because it's easy to maintain.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: What is the Universal Screenmate?&lt;/span&gt;&lt;br /&gt;A: A fully customizable desktop mate and utility program. It has 11 prebuilt mates and a character editor. Download it, try it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: Can I build my own screenmate with the editor?&lt;/span&gt;&lt;br /&gt;A: Yes you can; and if you like you can share it with others or contact me to include it in future releases.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: What do I need to build a screenmate?&lt;/span&gt;&lt;br /&gt;A: Read the &lt;a href="http://madflame991.blogspot.com/2009/01/tutorial-how-to-create-your-own.html"&gt;tutorial&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: Who are you?&lt;/span&gt;&lt;br /&gt;A: I'm Adrian Toncean from Romania and I'm a software developer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1014704324335955392-5305344012279971557?l=madflame991.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://madflame991.blogspot.com/feeds/5305344012279971557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://madflame991.blogspot.com/2006/12/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5305344012279971557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1014704324335955392/posts/default/5305344012279971557'/><link rel='alternate' type='text/html' href='http://madflame991.blogspot.com/2006/12/hello-world.html' title='Hello World / FAQ'/><author><name>madflame991</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
