<?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>Zachernuk.com &#187; doodles</title>
	<atom:link href="http://www.zachernuk.com/category/doodles/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zachernuk.com</link>
	<description>The desk of Brandel Zachernuk</description>
	<lastBuildDate>Tue, 27 Jul 2010 01:39:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>More laser cuttings + an automatic shape generator in the works?</title>
		<link>http://www.zachernuk.com/2010/07/27/more-laser-cuttings-an-automatic-shape-generator-in-the-works/</link>
		<comments>http://www.zachernuk.com/2010/07/27/more-laser-cuttings-an-automatic-shape-generator-in-the-works/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 01:39:26 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[doodles]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[3mm]]></category>
		<category><![CDATA[acrylic]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[belt]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[case]]></category>
		<category><![CDATA[compass]]></category>
		<category><![CDATA[cubes]]></category>
		<category><![CDATA[cutting]]></category>
		<category><![CDATA[enclosure]]></category>
		<category><![CDATA[feelspace]]></category>
		<category><![CDATA[finger joint]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[MDF]]></category>
		<category><![CDATA[motor]]></category>
		<category><![CDATA[ponoko]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=598</guid>
		<description><![CDATA[I went to Ponoko yesterday and picked up my next set of cut materials &#8211; after my first design didn&#8217;t factor the cut width into the calculations at all I might have overcompensated, but only very very slightly &#8211; and now I know that the way to correct for it is as simple as an [...]]]></description>
			<content:encoded><![CDATA[<p>I went to Ponoko yesterday and picked up my next set of cut materials &#8211; after my first design didn&#8217;t factor the cut width into the calculations at all I might have overcompensated, but only very very slightly &#8211; and now I know that the way to correct for it is as simple as an &#8216;offset path&#8217; command.  If anyone is interested I can put up a video tutorial showing where the options are in Illustrator and Inkscape. I am especially pleased with the enclosure!</p>
<h2>The Car</h2>
<p>I have the mk.2  car back!  It went together very well, though it was perhaps too tight in some places &#8211; the short loops and forks that hold the drive wheels to the gears needed to be shaved a little.  I added 0.1mm to the perimeter of all the shapes, and on thinking about it, it seems likely that it should have been more like 0.08 mm or so.  Needing to make adjustments that tiny is a strange business indeed!</p>
<p>Anyway, here is the finished product in all its lasered glory:</p>
<p><a href="http://www.flickr.com/photos/brandelf/"><img class="alignnone" src="http://farm5.static.flickr.com/4126/4831972265_7b87ff2833.jpg" alt="" width="500" height="333" /></a></p>
<p>This time there were only two things amiss:  First, I didn&#8217;t account for the width of the AA batteries in the bottom compartment in <em>addition</em> to the holder for the power transfer gear, so it can only hold 1x AA in the bottom bay and 2x AA in the top &#8211; although you could probably pack a bunch of those squishy Lithium ion batteries in with no problem.  The other problem lies in trying to make the design too cramped &#8211; on each side, one wheel is attached directly to the motor, and one wheel is attached via a wooden axle, to a point behind the motor that powers the opposite side.  The current design is so compact, though, that there isn&#8217;t really enough room behind the motor for a solid fixture, and it has a tendency to fall off.</p>
<p>Widening the design by 3mm would solve both of those problems and the whole plan would stay well within the 181 x 181 mm limits set by Ponoko though, so I&#8217;m pretty pleased with the design.  Ideally I&#8217;d like to be able to keep the base design small enough that it can form the basis of a miniature robotics platform, and be able to have room on a P1 board to put holders for sensors or a small robotic arm. Stay tuned!</p>
<h2>Arduino Enclosure</h2>
<p>I also needed to make an enclosure for the Arduino Duemilanove as part of another project I&#8217;ve been tinkering with. After looking online I found surprisingly few examples anywhere &#8211; in particular a total absence of  compact, fully-enclosing cases, so I designed one and got it cut.  At first I was going to get it made in 3mm MDF as well but Heather suggested that an acrylic would be more pleasing and I agree.  It looks like this:</p>
<p><a href="http://www.flickr.com/photos/brandelf/"><img class="alignnone" src="http://farm5.static.flickr.com/4083/4831929119_a3b02998a9.jpg" alt="" width="500" height="333" /></a></p>
<p>There are pass-through holes for the three holes in the Duemilanove board,  so it could be bolted to another object.  I offset the pats for this design by 0.1mm as well, and unfortunately, acrylic is a lot more brittle than MDF, which has meant a couple of small parts snapping off when I tried to force them.  Other than that, though, the design is perfect and the tightness has meant it keeps together really well!</p>
<p><a href="http://www.flickr.com/photos/brandelf/"><img class="alignnone" src="http://farm5.static.flickr.com/4090/4831930539_fa04ab8bcf.jpg" alt="" width="500" height="333" /></a></p>
<p>The other good thing about sticking the Arduino in an enclosure is that you can stick other things to it &#8211; in this case I wanted to guarantee the orientation and position of a compass module on top of the unit, which is encased in the small box on top.</p>
<p>Once I made the enclosure design (and was able to verify that it actually works), I decided that it would be worth looking into making the interlocking parts more automatically.  I was inspired by <a href="http://www.flickr.com/photos/generated/tags/cubes/">Jared Tarbell&#8217;s Cubes</a> to start thinking about how to generate the map automatically.  It&#8217;s still very much a sketch, but the principle is straightforward enough to automate most &#8211; if not all- of the process.</p>
<p>Lay out the lines of a shape by clicking, adjust the tooth width with the slider and hit &#8216;clear&#8217; to clear the shape.  Enjoy!</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_BoxDrawer_774729340"
			class="flashmovie"
			width="600"
			height="600">
	<param name="movie" value="http://www.zachernuk.com/wp-content/2010/07/BoxDrawer.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.zachernuk.com/wp-content/2010/07/BoxDrawer.swf"
			name="fm_BoxDrawer_774729340"
			width="600"
			height="600">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2010/07/27/more-laser-cuttings-an-automatic-shape-generator-in-the-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cutting with lasers!</title>
		<link>http://www.zachernuk.com/2010/06/21/cutting-with-lasers/</link>
		<comments>http://www.zachernuk.com/2010/06/21/cutting-with-lasers/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 11:01:07 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[doodles]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[cut]]></category>
		<category><![CDATA[cutting]]></category>
		<category><![CDATA[fleishman]]></category>
		<category><![CDATA[gear]]></category>
		<category><![CDATA[gregg]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[lasers]]></category>
		<category><![CDATA[MDF]]></category>
		<category><![CDATA[motors]]></category>
		<category><![CDATA[ponoko]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[wood]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=553</guid>
		<description><![CDATA[I&#8217;ve been itching to try out Ponoko for a long time.  The idea of any old person being able to turn vector shapes into real objects is a spectacularly empowering one.  After seeing some of Gregg Fleishman&#8217;s incredible work, I decided I had to start experimenting.
I wasn&#8217;t sure what to start with though &#8211; something [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been itching to try out <a href="http://www.ponoko.com/">Ponoko </a>for a long time.  The idea of any old person being able to turn vector shapes into real objects is a spectacularly empowering one.  After seeing some of <a href="http://www.greggfleishman.com/">Gregg Fleishman&#8217;s</a> <a href="http://www.greggfleishman.com/furniture.html">incredible </a><a href="http://www.greggfleishman.com/Vehicles.html">work</a>, I decided I had to start experimenting.</p>
<p>I wasn&#8217;t sure what to start with though &#8211; something too easy and you won&#8217;t learn anything about the nature of the medium  - cutting width, material tolerances, that sort of thing.  On the other hand, though, if you reach too far  you won&#8217;t end up learning anything either &#8211; if you try to design an ornate interlocking castle without some appreciation of how things actually work you&#8217;ll end up with an elaborate mess.  So I tried to strike a balance somewhere in the middle.  I tried to design a remote control car with rack-and-pinion steering (though I didn&#8217;t know what that was until I looked it up either)</p>
<p><a href="http://www.zachernuk.com/wp-content/2010/06/car-02.png"><img class="size-full wp-image-557 alignnone" title="car-0" src="http://www.zachernuk.com/wp-content/2010/06/car-02.png" alt="car-0" width="550" height="400" /></a></p>
<p>The first thing to consider with laser cutting things is that you only get flat sheets and holes carved into a single dimension &#8211; so when you have a mechanism where two parts have to be hinged at right angles, you&#8217;ll need to make that hinge  happen at right angles to both of <em>those</em> surfaces.  I&#8217;m not an engineer so it&#8217;s a novel experience trying to figure these things out. Once I had an overall idea of how the car was going to fit toegether, I could start doing more precise drawing.</p>
<p><a href="http://www.zachernuk.com/wp-content/2010/06/car-1.png"><img style="border: 0px initial initial;" title="car-1" src="http://www.zachernuk.com/wp-content/2010/06/car-1.png" alt="car-1" width="550" height="380" /></a></p>
<p><a href="http://www.zachernuk.com/wp-content/2010/06/car-1.png"></a>Vector graphics applications are a wonderful thing.  Using Illustrator, I was able to draw the shapes I wanted, measure them up against one another and fit them on to the specified sizes.  I was hoping to keep the thing as small as possible, so it&#8217;s on an 18&#215;18cm board with a lot of room left over!  I used some of that room to try and figure out how a bearing assembly might work made out of cut board.</p>
<p>Next I had to wait.  Ponoko say they&#8217;ll clear their queue of designs inside 28 days, and mine was done within 11 so I was pretty happy with that.</p>
<p>Then, it arrived! Actually I picked it up but it was fantastic to see.  Unfortunately at the time of first unwrapping the sheet with all 114(!) parts laid out together I didn&#8217;t have a camera with me, so that moment is lost to history.  Once I did manage to get everything assembled, though, it looked like this:</p>
<p><a href="http://www.zachernuk.com/wp-content/2010/06/carcut.jpg"><img class="alignnone size-full wp-image-562" title="carcut" src="http://www.zachernuk.com/wp-content/2010/06/carcut.jpg" alt="carcut" width="600" height="448" /></a></p>
<p><a href="http://www.zachernuk.com/wp-content/2010/06/carcut.jpg"></a>Unfortunately once it was assembled, it turned out that the motors I had planned to use were too big, and the drive axle for the rear wheels was too short.  The bearings worked out better than expected, though, and at about a third of a millimetre, the beam width will be easy to account for in future designs.  I&#8217;m looking forward to prototype #2! Between this and the <a href="http://arduino.cc/">Arduino </a>micro-controller, I think it&#8217;ll be possible to do some pretty fun stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2010/06/21/cutting-with-lasers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Relief mapping in Unity</title>
		<link>http://www.zachernuk.com/2010/05/23/relief-mapping-in-unity/</link>
		<comments>http://www.zachernuk.com/2010/05/23/relief-mapping-in-unity/#comments</comments>
		<pubDate>Sun, 23 May 2010 09:14:02 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[doodles]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[CNC]]></category>
		<category><![CDATA[depth]]></category>
		<category><![CDATA[dmap]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[height]]></category>
		<category><![CDATA[heightmap]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[relief]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=513</guid>
		<description><![CDATA[After making the straight geometry manipulation experiment I thought I would have a look at loading images in as relief maps, similar to the real-world products they&#8217;re offering at Shapeways.   A relief map is when you take the colour of a pixel in an image and set that to the elevation of the [...]]]></description>
			<content:encoded><![CDATA[<p>After making the straight <a href="http://www.zachernuk.com/2010/05/21/geometry-manipulation-in-unity3d/">geometry manipulation</a> experiment I thought I would have a look at loading images in as relief maps, similar to the real-world products they&#8217;re offering at <a href="http://www.shapeways.com">Shapeways</a>.   A relief map is when you take the colour of a pixel in an image and set that to the elevation of the image.  While Unity is great for 3D, it doesn&#8217;t want to do much file I/O, so you&#8217;ll have to load images from elsewhere on the internet if you want to see something different. The default image supplied here is from <a href="http://lcv.stat.fsu.edu/research/geometrical_representations_of_faces/">Florida State U&#8217;s Laboratory for Computational Vision</a>, and displays an actual height-map generated for this kind of purpose.   If you want something else, just paste the link in and click &#8216;load image&#8217;, and as always in Unity, right-click for full-screen.</p>
<p><em>Please view the full post to see the Unity content.</em></p>
<p>What I&#8217;ve got so far is not bad, but surprisingly noisy!<br />
This much higher resolution than the <a href="http://www.zachernuk.com/2009/11/12/freaky-awesome-3d-camera-projection/">mesh experiment,</a> but Unity can&#8217;t get access to the webcam (without a struggle), so doing relief mapping from there will have to wait a while.  As always, stay tuned!</p>
<p><a href="http://www.zachernuk.com/wp-content/2010/05/reliefMapIcon.png"><img class="alignnone size-full wp-image-524" title="reliefMapIcon" src="http://www.zachernuk.com/wp-content/2010/05/reliefMapIcon.png" alt="reliefMapIcon" width="64" height="64" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2010/05/23/relief-mapping-in-unity/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Geometry manipulation in Unity3D</title>
		<link>http://www.zachernuk.com/2010/05/21/geometry-manipulation-in-unity3d/</link>
		<comments>http://www.zachernuk.com/2010/05/21/geometry-manipulation-in-unity3d/#comments</comments>
		<pubDate>Fri, 21 May 2010 02:08:10 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[doodles]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[collision]]></category>
		<category><![CDATA[displacement]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[intersection]]></category>
		<category><![CDATA[manipulation]]></category>
		<category><![CDATA[mesh]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=497</guid>
		<description><![CDATA[After seeing Aidan&#8217;s fantastic processing experiment I wanted to see what 3D geometry manipulation is like in Unity. So far I have found that it&#8217;s like this:
Please view the full post to see the Unity content.
Move the mouse over the mesh to see it bubble &#8211; increase or decrease the decay to change how fast [...]]]></description>
			<content:encoded><![CDATA[<p>After seeing <a href="http://aidan.rfm.co.nz/blog/2010/05/pixel-lake/">Aidan&#8217;s fantastic processing experiment</a> I wanted to see what 3D geometry manipulation is like in Unity. So far I have found that it&#8217;s like this:</p>
<p><em>Please view the full post to see the Unity content.</em></p>
<p>Move the mouse over the mesh to see it bubble &#8211; increase or decrease the decay to change how fast the pattern melts away.  The mesh is pretty detailed &#8211; 100&#215;100 divisions, so it runs quite well.   The wait on startup and reset is due to the  mesh collision object.  Next I&#8217;m hoping to be able to identify specific faces, and determine the extent of the plane.  Stay tuned!</p>
<p>UPDATE: You can now change the mesh resolution, pan around and zoom with the scrollwheel.  Check it out!</p>
<p>UPDATE UPDATE: Textures on the material!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2010/05/21/geometry-manipulation-in-unity3d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dabbling in Unity3D</title>
		<link>http://www.zachernuk.com/2010/05/08/dabbling-in-unity3d/</link>
		<comments>http://www.zachernuk.com/2010/05/08/dabbling-in-unity3d/#comments</comments>
		<pubDate>Sat, 08 May 2010 01:19:32 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[doodles]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[extrusion]]></category>
		<category><![CDATA[footprint]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[mesh]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity3d]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=430</guid>
		<description><![CDATA[After looking into Java3D for a while, I liked it a lot.  There&#8217;s a scene graph metaphor in there that help bridge the gap from something Papervision, which has a much looser method for scene control, to Renderware &#8211; or any other fully-fledged 3D system.   It&#8217;s based on top of JoGL, which means you [...]]]></description>
			<content:encoded><![CDATA[<p>After looking into Java3D for a while, I liked it a lot.  There&#8217;s a scene graph metaphor in there that help bridge the gap from something Papervision, which has a much looser method for scene control, to Renderware &#8211; or any other fully-fledged 3D system.   It&#8217;s based on top of JoGL, which means you could delve down into openGL-like syntax for finer grained control, and most importantly, it runs fast enough to play with about 15 times the polygon count of Papervision.</p>
<p>The big downside, though, is that it requires Java (~17MB download) &#8211; and Java 3D (another 7MB) to run, and if you want to use it twice, chances are you&#8217;ll have to download it twice.</p>
<p>The only alternative I could really find was Unity3D, a relatively recent 3D engine and development platform.  It&#8217;s hardware accelerated, runs on Mac and Windows (no Linux build unfortunately), and has a browser plugin that only runs to about 2.5MB &#8211; about the same size as Silverlight or Flash 10, but a lot simpler to install.</p>
<p><img class="alignnone" title="Unity boasts Drag n Drop Everything" src="http://unity3d.com/unity/features/images/editor/1-normal.jpg" alt="" width="539" height="400" /></p>
<p>Terrific!  The only problem is that it&#8217;s a Game Development tool with an emphasis on &#8216;Drag and Drop Everything&#8221;.  As a programmer, I only really started getting into Flash when I could produce stuff entirely in code &#8211; while the visual editor is good for animation, I prefer to be able to see exactly what the computer thinks I&#8217;m doing.</p>
<p>After mucking about with Unity for a few weeks, I have begun to see how to circumvent the visual editor and work entirely in code, and I have managed to get to this point.  Click in the blue region to draw points, click back on the first one to create an extrusion from it.  If you click clockwise it&#8217;ll come out inside out, but making it counter-clockwise will make it normal.</p>
<p><em>Please view the full post to see the Unity content.</em></p>
<p>While this is pretty much the same as the Flash version I produced a few months ago, the fact that it&#8217;s in Unity means it can have realtime lighting and at least 15 times the polygons.  I&#8217;m looking forward to taking this further!</p>
<p>If you&#8217;re not familiar with what Unity can do, check out the games made by <a href="http://blurst.com/">Blurst</a>.  It&#8217;s hard to pick a favourite, but I highly recommend<a href="http://blurst.com/minotaur-china-shop/"> Minotaur China Shop</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2010/05/08/dabbling-in-unity3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital sand</title>
		<link>http://www.zachernuk.com/2010/03/17/digital-sand/</link>
		<comments>http://www.zachernuk.com/2010/03/17/digital-sand/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 03:07:20 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[doodles]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[doodle]]></category>
		<category><![CDATA[emergent]]></category>
		<category><![CDATA[generative]]></category>
		<category><![CDATA[sand]]></category>
		<category><![CDATA[simulation]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=400</guid>
		<description><![CDATA[As I have mentioned earlier,  what excites me most about gaming &#8211; and computers in general &#8211; is the capability for simulation. If we create a system that obeys the same rules as reality, we can use that system to better understand reality.  Not only that, it allows us to test out new [...]]]></description>
			<content:encoded><![CDATA[<p>As I have mentioned earlier,  what excites me most about gaming &#8211; and computers in general &#8211; is the capability for simulation. If we create a system that obeys the same rules as reality, we can use that system to better understand reality.  Not only that, it allows us to test out new theories and ask  &#8220;what would happen if things were a little different?&#8221;</p>
<p>The complexity of the thing you simulate doesn&#8217;t have to be much either.  The term &#8220;computer simulation&#8221; often evokes imagery of simulating enormous and complex systems &#8211; weather patterns or the turbulence flow from a large-scale atomic detonation &#8211; but simulation can be useful on a more modest scale too.  In University, a friend of mine threw together a blackjack simulation.  He wanted to see the patterns of how well a virtual player does when it follows hard-and-fast rules &#8211; refusing cards over a total of 16, 18 and so on.* The first programmable computer, the Z3, ran at a staggering 10 Hertz &#8211; roughly one <em>billionth </em>of the speed of a modern computer.  Even at that speed, though, it brought the science of aviation forward by a decade through simulating wing flutter at rates of execution that were previously impossible to reach.</p>
<p>The example I often use to explain my fascination with simulation is this:  Imagine a child&#8217;s sand-pail at a beach.  Imagine the light dusting of sand it gets from a long day of use.  The smoothness at the joints, the build-up inside any detailing and under the lip.  Now imagine taking the bucket away and leaving the sand &#8211; the suggestion of form but not the form itself.  Next to impossible in reality, but in a simulation, once you have the base action down, setting things to on or off is the easiest thing in the world.</p>
<p><a href="http://www.zachernuk.com/wp-content/2010/03/sandy.PNG"><img class="alignnone size-full wp-image-407" title="sandy" src="http://www.zachernuk.com/wp-content/2010/03/sandy.PNG" alt="sandy" width="293" height="274" /></a></p>
<p>I&#8217;ve been using this example of the sand and the bucket for years now, and recently I decided to actually do something about it &#8211; make a sand simulation that can show you what I mean, rather than just telling people about it.  Here it is! Just move the mouse around on the play field to shift the sand.  If you want extra options for playing with the sand fall or changing the pen size, open the options panel.  Many thanks to Aidan of <a href="http://aidan.rfm.co.nz/blog/">Shade and Prime</a> for the fantastic elevation visualizer.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SandDisplacer_472782050"
			class="flashmovie"
			width="400"
			height="600">
	<param name="movie" value="http://www.zachernuk.com/wp-content/2010/03/SandDisplacer.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.zachernuk.com/wp-content/2010/03/SandDisplacer.swf"
			name="fm_SandDisplacer_472782050"
			width="400"
			height="600">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>iPhone app, anyone?</p>
<p>*  While it might seem like this is a less-than-useful endeavour to use computers for, I&#8217;m sure we can all agree that it is better to test a virtual player losing virtual money than trying it at your local casino.  In fact, after finding that there is no foolproof approach to blackjack, he gave up on it altogether and started putting his money in the stock market&#8230; you win some, you lose some.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2010/03/17/digital-sand/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>On Social games: Why Mafia Wars isn&#8217;t social</title>
		<link>http://www.zachernuk.com/2010/01/09/on-social-games-why-mafia-wars-isnt-social/</link>
		<comments>http://www.zachernuk.com/2010/01/09/on-social-games-why-mafia-wars-isnt-social/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 03:29:09 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Incidental Learning]]></category>
		<category><![CDATA[doodles]]></category>
		<category><![CDATA[deferred]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[indirect]]></category>
		<category><![CDATA[mafia]]></category>
		<category><![CDATA[participation]]></category>
		<category><![CDATA[simultaneous]]></category>
		<category><![CDATA[skinner]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[symmetry]]></category>
		<category><![CDATA[wars]]></category>
		<category><![CDATA[zynga]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=360</guid>
		<description><![CDATA[I contend that "Social Games" are not currently Social at all.  I suggest some directions to explore.]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I don&#8217;t really know what I want to say about Social games.  Is a background really interesting? I don&#8217;t think so.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">On Social Games: Mafia Wars and a question of &#8220;Social&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">A few months back I started playing through all of the main (free) Social Games available &#8211; I went through most of the games by the two major figures in the space, Playfish and Zynga, and a handful of the offerings from other competitors. I&#8217;m hoping to</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Why can&#8217;t we all just get along?</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">One thing that struck me about these Social Games is how little social relevance they possess.  Mafia Wars, the most popular social game, puts you in the position of a mafia boss.  Friends of yours who also subscribe to the game comprise your mafia.  You are able to request assistance on specific jobs from your friends, give them gifts and swap special &#8216;collectible&#8217; items with them &#8211; but participation goes no further than this.  All that distinguishes one friend from another is their name, avatar and experience level.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In fact, for a price, you are able to enlist random strangers into your ranks, who behave no differently to your peers. Equally, you are treated in an identical manner &#8211; your name used as a largely meaningless token in your friend&#8217;s Mafia engagements.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">So?</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">To an extent, this is an inevitable part of gaming &#8211; if I create a game-world with a limited complexity of representation, some features of my personality will be rendered irrelevant.  The fact that I like long walks on the beach is likely to be insignificant in a game about intergalactic space battles, just as my intergalactic space tactics are likely to be unimportant in a game about long walks on the beach.  In Mafia wars, though, not even my views on &lt;i&gt;the mafia&lt;/i&gt; make the cut &#8211; not so much as a D&amp;D-style moral alignment or request to sacrifice progress toward one goal for another.  Likewise, any charitable acts I engage in &#8211; sending out an &#8220;Energy Pack&#8221; or giving a gift to my peers &#8211; carries no consequence to me.  The items are not available to me in the first place other than to give to others.  Without any opportunity cost there is no decision for me to make, and no way to make my mark or distinguish myself from other players.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The fact that players in Mafia Wars are often on at different times, and for wildly different quantities of time makes more direct involvement somewhat difficult, but not impossible.</div>
<p>A few months back I started playing through all of the main (free) Social Games available &#8211; I went through most of the games by the two major figures in the space, Playfish and Zynga, and a handful of the offerings from other competitors. I&#8217;m hoping to turn this into a series of posts on my observations through these games.</p>
<h2>Why can&#8217;t you play nicely with the others?</h2>
<p>One thing that struck me about these Social Games is how little social interaction actually occurs.  Mafia Wars, the most popular social game, puts you in the position of a mafia boss.  Friends of yours who also subscribe to the game comprise your mafia.  You are able to request assistance on specific jobs from your friends, give them gifts and swap special &#8216;collectible&#8217; items with them &#8211; but participation goes no further than this.  All that distinguishes one friend from another is their name, avatar and experience level.</p>
<p>In fact, for a price, you are able to enlist random strangers into your ranks, who behave no differently to your peers.   Equally, you are treated in an identical manner &#8211; your name used as a largely meaningless token in your friend&#8217;s Mafia engagements.</p>
<h2>So?</h2>
<p>To an extent, this is an inevitable part of gaming &#8211; if I create a game-world with a limited complexity of representation, some features of my personality will be rendered irrelevant.  The fact that I like long walks on the beach is likely to be insignificant in a game about intergalactic space battles, just as my intergalactic space tactics are likely to be unimportant in a game about long walks on the beach.  In Mafia wars, though, not even my views on <em>the Mafia </em>make the cut &#8211; not so much as a D&amp;D-style moral alignment or request to sacrifice progress toward one goal for another.  Likewise, any charitable acts I engage in &#8211; sending out an &#8220;Energy Pack&#8221; or giving a gift to my peers &#8211; carries no consequence to me.  The items are not available to me in the first place other than to give to others.  Without any opportunity cost there is no decision for me to make, and no way to make my mark or distinguish myself from other players.  When I play, no aspect of how <em>you</em> play has any impact on my game&#8217;s representation of you, and vice versa.</p>
<p><strong>How it normally works</strong></p>
<p>Most multiplayer games have been based on either <em>symmetrical </em>(largely turn-based) or <em>synchronous </em>play.  Symmetrical games like Chess require that for every move that you make,  I make one too.  Synchronous games like Warcraft 3 and Halo  rely on the fact that we are both given the same opportunity to act &#8211; they assume that every player is giving the game their full attention,  so that any difference in impact comes down to a difference in skill.   It&#8217;s not possible to rely solely on these techniques for creating a multiplayer experience in the social space &#8211;  I may rack up ten times the average play-time of my friends in a week.  A symmetrical, round-robin approach would mean that nine-tenths of my time in the game would be spent waiting for others to catch up, while a synchronous model would require that I be online at the exact same time as my friends in order to collaborate.</p>
<p>These traditional methods for creating a multi-player experience may fail in a larger social context, but they were  also designed for a different quantity of players.  Chess requires exactly two players to allow a game to proceed, and games like Warcraft or Halo require between 2 and 16 players.  A typical social game has players in the thousands &#8211; Mafia Wars has membership in the <em>tens of millions</em>.</p>
<p>The second difference is in the length of engagement.  A Counterstrike match  is generally around 35 minutes, and a game of Warcraft 3 can last between 30 and 120 minutes.  Mafia Wars and Pet Society offer a single, persistent game experience which lasts indefinitely, often with players racking up 30 minutes or more every day of the week.</p>
<p><strong>Options</strong></p>
<p>The differences between normal videogames and &#8220;Social Games&#8221; do close off some possibilities for how to establish a shared experience, so while we can&#8217;t rely on symmetrical play patterns from a core set of players, we can make use of much longer time-scales and a vastly larger pool of players to draw on.</p>
<p>Rather than a single, one-to-one sequence of interaction, social games can make use of the wider network of contacts &#8211; engaging in multiple parallel &#8216;quests&#8217;, each one requiring roughly equal participation from its members, where the number of quests allows the player to scale their level of involvement.  If I play 2 hours a week, I might participate in 3 quests,  where someone who spends 10 hours will join 20.</p>
<p>Another approach is to let the game play itself &#8211; or at least to for friends to interact with a simulated version of the player,  which is refined over the course of their play-time.  Say I&#8217;m predictably good-aligned in most games (I am.) &#8211; If a friend of mine requests my assistance on a mission which requires some morally dubious action,  It should be possible for my approximated self to decline any requests to participate.  If it is necessary at some later date to request the services of a character with such dull and unflinching moral fortitude, My virtual character may offer his services up (or at least ask me directly whether to do so).</p>
<p><strong>That&#8217;s <em>weird</em>.</strong></p>
<p><strong> </strong>While breaking the convention of a game following a single, coherent thread, or providing a simulated copy of me and my behaviours sound like strange approaches, this is essentially already happening in these social games.  Many avid &#8220;Social gamers&#8221; are registered in several services &#8211; and often several accounts &#8211; suggesting that thy feel that the maximum level of engagement available under a single game / account is insufficient.  Likewise,  any time a character bearing my name, experience level and portrait appears in a social game, it is <em>effectively</em> a simulation of me.  It just so happens that the simulation is  so poor that no two characters with the same level of experience can be considered behaviourally distinct.</p>
<p><strong>What do we get out of this?</strong></p>
<p>Using either (or both) of these approaches, we can come closer to having an actual social game experience.  By relaxing the requirements for symmetrical participation, we can play alongside a number of friends &#8211; and be playing with <em>them,</em> rather the  poor approximation we have now.  By relaxing the requirement for synchronous play through improving that approximation, we open up new opportunities for participation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2010/01/09/on-social-games-why-mafia-wars-isnt-social/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebKit / Mozilla rotation system</title>
		<link>http://www.zachernuk.com/2009/12/22/webkit-mozilla-rotation-system/</link>
		<comments>http://www.zachernuk.com/2009/12/22/webkit-mozilla-rotation-system/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 13:41:02 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[doodles]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=361</guid>
		<description><![CDATA[Every now and then I start looking at some lightweight, non-flash alternatives for doing silly things on web pages.  Recently I switched to using Google Chrome, which uses the Webkit engine for page rendering, which is said to be able to do rotation and the like very quickly.  Without a particular goal in [...]]]></description>
			<content:encoded><![CDATA[<p>Every now and then I start looking at some lightweight, non-flash alternatives for doing silly things on web pages.  Recently I switched to using Google Chrome, which uses the Webkit engine for page rendering, which is said to be able to do rotation and the like very quickly.  Without a particular goal in mind, I decided I would write a basic move and rotation to see how it performed. If you&#8217;re using Firefox 3.5+, Chrome or Safari, you should see an unhelpful black rectangle swinging around in the top left corner. Here&#8217;s how you do it:<br />
<code><br />
theElement.style.setProperty("-webkit-transform","rotate("+(new Date().getTime()/500)+"rad)","");<br />
theElement.style.setProperty("-moz-transform","rotate("+(new Date().getTime()/500)+"rad)","");<br />
</code></p>
<p>Not the most advanced CSS experiment by any stretch of the imagination, but it&#8217;s a start!</p>
<p><script>// <![CDATA[
 setInterval(doStuff,100); var t = 0; function doStuff() { t++; var theElement = document.getElementById('theDivision'); try { theElement.style.setProperty("-webkit-transform","rotate("+(2*Math.sin(t/10))+"rad)","");  } catch(e){} try { theElement.style.setProperty("border",""+Math.round(10+10*Math.sin(t/10))+"px solid black","");  } catch(e){} try { theElement.style.setProperty("-moz-transform","rotate("+(2*Math.sin(t/10))+"rad)","");  } catch(e){} try { theElement.style.setProperty("left",(100+100*Math.cos(t/10))+"px",""); } catch(e){} try { theElement.style.setProperty("top",(100+100*Math.sin(t/10))+"px","");} catch(e){} theElement.innerHTML = ""+t;}
// ]]&gt;</script></p>
<style> div#theDivision{border:thin solid blue;width:120px;height:10px;-webkit-transform: rotate(-10deg); -moz-transform: rotate(-40deg); position:absolute;}</style>
<div id="theDivision">This is in my div</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2009/12/22/webkit-mozilla-rotation-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First-Person Snake!</title>
		<link>http://www.zachernuk.com/2009/12/18/first-person-snake/</link>
		<comments>http://www.zachernuk.com/2009/12/18/first-person-snake/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 09:13:59 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[doodles]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[fill]]></category>
		<category><![CDATA[fps]]></category>
		<category><![CDATA[relative]]></category>
		<category><![CDATA[rotation]]></category>
		<category><![CDATA[snake]]></category>
		<category><![CDATA[transform]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=352</guid>
		<description><![CDATA[Finally finished the work that had built up over my time in Qatar!  After making the Buffer-snake game I started wondering about what else you can change about the basic game mechanic &#8211; if you followed the snake head,  or pivoted with it as though you were playing from something more like a first-person perspective.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Finally finished the work that had built up over my time in Qatar!  After making the Buffer-snake game I started wondering about what else you can change about the basic game mechanic &#8211; if you followed the snake head,  or pivoted with it as though you were playing from something more like a first-person perspective.</p>
<p>The following is the outcome:  Make sure you click inside the window to get it started, the keys are as follows:</p>
<p><strong>Q: </strong>Toggles making the camera turn with the snake, so the head is always pointing down.</p>
<p><strong>W: </strong>Toggles moving with the snake, so the head is always center screen.</p>
<p><strong>E: </strong>Toggle turn amount (90º or continuous)</p>
<p><strong>R: </strong>Get points (increase length)</p>
<p><strong>Arrow Keys:</strong> Turn snake.  In continuous-turn mode, or in rotate-with-snake mode, left and right turn CCW and CW,  and in right-angle,  non-rotate mode, the arrow keys behave like a normal snake game.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_FPSnake3_1412197722"
			class="flashmovie"
			width="400"
			height="600">
	<param name="movie" value="http://www.zachernuk.com/wp-content/2009/12/FPSnake3.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.zachernuk.com/wp-content/2009/12/FPSnake3.swf"
			name="fm_FPSnake3_1412197722"
			width="400"
			height="600">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>What do you think of it?  How do the changes in presentation affect your feelings on the game?  Any reactions would be most welcome.</p>
<p>Personally, I&#8217;m pretty impressed by how different a follow-mode snake feels.  You could imagine navigating a much wider world, or even a looping one where subtle differences creep in over time. Making the game focused on the<em> player (</em>rather than the<em> level) </em>makes me think of it as a much more character- or story-focused environment.</p>
<p>I was also very surprised by just how sickening the motion is in first-person mode.  After messing around with it for about three hours today,  I think I&#8217;m going to need a lie-down.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2009/12/18/first-person-snake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where we have been, and where opticks is going</title>
		<link>http://www.zachernuk.com/2009/09/19/where-we-have-been-and-where-opticks-is-going/</link>
		<comments>http://www.zachernuk.com/2009/09/19/where-we-have-been-and-where-opticks-is-going/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 08:36:44 +0000</pubDate>
		<dc:creator>Brandel Zachernuk</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[The Order]]></category>
		<category><![CDATA[doodles]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[opticks]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[beams]]></category>
		<category><![CDATA[buddhist]]></category>
		<category><![CDATA[chinese]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[monastery]]></category>
		<category><![CDATA[monk]]></category>
		<category><![CDATA[order]]></category>
		<category><![CDATA[painting]]></category>
		<category><![CDATA[ray]]></category>
		<category><![CDATA[raycasting]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://www.zachernuk.com/?p=260</guid>
		<description><![CDATA[Long time no post! Mid-year break is a very long holiday in the Chinese Highschool system, so we made the most of it by doing a lot of traveling.  We saw a lot of wonderful and amusing historical and contemporary sights, and managed to catch up with Family.  I don&#8217;t have a laptop, though, so after [...]]]></description>
			<content:encoded><![CDATA[<p>Long time no post! Mid-year break is a very long holiday in the Chinese Highschool system, so we made the most of it by doing a lot of traveling.  We saw a lot of wonderful and amusing historical and contemporary sights, and managed to catch up with Family.  I don&#8217;t have a laptop, though, so after a couple of days of trying to program (and debug) on paper, I decided to turn my attention to more promising things.</p>
<p>I began thinking about how to write an optics engine in about September 2008.  At the time, I thinking about more minigame scenarios for <a href="http://www.casebookthegame.com">Casebook</a> &#8211; specifically, to find something do with microscopy more that was more interesting than just pulling the focus, taking a stab at the correct zoom level or panning over an endless  expanse of dust specks.  I became intrigued by the complexity present in microscopy &#8211; beams of light reflected, focused, dispersed and focused again.</p>
<p>I started writing a 2D ray-casting system which could do the basic laserbeam-like  stuff. Intersecting with linear mirrors and bouncing off if they were reflective.  From there it was a simple step to add in partial reflectivity &#8211; (a white beam hitting a red mirror would reflect red, a blue beam wouldn&#8217;t reflect at all).   After that, it&#8217;s not a far step from <em>that </em>to implementing solid polygonal objects.  From there, in theory, it&#8217;s just a short jump to including a 2d physics (mechanics) engine like Box2D. From there it looks worthwhile to include image textures on said polygons, as well as applying forces on them at the point of ray intersections.</p>
<p>You may be able to see where this is going.  It&#8217;s a hobby project, so there&#8217;s no harm in it continuing indefinitely, though it helps to have an idea to work toward.  Since I&#8217;m in China, I thought it would be interesting to draw on some of the culture around me &#8211; my first idea*  was &#8220;There was a medieval order of monks in China whose daily lives revolved around doing interesting things with beams of light&#8221;. This is the picture I came up with to express that.</p>
<p><img class="alignnone" title="Initial concept" src="http://farm4.static.flickr.com/3405/3635546314_7a1bc3acd6.jpg" alt="" width="500" height="364" /></p>
<p>With a slightly more concrete direction to move toward, I was able to avoid considering the detail of what the game would be about or how the player would engage with it, adding the necessary engine features that would be required irrespective of how those decisions panned out.</p>
<p>So far, so good.  When I found myself with nothing to do but ponder what the game would actually <em>involve</em>, though,I was at a bit of a loss.  What does the player control?  How would a game progress?  It seems that no matter where a game is supposedly rooted, be it feudal Japan, post-apocalyptic Mars or Victorian England, the game always finds a way of shoehorning in the same mechanics.  I&#8217;m something of an activist when it comes to how the and how the interaction in a game relates to its premise, so if possible I&#8217;d like to go against that trend.</p>
<p>I&#8217;ve got here a bundle of (very) novel mechanics here, so I started by trying to extrapolate from the basic functions, what kind of play experience might to possible.</p>
<p>The first thing that springs to mind is the optics stuff.  As in the image above, having to get a goal object to be lit up, or for a beam to pass from one room into another without interruption would be a reasonable game task, and it could be explained in the context of the Monastery by saying that the place runs on light, and intermittent blockages, dusty mirrors or wild animals can come and interfere with the operation of the place.  Great! You could start out as a janitor!</p>
<p>Next, given what a mechanics engine is typically able to perform, I knew we could have the mechanics stuff like shapes falling, turning, connected by pivots and whatnot.  If you add in to that the ability to use lasers to cut those shapes, I figured we could develop some kind of object deformation, and that could allow for levels where the player is required to destroy an object or a machine. It would be a solid mechanic, but very similar to Nitrome&#8217;s <a href="http://www.nitrome.com/games/icebreaker/">Icebreaker</a> or Eugene Karataev&#8217;s two <a href="http://www.physicsgames.net/game/Splitter.html">Splitter </a><a href="http://www.physicsgames.net/game/Splitter_2.html">games</a>.   There would be differences &#8211; timing would become a factor, as a laser doesn&#8217;t have to cut through a block instantaneously, but it would be much the same mechanic. I <span style="text-decoration: line-through;">anticipate </span>daydream that it would look something like this:</p>
<div id="attachment_264" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-264 " title="order-carving" src="http://www.zachernuk.com/wp-content//order-carving-300x225.jpg" alt="channeling blue light to cut up a red stone" width="300" height="225" /><p class="wp-caption-text">Channeling blue light to cut up a red stone, but with Drama! (Drama = lens flares)</p></div>
<p>Then I remembered you could use this constructively, too &#8211; by chipping away at an object, or cutting out pieces of it carefully, you could fashion replacement pieces for existing machinery &#8211; a new cam, piston casing or something.  You could be the Order&#8217;s <em>handyman </em>too!</p>
<p>From there, I started to think about how the player could rise through the ranks of the place, and what other roles there might be to play.  Living in the Monastery, you may need to defend it, or attack it in order to oust invaders who have already infiltrated the place.</p>
<div id="attachment_266" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-pagoda-entrance.jpg"><img class="size-medium wp-image-266 " title="order-pagoda-entrance" src="http://www.zachernuk.com/wp-content//order-pagoda-entrance-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">... Turning on the outside light?</p></div>
<div id="attachment_267" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-reflecting.jpg"><img class="size-medium wp-image-267 " title="order-reflecting" src="http://www.zachernuk.com/wp-content//order-reflecting-300x225.jpg" alt="Acting as an impromptu mirror during an inconvenient flood of godrays." width="300" height="225" /></a><p class="wp-caption-text">Acting as an impromptu mirror during an inconvenient flood of god-rays.</p></div>
<p>Also, since the life of the people in the Order is defined by this light, they&#8217;d probably use it as the basis of technology.  I&#8217;ll write more about this later, but I&#8217;d like to see what I call &#8220;Brown-box&#8221; technology.  It&#8217;s not black box because you&#8217;re allowed to see inside it, but it&#8217;s not white box either, because you don&#8217;t need to (and indeed, unless you do, the action of the box is simplified down to being that component.   It&#8217;s something I&#8217;ve been pondering over for a long time, and a <a href="http://apes-abroad.livejournal.com/33111.html">post by Colin Northwa</a>y of   <a href="http://fantasticcontraption.com/">Fantastic Contraption</a> got me thinking about how to have my cake and eat it too. Anyway, the brown boxes:</p>
<div id="attachment_268" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-miniature-level.jpg"><img class="size-medium wp-image-268" title="order-miniature-level" src="http://www.zachernuk.com/wp-content//order-miniature-level-300x225.jpg" alt="A mess of componentry in no particular order" width="300" height="225" /></a><p class="wp-caption-text">A mess of componentry in no particular order</p></div>
<div id="attachment_269" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-miniature-level-2.jpg"><img class="size-medium wp-image-269" title="order-miniature-level-2" src="http://www.zachernuk.com/wp-content//order-miniature-level-2-300x225.jpg" alt="More junk.  I have some idea what it could be, but it's all just some idea at the moment." width="300" height="225" /></a><p class="wp-caption-text">More junk.  I have some idea what it could be, but at this point, all of this is just some idea. </p></div>
<p>Next are some images that just help set the scene &#8211; I imagine that the monastery complex will have some very tall buildings, though the tallest classical structures in China (other than the walls and gatehouses) are these heavy stone pagodas.  This one is fairly squat, but they can be quite dizzyingly high.</p>
<div id="attachment_272" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-pagoda.jpg"><img class="size-medium wp-image-272" title="order-pagoda" src="http://www.zachernuk.com/wp-content//order-pagoda-300x225.jpg" alt="One of the shorter pagodas on a misty morning." width="300" height="225" /></a><p class="wp-caption-text">One of the shorter pagodas on a misty morning.</p></div>
<p>Finally, Some pictures that have more to do with just feeling out what the world will be like.</p>
<div id="attachment_273" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-lightcage.jpg"><img class="size-medium wp-image-273" title="order-lightcage" src="http://www.zachernuk.com/wp-content//order-lightcage-300x225.jpg" alt="A precious stone protected by a cage of light beams.  The beams just happen to look very dramatic too." width="300" height="225" /></a><p class="wp-caption-text">A precious stone protected by a cage of light beams.  The beams just happen to look very dramatic too.</p></div>
<p>Dangerous fire-light could be used as a defensive mechanism, protecting valuable things and stopping animals from wandering into places.  Special stones and crystals could be used to convert light from one colour to another, to store energy, or to change properties (density, velocity etc.) upon charging.</p>
<div id="attachment_274" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-backstory.jpg"><img class="size-medium wp-image-274" title="order-backstory" src="http://www.zachernuk.com/wp-content//order-backstory-300x225.jpg" alt="A monument to the first guy who figured out how to play with light.  May or may not be based on the Buddha." width="300" height="225" /></a><p class="wp-caption-text">A monument to the first guy who figured out how to play with light.  May or may not be based on the Buddha.</p></div>
<p>Like the standard representation of magic, preparation or the special treatment of substances to reveal their particular powers could be quite fun.</p>
<div id="attachment_270" class="wp-caption alignnone" style="width: 310px"><a href="http://www.zachernuk.com/wp-content//order-collect.jpg"><img class="size-medium wp-image-268" title="Order-collect" src="http://www.zachernuk.com/wp-content//order-collect-300x225.jpg" alt="Collecting... something?" width="300" height="225" /></a><p class="wp-caption-text">Collecting... something?</p></div>
<p>All in all, while the scope of the idea is probably <span style="text-decoration: line-through;">a little </span>impossibly large, it means there is something to work towards, which I&#8217;m looking forward to continuing.</p>
<p>* Actually, the second idea.  Apparently &#8220;you&#8217;re an undergraduate physics student, experimenting at an optics workbench&#8221; doesn&#8217;t doesn&#8217;t set fire to the imagination as much as I had initially hoped.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zachernuk.com/2009/09/19/where-we-have-been-and-where-opticks-is-going/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
