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

<channel>
	<title>Dusty Blog</title>
	<atom:link href="http://dustytome.net/moot/feed/" rel="self" type="application/rss+xml" />
	<link>http://dustytome.net/moot</link>
	<description></description>
	<lastBuildDate>Mon, 19 Dec 2011 20:28:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Ludum Dare afterthoughts</title>
		<link>http://dustytome.net/moot/2011/12/ludum-dare-afterthoughts/</link>
		<comments>http://dustytome.net/moot/2011/12/ludum-dare-afterthoughts/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 20:28:43 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=256</guid>
		<description><![CDATA[Play &#8220;alone&#8221;. So, I decided on a whim to &#8216;enter&#8217; Ludum Dare 22 (48?). I didn&#8217;t really do it &#8220;right&#8221;, only putting in a few hours work here and there, but I did finish off a simple game &#8220;alone&#8221;. Its &#8230; <a href="http://dustytome.net/moot/2011/12/ludum-dare-afterthoughts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://dustytome.net/demos/alone/" title="alone">Play &#8220;alone&#8221;.</a></p>
<p>So, I decided on a whim to &#8216;enter&#8217; Ludum Dare 22 (48?). I didn&#8217;t really do it &#8220;right&#8221;, only putting in a few hours work here and there, but I did finish off a simple game &#8220;alone&#8221;. Its based off my experiences as a kid (and adult, I guess). Upon reflection on the idea of being alone, I recalled when I was younger and felt very isolated. I wasn&#8217;t exactly anti-social (just happened to not have invested time into interaction, instead preferring to read books and play videogames). I was often informed that people actually <em>liked</em> me (I found that hard to believe), and that if I wanted friends, all I had to do was talk to them. Yes, talking, one of the easiest things in the world to do (spoiler alert: I didn&#8217;t do a lot of talking back then &#8230; still don&#8217;t). Even then, people would try to talk to me and I really had to work to keep myself alone.</p>
<p>So that&#8217;s what this game is about. The process of keeping yourself alone by putting up walls to keep potential friends away.</p>
<p>I made the game using &#8220;HTML5&#8243; and <a href="http://easeljs.com/" title="easel.js">easel.js</a>. Javascript is interesting, as I seem to sometimes fall into a different scope without realizing it. In addition, the keyboard events leave a little bit to be desired (keyup events are sometimes lost, presumably when too many keys are down). I hope that gets sorted out (especially considering there is already a <a href="https://wiki.mozilla.org/GamepadAPI">gamepad api</a> in the dev builds of Chrome and Firefox). Easel.js was wonderful in providing some nice helper functions to the canvas, though it leaves a bit to be desired. Notably lacking is a width &#038; height attribute on the DisplayObject or Bitmap level (it looks like you CAN get to it through the image reference on the bitmap&#8230; a bit ugly looking).</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/12/ludum-dare-afterthoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Halloween Clouds</title>
		<link>http://dustytome.net/moot/2011/11/halloween-clouds/</link>
		<comments>http://dustytome.net/moot/2011/11/halloween-clouds/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 15:43:46 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=252</guid>
		<description><![CDATA[Some time ago I mentioned I would explore blobs / metaballs for my clouds. I found a hack that simulates them without me having to do all the calculations. So, happy near Halloween, I guess.]]></description>
			<content:encoded><![CDATA[<p>Some time ago I mentioned I would explore blobs / metaballs for my clouds. I found a hack that simulates them without me having to do all the calculations. So, happy near Halloween, I guess.</p>

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_0" width="400" height="300">
      <param name="movie" value="http://dustytome.net/moot/wp-content/uploads/2011/11/MetaClouds.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="http://dustytome.net/moot/wp-content/uploads/2011/11/MetaClouds.swf" width="400" height="300">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/11/halloween-clouds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun cool shit</title>
		<link>http://dustytome.net/moot/2011/08/fun-cool-shit/</link>
		<comments>http://dustytome.net/moot/2011/08/fun-cool-shit/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 10:55:02 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=224</guid>
		<description><![CDATA[&#8220;Fun cool shit&#8221; is a label on a moving box of my friend. It had a random collection of nicknacks that I had thought both interesting and useless. As time has progressed, my belief has changed to be that &#8220;fun &#8230; <a href="http://dustytome.net/moot/2011/08/fun-cool-shit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&#8220;Fun cool shit&#8221; is a label on a moving box of my friend. It had a random collection of nicknacks that I had thought both interesting and useless. As time has progressed, my belief has changed to be that &#8220;fun cool shit&#8221; may be the most important possesion one may own (or, in this case, create).</p>
<p>Approximately a year ago I finally left school. After spending years improving my mind (and being rather good at the Game of School), I was finally in the workforce. I found myself quite depressed for a number of months, hit with the classic &#8220;search for the meaning of life&#8221;. I undertook a long search for something that was &#8220;valuable enough for my time&#8221;.</p>
<p>What I eventually found was a love of creative coding that I had thrown away years earlier. You know, those things made by awesome guys like <a href="http://mrdoob.com/">Mr. Doob</a>, <a href="http://blog.soulwire.co.uk/">Soulwire</a>, and <a href="http://neave.com/">Neave</a>. &#8220;Oh,&#8221; I used to say, &#8221; those are just toys.&#8221; I saw no value in them.</p>
<p>During my search for that <em>something</em>, I began to immerse myself in a developer culture. With that culture came the realization that, if I were to improve myself in any way, I would need to be working on side projects that truly stretched my knowledge and kept me interested in what can quickly become a very boring method of employment. It was then that I began to program little games. I never completed a single one, but each taught me a great amount. </p>
<p>It was then that I switched to programming other things that drew my interest. Things like random terrain generation, tree growth algorithms, or cloud generators. I began to make things that were interesting simply because I thought that it would be cool. As I did, I found that I really wanted to share what I had created. Inevitably, it would also get me talking about that process it takes to actually accomplish what I did.</p>
<p>Upon reflection, I realized that &#8220;fun cool shit&#8221; is quite far from frivolous. It is essential in storing our culture and passing it on. A &#8216;frivolous coding exercise&#8217; can create interest in our craft for the same reason that many children want to become firefighters, pilots, or sports stars. An outside viewer can see it, understand it, and want to be as awesome as what they have seen. Allright, so we don&#8217;t get as much respect as the aforementioned careers. Maybe one day.</p>
<p>I suppose, what I am getting at, is that I encourage anyone to build that cool little thing they&#8217;ve always wanted to try. Its not as worthless in reality as it may be in your brain (or on paper). And, if you&#8217;re lucky enough, someone will express interest in learning how you did it. That is when you can have the joy of saying, &#8220;Well, its not hard. Let me show you the first steps &#8230; &#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/08/fun-cool-shit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning Flash the easy way</title>
		<link>http://dustytome.net/moot/2011/08/learning-flash-the-easy-way/</link>
		<comments>http://dustytome.net/moot/2011/08/learning-flash-the-easy-way/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 20:54:41 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=226</guid>
		<description><![CDATA[Being a &#8216;Flash developer&#8217;, it seems not a day goes by where I don&#8217;t hear about the impending doom of one of my favorite technologies. Especially among my peers who have not touched a lick of AS3, it is hard &#8230; <a href="http://dustytome.net/moot/2011/08/learning-flash-the-easy-way/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Being a &#8216;Flash developer&#8217;, it seems not a day goes by where I don&#8217;t hear about the impending doom of one of my favorite technologies. Especially among my peers who have not touched a lick of AS3, it is hard to explain exactly why I enjoy working in Flash so much. I believe this is one front that has not yet been adequately addressed, especially considering how &#8216;open&#8217; any piece of HTML5 &#038; Javascript can be compared to a compiled SWF. With a bit of web knowledge &#038; a right-click, one can see the entirety of a webapp and learn from it quickly. I find myself doing it a lot on the examples for paper.js.</p>
<p>Leaving aside Flash Player performance (which alternatively either leaves a lot to be desired, or works suprisingly well), the major argument between developers is &#8220;What is Flash good for?&#8221;. Those who have not had a chance to play with the system will never know its strengths versus its weaknesses. If Flash developers wish to cast it in a good light, it would be wise to let people know what makes Flash so awesome. I would say it would be best to give them a chance to play around with it in as easily-approachable way.</p>
<p>I&#8217;ve spent the past few months exploring programming languages and different texts on programming in my best effort to shore up any deficiencies I have when it comes to busting out code. During that time, I have found a number of awesome sites that let me get straight to the fun parts of learning: typing in some code and seeing it run. I&#8217;ve gone through the tutorials on tryruby.org &#038; tryhaskell.org. I have a few projects up on jsfiddle.net that were great for lunchtime coding experiments. And, perhaps best for the Flash community, there exists wonder.fl, which takes AS3 and compiles it for you without the need to download anything else.</p>
<p>In my mind, the best way to show the strengths of Flash to a developer audience would be to take the tech behind wonder.fl, and combine it with a detailed walkthrough similar to tryruby.org. Including a number of powerful libraries for the user to build with would show them how awesome our community is, and the giant shoulders they could stand upon should the need arise. Getting a decent dev to create a site with this tech in half an hour wouldn&#8217;t be too bad, and would let them understand just why AS3 is a great tool when you need to write once, run in a lot of places, and look cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/08/learning-flash-the-easy-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 Combined Click Handler</title>
		<link>http://dustytome.net/moot/2011/07/as3-combined-click-handler/</link>
		<comments>http://dustytome.net/moot/2011/07/as3-combined-click-handler/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 15:40:07 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=217</guid>
		<description><![CDATA[I recently ran across an interesting way to handle mouse events in a friend&#8217;s bit of code. I wanted to share it here. I feel like it hurts readability and is not always the preferred way to go about handling &#8230; <a href="http://dustytome.net/moot/2011/07/as3-combined-click-handler/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently ran across an interesting way to handle mouse events in a friend&#8217;s bit of code. I wanted to share it here. I feel like it hurts readability and is not always the preferred way to go about handling mouse events, but it certainly makes for some concise code. Quite good for when speed is of the essence.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;">button1<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">CLICK</span><span style="color: #000066; font-weight: bold;">,</span> onClick<span style="color: #000000;">&#41;</span>
button2<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">CLICK</span><span style="color: #000066; font-weight: bold;">,</span> onClick<span style="color: #000000;">&#41;</span>
&nbsp;
<span style="color: #339966; font-weight: bold;">function</span> onClick<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
 <span style="color: #0033ff; font-weight: bold;">switch</span><span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">target</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">name</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
  <span style="color: #0033ff; font-weight: bold;">case</span> <span style="color: #990000;">&quot;button1&quot;</span><span style="color: #000066; font-weight: bold;">:</span>
   <span style="color: #009900; font-style: italic;">//do something</span>
   <span style="color: #0033ff; font-weight: bold;">break</span><span style="color: #000066; font-weight: bold;">;</span>
  <span style="color: #0033ff; font-weight: bold;">case</span> <span style="color: #990000;">&quot;button2&quot;</span><span style="color: #000066; font-weight: bold;">:</span>
   <span style="color: #009900; font-style: italic;">//do something else</span>
   <span style="color: #0033ff; font-weight: bold;">break</span><span style="color: #000066; font-weight: bold;">;</span>
 <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/07/as3-combined-click-handler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Worlds</title>
		<link>http://dustytome.net/moot/2011/07/virtual-worlds/</link>
		<comments>http://dustytome.net/moot/2011/07/virtual-worlds/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 11:50:25 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=177</guid>
		<description><![CDATA[I have a certain fascination with virtual worlds. I guess it stems from spending so much damn time in my head as a child, and once I got the internet, too much time role playing online. Perhaps most interesting to &#8230; <a href="http://dustytome.net/moot/2011/07/virtual-worlds/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have a certain fascination with virtual worlds. I guess it stems from spending so much damn time in my head as a child, and once I got the internet, too much time role playing online. Perhaps most interesting to me is how virtual worlds have significant events that can affect the real world. Cracked has an interesting article <a href="http://www.cracked.com/blog/the-7-biggest-dick-moves-in-history-online-gaming/">&#8216;The biggest dick moves in online gaming history&#8217;</a>, which contain a number of great examples of how our virtual worlds tend to spill over into the real world. Oftentimes the overlap between the two worlds create some very powerful moments. The most interesting and powerful to me are virtual worlds from earlier times. Perhaps I am merely looking back on history through rose-colored glasses, but the games those earlier games seemed to have a world that the players believed in more strongly than the current crop of MMOs. I suspect this is in part due to the lesser amount of players in those days (<a href="http://www.raphkoster.com/gaming/laws.shtml">Koster&#8217;s Law</a>), and also that, at that time, virtual worlds were a new, separate place.</p>
<p>These earlier worlds had a number of fascinating revelations take place for both the inhabitants and researchers of the worlds that we take for granted today. Both<br />
<a href='http://en.wikipedia.org/wiki/A_Rape_in_Cyberspace'>A Rape in Cyberspace</a> and <a href='http://en.wikipedia.org/wiki/A_Story_About_A_Tree'>A Story About a Tree</a> exemplify people being amazed at the incredible power of the virtual worlds to affect those who inhabit them. Today it is no surprise when we hear about a couple first meeting through World of Warcraft, or a teen girl being bullied through the &#8216;Virtual World&#8217; of Facebook. </p>
<p>I gather that what we have seen in the past decades years is a gradual merging of the virtual and real, such that events are no longer separate. Thus, a report on a virtual world is never about the virtual world anymore, but about the the real world and its virtual component. The characters within the virtual world are no longer seen as separate, but one-and-the-same as the players playing them. Years ago, I would have found this idea incredibly exciting. &#8220;Yes&#8221;, I would think, &#8220;finally the real and the fictional have combined together into a whole.&#8221; But now I feel a bit nostalgic for the day when virtual worlds were viewed as separate entities. Almost as uncharted lands to explore.</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/07/virtual-worlds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking for inspiration in all the animation</title>
		<link>http://dustytome.net/moot/2011/07/looking-for-inspiration-in-all-the-animation/</link>
		<comments>http://dustytome.net/moot/2011/07/looking-for-inspiration-in-all-the-animation/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 22:54:27 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=185</guid>
		<description><![CDATA[Every so often I come across a bit of animation that seems to capture a bit of awesome playfulness. I ran across this awesome piece of animation the other day, and the clouds reminded me of the clouds/smoke that seb_ly &#8230; <a href="http://dustytome.net/moot/2011/07/looking-for-inspiration-in-all-the-animation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Every so often I come across a bit of animation that seems to capture a bit of awesome playfulness. I ran across <a href="http://www.youtube.com/watch?v=MMKsQzEB7f8">this awesome piece of animation</a> the other day, and the clouds reminded me of the clouds/smoke that seb_ly showed off in his <a href="http://vimeo.com/22549391">creative JS workshop</a>. So, taking cards from both of their hats, I have made a bit of a fun &#8216;cloud shaping&#8217; tool.</p>
<p>Its mostly just a particle system. The only addition is that it accepts a bit of input looking for collisions within a radius of the mouse pointer, and then adds the pointer&#8217;s velocity to the particle.</p>

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_1" width="400" height="300">
      <param name="movie" value="http://www.dustytome.net/demos/clouds/Clouds.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="http://www.dustytome.net/demos/clouds/Clouds.swf" width="400" height="300">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

<p>Next time I think I will explore some blob physics to make those clouds clump together. Until then, I hope you have some fun with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/07/looking-for-inspiration-in-all-the-animation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L-systems</title>
		<link>http://dustytome.net/moot/2011/07/l-systems/</link>
		<comments>http://dustytome.net/moot/2011/07/l-systems/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 22:59:30 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=136</guid>
		<description><![CDATA[A few weeks ago I developed an interest in generative art. This was primarily from my desire to follow in the path of a number of great Flash developers whose art tools were both amazing and inspiring. My search lead &#8230; <a href="http://dustytome.net/moot/2011/07/l-systems/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I developed an interest in generative art. This was primarily from my desire to follow in the path of a number of great Flash developers whose art tools were both amazing and inspiring. My search lead me to the <a href="http://philipgalanter.com/generative_art/wiki/index.php5?title=Main_Page">generative art wiki</a>, which while sparse, is certainly a good starting place for such things. One page in particular caught my eye: <a href="http://philipgalanter.com/generative_art/wiki/index.php5?title=L-systems">l-systems</a>. These systems can be used to create some very complex and interesting simulations of plants &#038; other abstract visuals (which I discovered quite by accident).</p>
<p>For the full (highly mathematical (and incredibly difficult for me to grok)) breakdown, I would direct you to <a href="http://algorithmicbotany.org/papers/#abop">The Algorithmic Beauty of Plants</a>, which is about a decade and a half old, but still appears to be a great introduction to the subject. Here I will present my own work with l-systems in Actionscript 3 and Flash.</p>
<p>The (extremely) basic concept of an l-system is to generate progressively more complex strings given a start point and a set of transformations (called &#8216;productions&#8217; or &#8216;production rules&#8217;). Anytime a rule is matched, the character is replaced with the characters from the rule. If no rule is matched, the character is copied into the new string unchanged. For example, an l-system may have a starting string of &#8220;A&#8221;, and a production rule of &#8220;A => BAB&#8221;. The first iteration of l-system will be &#8220;A&#8221;, the second &#8220;BAB&#8221;, the third &#8220;BBABB&#8221;, and so on.</p>
<p>(A quick note on the replacement: don&#8217;t do what I did and just run a quick stringReplace on each rule &#038; iteration. It has to be done <em>per character</em>, especially as the rules get more complex. That isn&#8217;t to say the string replace produces some interesting results&#8230;)</p>
<p>In order to create something graphical, the production rules are linked up to a &#8216;turtle&#8217; with each character affecting the movement of the drawing pointer. The &#8216;vocabulary&#8217; of the rules is slightly extended in order to allow more complex actions. A basic 2D turtle uses the set of characters &#8216;F[]+-&#8217;.</p>
<ul>
<li>F: move forward by a set amount</li>
<li>[: save turtle state (position, line size, heaving, etc)</li>
<li>]: Pop the last turtle state off the stack, and reset turtle to that state</li>
<li>+/-: Rotate the turtle left or right by a set amount</li>
</ul>
<p>Other letters may also be added into the vocabulary to be replaced by production rules later on. The first letter typically used is &#8216;X&#8217;.</p>
<p>So, taking a cue from the generative art wiki, a simple system may be defined by these rules:<br />
w: X<br />
p1: X → F[+X]F[-X]+X<br />
p2: F → FF</p>
<p>and would result in</p>
<p>n = 0; X<br />
n = 1; F[+X]F[-X]+X<br />
n = 2; FF[+F[+X]F[-X]+X]FF[-F[+X]F[-X]+X]+F[+X]F[-X]+X</p>
<p>with a graphical representation similar to:</p>
<p><img src="http://dustytome.net/moot/wp-content/uploads/2011/07/03-300x143.png" alt="" title="Simple l-system" width="300" height="143" class="alignnone size-medium wp-image-181" /></p>
<p>This should be enough to get going. For more information, I highly reccommend &#8220;The Algorithmic Beauty of Plants&#8221; mentioned earlier.</p>
<p>In addition, I made a little Flash example that <a href="http://dustytome.net/demos/growth/">randomizes some of the production rules</a>. It creates some interesting results, though not as full-bodied as I would like.</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/07/l-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generative Foliage</title>
		<link>http://dustytome.net/moot/2011/06/generative-foliage/</link>
		<comments>http://dustytome.net/moot/2011/06/generative-foliage/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 10:54:46 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=158</guid>
		<description><![CDATA[I have been working on my own bit of generative art recently, but I wanted to gather a number of the pieces that have served as inspiration for my own work into one place and share them (and perhaps keep &#8230; <a href="http://dustytome.net/moot/2011/06/generative-foliage/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been working on my own bit of generative art recently, but I wanted to gather a number of the pieces that have served as inspiration for my own work into one place and share them (and perhaps keep them updated as I find more).</p>
<p>First there are these that I have recently run across:<br />
Matthew Cooley&#8217;s <a href="http://open.adaptedstudio.com/cjs/5_Tree.html">HTML5 tree</a>. Love the colors.<br />
Daniel Brown&#8217;s <a href="http://www.play-create.com/id.php?013">BBC Bloom Flower</a>. Amazing 3D.<br />
Daniel Brown&#8217;s <a href="http://www.play-create.com/id.php?001">On growth and form</a>. Love it, perhaps my ultimate goal.</p>
<p>Perhaps most important to my work is Grant Skinner&#8217;s <a href="http://incomplet.gskinner.com/index2.html#sakura2">Sakura</a>, <a href="http://incomplet.gskinner.com/index2.html#tree">Tree</a>, <a href="http://gskinner.com/blog/assets/Elm.html">Elm</a>. These are the experiments that lead me to try my own hand at tree generation. Luckily, Grant explains his approach <a href="http://gskinner.com/blog/archives/2008/06/programatically.html">here</a>.</p>
<p>I have decided to make things a bit more difficult on myself, and have approached the foliage generation with an <a href="http://en.wikipedia.org/wiki/L-system">L-system </a> implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/06/generative-foliage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trainification</title>
		<link>http://dustytome.net/moot/2011/06/trainification/</link>
		<comments>http://dustytome.net/moot/2011/06/trainification/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 17:00:18 +0000</pubDate>
		<dc:creator>Travis</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://dustytome.net/moot/?p=142</guid>
		<description><![CDATA[I picked up Don&#8217;t Shoot the Dog the other day from Wolf Park. It was a fascinating read that has inspired me to return to training my dogs (and perhaps one day some fish). As I progressed through the book, &#8230; <a href="http://dustytome.net/moot/2011/06/trainification/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I picked up <a href="http://www.amazon.com/Dont-Shoot-Dog-Teaching-Training/dp/0553380397">Don&#8217;t Shoot the Dog</a> the other day from <a href="http://wolfpark.org/">Wolf Park</a>. It was a fascinating read that has inspired me to return to training my dogs (and perhaps one day <a href="http://www.youtube.com/watch?v=eTpKEyqUyP0">some fish</a>).</p>
<p>As I progressed through the book, I couldn&#8217;t help reflect upon Raph Koster&#8217;s work, <a href="http://www.amazon.com/Theory-Fun-Game-Design/dp/1932111972">A Theory of Fun for Game Design</a>. It has been some time since I last read it, and I am guilty of having paraphrased it incorrectly before, but the (very) general message of the book boils down to &#8220;fun is using a skill to accomplish some task&#8221;. Its a bit more complex than that, but that should do for comparison.</p>
<p>What made Don&#8217;t Shoot the Dog so interesting was that Karen Pryor wrote of the training being &#8216;fun&#8217; for the animal as it accomplished the goals set out for it by the trainer. The animal was, in effect, playing a game and having the exact same type of fun that Koster refers to in his book: using or developing a skill in order to achieve a goal. There are other points in the book that are similar to key concepts in game design, such as reward spacing. Pryor emphasizes that rewards should be given quite liberally early on during training, should be linked as closely to the desired action as possible, and rewards should be decreased or given for more complex actions as time progresses. This type of reward structure is very similar to how a good game works. For an example, go to kongregate.com (or any other casual flash games site) and play through a few games. Even better, load up a level-based MMO. You&#8217;ll find early rewards &#038; tips throughout many of the games, with decreased payout as the game gets tougher.</p>
<p>I&#8217;m sure this is not really anything new to game designers (though if it is, perhaps its time to start training dogs). Perhaps most interesting to me is just how similar our minds are to animals, and how easily &#8216;hacked&#8217; they can be when one uses a reward system that is strongly linked to a desired action. I think this is what gets people when they listen to Jesse Schell&#8217;s talk on <a href="http://www.ted.com/talks/jesse_schell_when_games_invade_real_life.html">games invading real life</a>.  When one listens to his speech, it can quickly become disgusting as he plays that Mario coin noise for every &#8216;good&#8217; action someone takes in his world of the future. One thinks to themselves &#8220;There is no way I could be so easily taken in by a few &#8216;points&#8217; &#8220;. But just as Karen Pryor can get &#8216;untrainable&#8217; professionals to do the most ridiculous tasks with just a few words pointing in them in the right direction, companies and other individuals can control our actions with just the right encouragement.</p>
<p>This concept shouldn&#8217;t create fear in an individual. Instead, it should just serve as a reminder for one to live an &#8216;examined life&#8217;, and think about why are they doing what they are doing. Knowing that rewards are a huge incentive for one&#8217;s actions should allow an introspective individual to analyze more deeply the causes of their actions, and perhaps even tweaks those rewards to influence their life in the direction they wish to progress.</p>
<p>My final point of this analogy is that this whole concept of &#8216;gamification&#8217;, the buzzword du jour, could be considered stale and well-researched. I argue that anyone seeking a gamification expert should find the best animal trainer they can find, and put them to work &#8216;shaping&#8217; their target audience to their desired action. Trainers, get out your clickers&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dustytome.net/moot/2011/06/trainification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

