<?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>Dale J Williams &#187; Programming</title>
	<atom:link href="http://blog.dalejwilliams.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dalejwilliams.com</link>
	<description>Actionscript and Audio Production with Dale J Williams</description>
	<lastBuildDate>Wed, 13 Jul 2011 14:34:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>So I Accidentally A Graphics Engine</title>
		<link>http://blog.dalejwilliams.com/2011/04/03/so-i-accidentally-3d/</link>
		<comments>http://blog.dalejwilliams.com/2011/04/03/so-i-accidentally-3d/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 12:37:38 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.dalejwilliams.com/?p=151</guid>
		<description><![CDATA[Frustrated with Away 3D&#8217;s transparent texture handling and armed with a weekend, I decided to make my own 3D graphics engine with Handsome Lads in mind. I am yet to implement bitmap textures and perspective but the majority of the work has been done. At the moment it can wireframe and render an orthogonal view I plan ]]></description>
			<content:encoded><![CDATA[<p>Frustrated with Away 3D&#8217;s transparent texture handling and armed with a weekend, I decided to make my own 3D graphics engine with <a href="http://www.handsomelads.com" target="_blank">Handsome Lads</a> in mind.</p>
<p>I am yet to implement bitmap textures and perspective but the majority of the work has been done. At the moment it can wireframe and render an orthogonal view I plan to make the source available once the first Lads game is released.</p>
<p><a href="/files/Hands3D.swf">Here is a demo.</a></p>
<p><strong>UPDATE 08/04/2011: </strong>I have now added perspective projection and camera support.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2011/04/03/so-i-accidentally-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Powering Jetskis</title>
		<link>http://blog.dalejwilliams.com/2010/09/02/on-powering-jetskis/</link>
		<comments>http://blog.dalejwilliams.com/2010/09/02/on-powering-jetskis/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 07:16:53 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Audio Production]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://blog.dalejwilliams.com/?p=140</guid>
		<description><![CDATA[The Breaka Jetski Game Engine Explained (written for Cru Digital) Games are a powerful medium. While a film can only provide a few hours of entertainment to a group of people, a game can provide potentially limitless entertainment to a potentially limitless audience through the lure and viral spread of social competition. When Breaka commissioned ]]></description>
			<content:encoded><![CDATA[<p><strong>The Breaka Jetski Game Engine Explained</strong><br />
(written for Cru Digital)</p>
<p>Games are a powerful medium. While a film can only provide a few hours of entertainment to a group of people, a game can provide potentially limitless entertainment to a potentially limitless audience through the lure and viral spread of social competition. When Breaka commissioned us to create a microsite, we put a game front and centre. A good game needs a great idea, a tonne of play-testing, ten tonnes of optimisation and a solid framework. In this article I&#8217;m going to introduce you some of the processes involved in creating the <a href="http://www.breakaisland.com.au/#/jetski" target="_blank">Breaka Island Jetski Challenge</a>.</p>
<p><span id="more-140"></span></p>
<p><strong>The First Step In Creating A Jetski Game Is Creating The Jetski</strong></p>
<p>The Jetski Challenge was born as a playable proof of concept, the demo. The demo featured a jetski driving around an infinite spread of water. During this initial phase of development, the most important aspect was making the Jetski look, feel and control like a real jetski, through real water.</p>
<p>Jetskis tilt, roll and flip. With this observation we knew immediately that the jetski had to be represented in three dimensional space (3D). Early tests showed that placing entire 3D worlds in Flash put a heavy burden on even the most powerful computer processors so we had to find a way to respresent the game&#8217;s world in something other than 3D. To achieve the look of 3D whilst maintaining the computing performance of 2D, we decided to place the Jetski in a small 3D box and place that 3D box inside a top-down 2D environment. This gave the game its bird-eye-view aesthetic. To render the 3D we used Flash 3D framework Papervision3D. To host it, and eveything else arround it, we wrote our own 2D framework – which would later become the game&#8217;s engine. With rendering sorted, we moved onto control and physics.</p>
<p>Jetskis drift, glide, carve and jump. The next step was to give this control to the player and have it reflected in a realistic way. As the jetski speed up we tilted the 3D model&#8217;s hull back. As the jetski turned left or right we tilted the model&#8217;s hull left or right to imitate lean. We forced the control to  lag to give the illusion that the jetski had ability to generate momentum in the water. We zoomed in on the model whenever the jetski jumped and moved a shadow up and left to create the illusion of height. We placed a spray particle generation system at the base of the jetski to imitate the wake. Once each of these techniques were combined into the demo, we had a pretty sweet drivable jetski on our hands.</p>
<p><strong>The Second Step In Creating A Jetski Game Is Creating The Game</strong></p>
<p>While burning around an infinite pond with a turbo-charged jetski may be fun for the developers in the Flash Department, it may not be enough to win over the discerning player. The game needed an angle – a world to drive through and a challenge.</p>
<p>To create the world we crafted a tool. The tool was similar in functionality to the Breaka Island Flag Designer and allowed us to drag and drop checkpoints, obstacles, bonus items, sand banks and trees, amongst other elements, into the game world. With the tool we created three separate tracks: one focused on speed, one focused on stunts and one focused on survival. The aim of the speed track was to design the track with a clear driving line in mind. The aim of the stunt track was to place enough jumps to give the player ample air-time to perform stunts within. The aim of the survival track was to pump the world with enough obstacles to make it hard for the player to navigate.</p>
<p>With each track we crafted a matching game mode. The speed track was given a game mode that recorded the player&#8217;s time for three laps. The winning player would have the fastest time around the track. The stunt track was given a mode with a set amount of time. The winning player would be the player that could obtain the highest score from successful stunts. The survival track was given health and a small countdown timer. A player would slowly accumulate score based on the time the survived, dying if they lost all health. Each checkpoint would award them a time bonus allowing them to play for longer. The winning player would be the player that had survived the longest.</p>
<p>With these tracks and modes we built an engine.</p>
<p><strong>The Biggest Step In Creating Any Game Is Creating An Engine</strong></p>
<p>Game engine development is not for the feint of heart. The process can take weeks for even a small game and the only time it works is when its finished. Rather than babble about the process we went through to develop the engine, I thought I&#8217;d instead list the technologies we used and developed. A forewarning: This is some technology enthusiast stuff &#8211; if the terms &#8216;byte data&#8217;, &#8216;input events&#8217; and &#8216;z-indexing&#8217; don&#8217;t mean anything to you, you may want to skip this bit.</p>
<p>Input Management<br />
While AS3 has improved control where Keyboard Input is concerned, AS2 was easier to use. An input manager was created to keep track of which keys were pressed and which actions they corresponded to. The net benefit of creating our own input manager is that it allowed multiple key inputs to register as pressed, overriding the caveat of the operating system level key repeating.</p>
<p>Map, Entity, Obstacle Management<br />
A map able to load and house the tracks created in the world designing tool. The map contained the ability to house entities and was in charge of testing collisions, running the game loop and culling off-screen objects. The map also had the ability to draw the water texture according to position co-ordinates, giving the illusion that the water was infinite in all directions and a cool script which turned any vector shape into a sandbank with feathered edges. As all of the games entities and obstacles are contained with the map, the majority of the distance and angle calculation, collisions, depth swapping and camera movement are be handled by it or delegated to it.</p>
<p>Sound Management<br />
To house the rocking soundtrack, sound effects and engine noises, a multi-track sound manager was created. The sound manager allows sounds to be grouped into tracks in a similar fashion to that found in DAW software. The sound manager could loop sounds, play multiple sounds, maintaining track volume or sound volume control.</p>
<p>3D Rendering<br />
To render the jetski we used the popular <a href="http://code.google.com/p/papervision3d/" target="_blank">Papervision3D libraries</a>. PV3D is an invaluable tool for 3D in flash, maintained by the Flash Community. Those interested should also take a look at Away3D, which we used for the rest of the Breaka Island website.</p>
<p>Asset Management, Zip Compression<br />
To store the game&#8217;s assets we used the N<a href="http://nochump.com/blog/archives/15">oChump Zip Compression Library</a>. This allowed the games assets to be of minimal file size and embedded directly into the SWF file. The zip data was managed by a custom asset management library.</p>
<p><strong>Game Over, Man, Game Over</strong></p>
<p>All of these elements tied together with some Cru magic are a part of what allowed the game to come to life. Make sure you <a href="http://www.breakaisland.com.au/#/jetski/">have a play through of the end product</a> on breakaisland.com.au. See if you beat the high score.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2010/09/02/on-powering-jetskis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweenDark v0.666.3</title>
		<link>http://blog.dalejwilliams.com/2010/03/12/tweendark-v0-666-3/</link>
		<comments>http://blog.dalejwilliams.com/2010/03/12/tweendark-v0-666-3/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 03:55:46 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Metal]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://blog.dalejwilliams.com/?p=105</guid>
		<description><![CDATA[Looking for a completely Open Source, lightweight, easy to use tweening engine? So was I. I announce the first public release of TweenDark, an open source, lightweight, fast AS3 tweening engine. Click here to read more]]></description>
			<content:encoded><![CDATA[<p>Looking for a completely Open Source, lightweight, easy to use tweening engine? So was I.</p>
<p>I announce the first public release of TweenDark, an open source, lightweight, fast AS3 tweening engine.</p>
<p><a href="http://blog.dalejwilliams.com/tweendark/">Click here to read more.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2010/03/12/tweendark-v0-666-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rotating Rotat</title>
		<link>http://blog.dalejwilliams.com/2010/02/17/rotating-rotat/</link>
		<comments>http://blog.dalejwilliams.com/2010/02/17/rotating-rotat/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 14:02:20 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Rotat the Rat]]></category>

		<guid isPermaLink="false">http://blog.dalejwilliams.com/?p=68</guid>
		<description><![CDATA[So, I&#8217;ve been doing some more work on Rotat towards rotation. In this tech demo, the wall collision has been removed in favour of the ability to climb walls. I am certain that this has opened up some interesting gameplay possibilities &#8211; especially as the two behaviours can complement each other. EDIT: The demo has ]]></description>
			<content:encoded><![CDATA[<p><a href="/files/rotat2/Rotat.swf" target="_blank"><img src="/files/rotat_test2.png" alt="" width="550" height="300" /></a></p>
<p>So, I&#8217;ve been doing some more work on Rotat towards rotation. In this tech demo, the wall collision has been removed in favour of the ability to climb walls.</p>
<p>I am certain that this has opened up some interesting gameplay possibilities &#8211; especially as the two behaviours can complement each other.</p>
<p><strong>EDIT: </strong>The demo has been updated with more accuracy and wall clipping included. We&#8217;re still buggy, but coming&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2010/02/17/rotating-rotat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rotat Engine</title>
		<link>http://blog.dalejwilliams.com/2010/02/08/rotat-engine/</link>
		<comments>http://blog.dalejwilliams.com/2010/02/08/rotat-engine/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 10:42:17 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Rotat the Rat]]></category>

		<guid isPermaLink="false">http://blog.dalejwilliams.com/?p=39</guid>
		<description><![CDATA[This is an early demo of the newly rewritten Rotat Engine. Left / Right walk, space jumps. Some of the cool features it has: Tight, pixel-based collision detection. Real-time gravity. Camera control. The core has also been made in a very robust MVC-like pattern. This game will be a Handsome Lads game; as this is ]]></description>
			<content:encoded><![CDATA[<p><a href="/files/rotat1/Rotat.swf" target="_blank"><img src="/files/rotat_test1.png" alt="" width="550" height="300" /></a></p>
<p>This is an early demo of the newly rewritten Rotat Engine.</p>
<p>Left / Right walk, space jumps.</p>
<p>Some of the cool features it has:</p>
<ul>
<li>Tight, pixel-based collision detection.</li>
<li>Real-time gravity.</li>
<li>Camera control.</li>
</ul>
<p>The core has also been made in a very robust MVC-like pattern.</p>
<p>This game will be a<a href="http://www.handsomelads.com" target="_blank"> Handsome Lads</a> game; as this is a technology blog, any further announcements about it will probably be made there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2010/02/08/rotat-engine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Flash Player 10&#8242;s new 3D planes.</title>
		<link>http://blog.dalejwilliams.com/2009/02/15/using-flash-player-10s-new-3d-planes/</link>
		<comments>http://blog.dalejwilliams.com/2009/02/15/using-flash-player-10s-new-3d-planes/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 11:56:45 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Metal]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://dalejwilliams.com/?p=30</guid>
		<description><![CDATA[So I&#8217;m starting to take a look at Flash Player 10&#8242;s 3D capabilities. I was initially a little disappointed with what was offered, but at a closer glance, this plane-based 3D engine allows me to create my very own polygon-based rooms. What I have above is a working example of one such 3D room. This ]]></description>
			<content:encoded><![CDATA[<p><a href="/files/3dtofflash.swf" target="_blank"><img src="/files/3dtofflash.jpg" alt="" width="550" height="300" /></a></p>
<p>So I&#8217;m starting to take a look at Flash Player 10&#8242;s 3D capabilities. I was initially a little disappointed with what was offered, but at a closer glance, this plane-based 3D engine allows me to create my very own polygon-based rooms.</p>
<p>What I have above is a working example of one such 3D room. This sample is a tech-demo for the evolution of Rotat the Rat&#8217;s level tools, a game that has nothing else in common with Rotat the Rat.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2009/02/15/using-flash-player-10s-new-3d-planes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress to XML to AS3</title>
		<link>http://blog.dalejwilliams.com/2008/11/20/wordpress-to-xml-to-as3/</link>
		<comments>http://blog.dalejwilliams.com/2008/11/20/wordpress-to-xml-to-as3/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 14:38:02 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://dalejwilliams.com/?p=33</guid>
		<description><![CDATA[Using PHP, MySQL, XML and AS3, your daily healthy dose of programming acronyms, I’ve writen an AS3-based API for WordPress. If I continue to grow it, Actionscripters will be able to use this API to build their own wordpress blog without the need for data querying skills. I’m still figuring out what the title will ]]></description>
			<content:encoded><![CDATA[<p>Using PHP, MySQL, XML and AS3, your daily healthy dose of programming acronyms, I’ve writen an AS3-based API for WordPress. If I continue to grow it, Actionscripters will be able to use this API to build their own wordpress blog without the need for data querying skills. I’m still figuring out what the title will be, but this open source project is sure to be a great way to give back to the WordPress and Actionscript communities.</p>
<p>The platform is incredibly easy to use for AS3 programmers. I am considering making it available as a component for MXML users.</p>
<p>I have an early working example based on my own website, <a href="http://www.dalejwilliams.com/alpha" target="_blank">available here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2008/11/20/wordpress-to-xml-to-as3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ice Break Microsite</title>
		<link>http://blog.dalejwilliams.com/2008/10/07/ice-break-microsite/</link>
		<comments>http://blog.dalejwilliams.com/2008/10/07/ice-break-microsite/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 00:43:33 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Cru Digital]]></category>

		<guid isPermaLink="false">http://dalejwilliams.com/?p=27</guid>
		<description><![CDATA[It seems I&#8217;m always saying about how I haven&#8217;t posted in a while &#8211; but I have a good excuse this time. I just finished up the two games for the Ice Break Win a Ute campaign. Ice Break are giving a way a Holden SS &#8211; V ute to the person lucky enough to ]]></description>
			<content:encoded><![CDATA[<p>It seems I&#8217;m always saying about how I haven&#8217;t posted in a while &#8211; but I have a good excuse this time. I just finished up the two games for the Ice Break Win a Ute campaign.</p>
<p>Ice Break are giving a way a Holden SS &#8211; V ute to the person lucky enough to find it under the cap. They&#8217;re also giving a bunch of petrol-powered, remote-controlled Holden utes to the mosty skilled drivers in an online game called Drift&#8217;n'Drag.</p>
<p>Drift&#8217;n'Drag is a Cru Digital (the company I am gainfully employed at) concept and, you guessed it, I programmed them both.</p>
<p>The website&#8217;s development was handled by my collegue Matt, the art and concept by Cru Digital, the portfolio by De Pasqualle.</p>
<p>I would strongly recommend you check it out, it&#8217;s my most proud programming work yet. Who knows, if you get good enough at the game you could even win the remote controlled ute!</p>
<p><a title="Ice Break - Win A Ute" href="http://www.icebreak.com.au" target="_blank">http://www.icebreak.com.au</a> &#8211; click to visit.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2008/10/07/ice-break-microsite/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rotat&#8217;s Level Editor</title>
		<link>http://blog.dalejwilliams.com/2008/07/15/rotats-level-editor/</link>
		<comments>http://blog.dalejwilliams.com/2008/07/15/rotats-level-editor/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 14:12:55 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Rotat the Rat]]></category>
		<category><![CDATA[Drawing]]></category>

		<guid isPermaLink="false">http://dalejwilliams.com/?p=25</guid>
		<description><![CDATA[I&#8217;ve been working on this one for a while, though recently I&#8217;ve revamped it and improved it by a million fold. I present, to you, the drawing tools for Rotat&#8217;s level editor. NB: This content was lost in the great blog migration of 2009. I am working on an advanced version of it and will ]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on this one for a while, though recently I&#8217;ve revamped it and improved it by a million fold. I present, to you, the drawing tools for Rotat&#8217;s level editor.</p>
<p><em>NB: This content was lost in the great blog migration of 2009. I am working on an advanced version of it and will be sure to share when it is available</em></p>
<p>The pen draws shapes, the hand moves shapes and the X deletes shapes. Once you start drawing a shape, you can close it by clicking on the first point again. Also, the canvas (in white) is movable.</p>
<p>This is one of my personal favourite examples of my drawing API usage. This one uses some great trig to automatically curve as you draw.</p>
<p>The Rotat level editor will rely on this for user experience, and I believe it is intuitive. Please offer any recommendations to make it more intuitive.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2008/07/15/rotats-level-editor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My Isometric Engine &#8211; 3D Bouncing + I love entropy (Get Out There)</title>
		<link>http://blog.dalejwilliams.com/2008/06/24/isometric-3d-bouncing-i-love-entropy/</link>
		<comments>http://blog.dalejwilliams.com/2008/06/24/isometric-3d-bouncing-i-love-entropy/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 14:12:26 +0000</pubDate>
		<dc:creator>Dale J Williams</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://dalejwilliams.com/?p=20</guid>
		<description><![CDATA[UPDATE: I have now used this Isometric Engine in a live project. Check it out at getoutthere.qld.gov.au. I decided to try my hand at isometric 3D. I&#8217;m developing a basic API called IsoMetrix. It handles all the movement and trig whilst allowing simple adjustments to all axis&#8217;. The company I work for, Cru Digital, has ]]></description>
			<content:encoded><![CDATA[<p><a href="/files/isotest.swf" target="_blank"><img src="/files/isotest.jpg" alt="" width="550" height="167" /></a></p>
<p><strong>UPDATE: </strong>I have now used this Isometric Engine in a live project. Check it out at <a title="Get Out There" href="http://www.getoutthere.qld.gov.au/">getoutthere.qld.gov.au</a>.</p>
<p>I decided to try my hand at isometric 3D. I&#8217;m developing a basic API called IsoMetrix. It handles all the movement and trig whilst allowing simple adjustments to all axis&#8217;.</p>
<p>The company I work for, Cru Digital, has a use for this &#8211; and most of the engines me and my colleague Matt looked at were unnecessarily complex. Hopefully, with a some further tweaking, this can do the job we want.</p>
<p>Click to read the nitty gritty bits<span id="more-20"></span></p>
<p>Some features:<br />
- Directly set or get X,Y or Z axis&#8217;. It does the trig on the fly.<br />
- Automatic depth control.<br />
- Shadows (to be improved and switched to BitmapData)<br />
- Light and easy event based updating. (enterframes to be globalised)<br />
- Simple gravity (to be improved upon)<br />
- Easily extendable classes that allow the setting of an anchor points.</p>
<p>Contains new types IsoSprite and IsoStage. IsoSprite is a sprite with depth and axis information and translation. IsoStage manages the depths, shadows and gravity.</p>
<p>For the example I also created a randomly coloured grid and a series of randomly generated and controlled balls.</p>
<p>Hopefully I&#8217;ll switch the gravity and shadows to do more than just replicate the actions of a ball in the coming weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dalejwilliams.com/2008/06/24/isometric-3d-bouncing-i-love-entropy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

