<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blue Ashes</title>
	
	<link>http://blueashes.com</link>
	<description>Game design, web development, and JavaScript by Ash Blue</description>
	<lastBuildDate>Sun, 26 May 2013 23:54:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/blueashes" /><feedburner:info uri="blueashes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>blueashes</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>A* Pathfinding Algorithm</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/kpdsMxfM_jI/</link>
		<comments>http://blueashes.com/2013/web-development/a-pathfinding-algorithm/#comments</comments>
		<pubDate>Sun, 26 May 2013 23:52:55 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=293</guid>
		<description><![CDATA[Over the past couple months I&#8217;ve spent most of my time working on a tile based game with gigantic fighting robots. Initially I tried to find movement tiles and paths with a brute force search. But it was quite buggy, &#8230; <a href="http://blueashes.com/2013/web-development/a-pathfinding-algorithm/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Over the past couple months I&#8217;ve spent most of my time working on a tile based game with gigantic fighting robots. Initially I tried to find movement tiles and paths with a brute force search. But it was quite buggy, instead I ended up using the A* (A Star) Pathfinding Algorithm for my tile game. To learn how it worked I built a fully interactive <a href="http://ashblue.github.io/javascript-pathfinding/">A* demo</a> that you can play with.</p>
<div id="attachment_294" class="wp-caption alignnone" style="width: 630px"><a href="http://ashblue.github.io/javascript-pathfinding/"><img class="size-full wp-image-294" alt="A Star Pathfinding" src="http://blueashes.com/wp-content/uploads/2013/05/a-star-pathfinding.jpg" width="620" height="223" /></a><p class="wp-caption-text">View the interactive A* Pathfinding demo now.</p></div>
<p><span id="more-293"></span></p>
<p>The A* demo allows you to build paths with blockers and different tile heights. Demo includes details on the searches measurements and a general overview of how it works. You can download the <a href="https://github.com/ashblue/javascript-pathfinding">source code</a> to help build your own implementation.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/kpdsMxfM_jI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2013/web-development/a-pathfinding-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2013/web-development/a-pathfinding-algorithm/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-pathfinding-algorithm</feedburner:origLink></item>
		<item>
		<title>Half off my book HTML5 in Action</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/MoQVRhEixrU/</link>
		<comments>http://blueashes.com/2013/web-development/half-off-my-book-html5-in-action/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 08:00:29 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 In Action]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=269</guid>
		<description><![CDATA[Today only (April 9th), Manning Publications is offering my book HTML5 in Action 50%. The book focuses on building HTML5 apps with JavaScript through various APIs. I wrote the chapters on visual APIs with Canvas, SVG, and WebGL that walk &#8230; <a href="http://blueashes.com/2013/web-development/half-off-my-book-html5-in-action/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Today only (April 9th), Manning Publications is offering my book HTML5 in Action 50%. The book focuses on building HTML5 apps with JavaScript through various APIs. I wrote the chapters on visual APIs with Canvas, SVG, and WebGL that walk you through building retro game clones. Book is almost done, so this is a great time to get a copy before it lands on shelves.</p>
<div id="attachment_278" class="wp-caption alignnone" style="width: 610px"><a href="http://www.manning.com/crowther2/"><img class=" wp-image-278 " title="Click to visit official store page" alt="html5-in-action" src="http://blueashes.com/wp-content/uploads/2013/04/html5-in-action.jpg" width="600" height="380" /></a><p class="wp-caption-text">Use code dotd0409au for 50% off</p></div>
<p><span id="more-269"></span></p>
<p>Use code <strong>dotd0409au</strong> at <a href="http://www.manning.com/crowther2/" target="_blank" rel="url">www.manning.com/crowther2/</a> after putting the book in your cart and checking out.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/MoQVRhEixrU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2013/web-development/half-off-my-book-html5-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2013/web-development/half-off-my-book-html5-in-action/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=half-off-my-book-html5-in-action</feedburner:origLink></item>
		<item>
		<title>Dark Side Game Jam – Project Nostos</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/jkYFd0l63zY/</link>
		<comments>http://blueashes.com/2013/game-development/dark-side-game-jam-project-nostos/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 23:19:30 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Corona SDK]]></category>
		<category><![CDATA[game jam]]></category>
		<category><![CDATA[hackathon]]></category>
		<category><![CDATA[RPG]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=247</guid>
		<description><![CDATA[For this year&#8217;s Dark Side Game Jam, a couple of friend&#8217;s and I created a 10 minute RPG called Nostos (available on Android). We chose the title nostos because its actually Greek for homecoming, particularly returning home from a long journey. The game &#8230; <a href="http://blueashes.com/2013/game-development/dark-side-game-jam-project-nostos/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>For this year&#8217;s Dark Side Game Jam, a couple of friend&#8217;s and I created a 10 minute RPG called Nostos (available on <a href="https://play.google.com/store/apps/details?id=com.gj.games.nostos" target="_blank">Android</a>). We chose the title <a href="http://en.wikipedia.org/wiki/Nostos" target="_blank">nostos</a> because its actually Greek for homecoming, particularly returning home from a long journey. The game places you in the seat of a commander who&#8217;s on a spaceship packed full of supplies for terraforming a dead planet. While playing you get to make various building choices in different scenarios. Depending upon what structures you choose, the game can pan out in different ways.</p>
<div id="attachment_251" class="wp-caption alignnone" style="width: 594px"><a href="https://play.google.com/store/apps/details?id=com.gj.games.nostos" target="_blank"><img class=" wp-image-251 " title="Download now on Android" alt="Dark Side Game Jam - Nostos" src="http://blueashes.com/wp-content/uploads/2013/03/large-620x302.jpg" width="584" height="284" /></a><p class="wp-caption-text">A terraforming RPG available for free on <a href="https://play.google.com/store/apps/details?id=com.gj.games.nostos" target="_blank">Android</a>. Click image to download now.</p></div>
<h2><span id="more-247"></span></h2>
<h2>Overcoming Time Limitations</h2>
<p>One of the biggest difficulties our team faced while creating the game was me being the only developer. This was very frustrating for everyone as we wanted to create a complete game with a beginning and end in 72 hours. Instead of writing everything myself, I built tools that allowed our game designers to input all the text via JSON. This allowed them to build out structures and arching text conversations. Free online JSON tools such as <a href="http://www.jsoneditoronline.org/">http://www.jsoneditoronline.org/</a> can be very useful for getting non-tech savy people to write out JSON quickly. We have over 500 lines of JSON data that generates the entire game experience. Considering how successful the game was (considering it was built in 72 hours) I&#8217;ll probably consider this approach again for future hackathons.</p>
<div id="attachment_253" class="wp-caption alignnone" style="width: 522px"><img class="size-full wp-image-253" alt="" src="http://blueashes.com/wp-content/uploads/2013/03/nostos-text.jpg" width="512" height="288" /><p class="wp-caption-text">All text is pulled from JSON files generated by non-developers</p></div>
<h2>Reactions</h2>
<p>Our overall reaction from people at the Dark Side Game Jam was very positive. We had one of the only complete games and probably the most story driven game. Not to mention we had generated a massive amount of content in a short time. We found this slightly funny, as our game has no physics engine, 3D, or other really cool features. Just a 2D game with lots of text and the ability to make choices.</p>
<div id="attachment_254" class="wp-caption alignnone" style="width: 522px"><img class="size-full wp-image-254" alt="nostos choices" src="http://blueashes.com/wp-content/uploads/2013/03/nostos-choices.jpg" width="512" height="288" /><p class="wp-caption-text">Players are presented with a dilemma and given a structure choice to try and counter it</p></div>
<h2>Play Now</h2>
<p>The game was written with the Corona SDK and you can get the source code on <a href="https://github.com/ashblue/terra" target="_blank">GitHub</a>. If you have an Android phone you can play the game now by downloading it on <a href="https://play.google.com/store/apps/details?id=com.gj.games.nostos" target="_blank">Google Play</a>.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/jkYFd0l63zY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2013/game-development/dark-side-game-jam-project-nostos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blueashes.com/2013/game-development/dark-side-game-jam-project-nostos/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=dark-side-game-jam-project-nostos</feedburner:origLink></item>
		<item>
		<title>Open Source Project Tips</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/gi7FThv6650/</link>
		<comments>http://blueashes.com/2013/web-development/learning-open-source-project-failure/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 04:49:42 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=231</guid>
		<description><![CDATA[My project for Canvas Prime was originally meant to be a simple HTML5 game framework that ran on Canvas. Shortly after releasing an early version it was featured on a gaming blog and started being used in my workplace. Traction &#8230; <a href="http://blueashes.com/2013/web-development/learning-open-source-project-failure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>My project for Canvas Prime was originally meant to be a simple HTML5 game framework that ran on Canvas. Shortly after releasing an early version it was featured on a gaming blog and started being used in my workplace. Traction was growing and it seemed like my new open source project would be a success. About a year and a half later everything has gone down the tube and the codebase is a mess. Although it was a failure, I learned a few lessons that will hopefully prevent you from making the same mistakes.</p>
<div id="attachment_234" class="wp-caption alignnone" style="width: 630px"><img class=" wp-image-234" title="lv editor mockup" src="http://blueashes.com/wp-content/uploads/2013/01/lv-editor-mockup.png" alt="" width="620" height="390" /><p class="wp-caption-text">A level editor for Canvas Prime that never made it</p></div>
<p><span id="more-231"></span></p>
<h2>Maintain small amounts of code</h2>
<p>Originally Canvas Prime was about 1,000 lines of code, at the end of the project it was well over 3,000. It was too much to maintain. Lots of lines to maintain means the code base can easily become sloppy and broken over time. When starting a project, its a good idea to start off by making your code base as small as possible (ideally under 500 lines).</p>
<h2>New features aren&#8217;t always good</h2>
<p>More features means a larger code base you&#8217;ll have to maintain. Even if a new feature sounds awesome, you need to make sure that there are enough resources available to maintain it. I added a level editor to Canvas Prime, but it wasn&#8217;t a good idea looking back, as it would have taken roughly 300+ hours to complete. Not exactly a good focus of time and resources when you only have 10 hours to dedicate to a project weekly.</p>
<h2>Bring a team</h2>
<p>Probably the largest contributing factor to Canvas Prime&#8217;s failure was that I developed 90% of it by myself. It would have been much better if I started this project with somebody else instead of doing things solo. Then again, if you bring other people on-board be prepared to plan meetings and teach others if they aren&#8217;t up to speed with your programming level.</p>
<h2>Make a granular plan</h2>
<p>When I initially planned out Canvas Prime I had a small roadmap that looked something like this:</p>
<ol>
<li>Core of game engine</li>
<li>Sprite support</li>
<li>Sound support</li>
<li>Level editor</li>
</ol>
<p>While the first three items sound great, I didn&#8217;t think the fourth item through very thoroughly  A level editor requires design, a completely different interface, many hour of UI planning, and a plethura of steps. Ultimately the level editor was so massive I got hung up on it and lost interest in the project as a whole.</p>
<p>The lesson learned is you need to break down larger steps into micro-steps and list out the total hours. If you bump into something that might be 100+ hours while making a list, its probably a good idea to throw it out and make it a separate project.</p>
<h2>This is not a playground</h2>
<p>Since the code base for Canvas Prime is written in NodeJS I did far too much experimenting. I constantly broke functionality and blew holes in the code base to tinker with features I probably shouldn&#8217;t have. It was like playing with a bazooka, then later realizing that blowing up your house wasn&#8217;t such a good idea. I recommend writing your project in a language you&#8217;re familiar with and toying with code elsewhere.</p>
<h2>Document EVERYTHING!</h2>
<p>Write your documentation while you write your code. That way you don&#8217;t have to come back and write separate docs later. It saves you tons of time and is quickly becoming a standard practice at many development shops. For JavaScript documentation I recommend <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JSDoc</a> which can be compiled into a full blown website on the fly.</p>
<p>Its also a good idea to keep a readme file in your root for docs, but be careful to write it in a way that you don&#8217;t have to constantly update it as your project evolves.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/gi7FThv6650" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2013/web-development/learning-open-source-project-failure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2013/web-development/learning-open-source-project-failure/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=learning-open-source-project-failure</feedburner:origLink></item>
		<item>
		<title>JavaScript Easing Library – Simple Tween JS</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/0GDJncDkbUY/</link>
		<comments>http://blueashes.com/2012/web-development/javascript-easing-library/#comments</comments>
		<pubDate>Tue, 16 Oct 2012 21:02:21 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[HTML5 Canvas]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[library]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=216</guid>
		<description><![CDATA[One of the major components missing from my open source game engine has been a lightweight JavaScript easing library. If you aren&#8217;t familiar with easing, its used to create unique animation movement that feels lifelike and less robotic. There are &#8230; <a href="http://blueashes.com/2012/web-development/javascript-easing-library/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>One of the major components missing from my open source game engine has been a lightweight JavaScript easing library. If you aren&#8217;t familiar with easing, its used to create unique animation movement that feels lifelike and less robotic. There are general use libraries such as jQuery and completely dedicated JavaScript easing libraries that have the words Tweening in the title. While these tools are great, I found them to be too robust, slow, or undocumented. Because of this I&#8217;ve created a new lightweight open source library called <a href="https://github.com/ashblue/simple-tween-js" target="_blank">Simple Tween JS</a>.</p>
<div id="attachment_217" class="wp-caption alignnone" style="width: 610px"><a title="Visit the GitHub repo" href="https://github.com/ashblue/simple-tween-js" target="_blank"><img class=" wp-image-217 " src="http://blueashes.com/wp-content/uploads/2012/10/javascript-easing-library.png" alt="" width="600" height="178" /></a><p class="wp-caption-text">Simple Tween JS is a lightweight open source JavaScript easing library at less than 200 lines of code. Complete <a href="https://github.com/ashblue/simple-tween-js/blob/master/README.md">documentation</a> and the latest version can be found at the <a href="https://github.com/ashblue/simple-tween-js">GitHub repo</a>.</p></div>
<p><span id="more-216"></span></p>
<p><a href="http://ashblue.github.com/simple-tween-js/" target="_blank">View Demo</a> &#8211; Warning, haven&#8217;t fixed a DOM bug in <em>IE9</em>. Library has been tested and works fine in <em>IE8</em> and up though.</p>
<p><a href="https://github.com/ashblue/simple-tween-js" target="_blank">Download on GitHub</a></p>
<h2>Simple to use JavaScript Easing Library</h2>
<p>Simple Tween JS is a loop friendly easing library, meaning its optimized for animation with HTML5&#8242;s Canvas API or SVG. It supports the ability to create, reset, tweak, and loop tweens on the fly. While that might not seem like a lot of features, most JavaScript easing libraries take a serious performance impact from packing in too many features. It also uses the latest JavaScript programming techniques to prevent slow performance from supporting IE7 and below.</p>
<p>The file size is only 2.83kb when minified and it stands at less than 200 lines of code. It can be instantly integrated with existing projects and you can use it right away as so.</p>
<pre class="brush: jscript; title: ; notranslate">
// Create a new re-usable tween
// Parameters: startValue, distance, duration, animationType, loop
var myTween = new Tween(0, 20, 3000, 'quadIn', 'loop');

// Get the value of the tween relative to the current time
myTween.getValue();
</pre>
<p>Complete documentation and additional methods can be found in the GitHub&#8217;s <a href="https://github.com/ashblue/simple-tween-js/blob/master/README.md">README.md file</a>.</p>
<h2>Extending functionality</h2>
<p>Since the library is written with simple prototypical inheritance, you can easily extend it with a little object oriented programming. For example, you can easily add in the ability to change the current tween&#8217;s animation type as so.</p>
<pre class="brush: jscript; title: ; notranslate">
Tween.prototype.setAnimation = function (myAnimation) {
    this.animationType = myAnimation;
};
</pre>
<p>Currently Simple Tween JS is being used on multiple projects, so optimizations and updates will come regularly. If you have any suggestions, feature requests, or find any bugs please let me know in the comments below.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/0GDJncDkbUY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2012/web-development/javascript-easing-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2012/web-development/javascript-easing-library/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=javascript-easing-library</feedburner:origLink></item>
		<item>
		<title>HTML5 Space Invaders like game with SVG</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/SlrbuTTuhWA/</link>
		<comments>http://blueashes.com/2012/web-development/html5-space-invaders-with-svg/#comments</comments>
		<pubDate>Fri, 17 Aug 2012 15:00:12 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 In Action]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=135</guid>
		<description><![CDATA[For my upcoming book HTML5 in Action, I wrote a chapter on creating a game like Space Invaders with SVG. The tutorial teaches you various methods for creating visual assets with vector graphics and XML.After creating the visual assets, it &#8230; <a href="http://blueashes.com/2012/web-development/html5-space-invaders-with-svg/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>For my upcoming book HTML5 in Action, I wrote a chapter on creating a game like Space Invaders with SVG. The tutorial teaches you various methods for creating visual assets with vector graphics and XML.After creating the visual assets, it teaches you how to combine everything with JavaScript. The JavaScript isn&#8217;t too complex and I walk you through every step of the way. Great for those who want to learn how to create re-sizable graphics for in-browser use.</p>
<div id="attachment_198" class="wp-caption alignnone" style="width: 528px"><a href="http://html5inaction.com/app/ch7/"><img class="size-full wp-image-198" title="HTML5 SVG Space Invaders" src="http://blueashes.com/wp-content/uploads/2012/02/gameplay.png" alt="" width="518" height="521" /></a><p class="wp-caption-text">Play SVG Aliens at <a href="http://html5inaction.com/app/ch7/">html5inaction.com</a> and download the source code at the <a href="http://affiliate.manning.com/idevaffiliate.php?id=1199&amp;url=19">book&#8217;s official page</a>.</p></div>
<p>&nbsp;</p>
<p><span id="more-135"></span></p>
<p>Edit 8/18/2012: Updated the game&#8217;s graphic and added a playable link to the game.</p>
<p>You can play SVG Aliens at <a href="http://html5inaction.com/app/ch7/">html5inaction.com</a> and get the source code by downloading it from Manning&#8217;s <a href="http://www.google.com/url?q=http%3A%2F%2Faffiliate.manning.com%2Fidevaffiliate.php%3Fid%3D1199%26url%3D19&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGqt0asrGFMvf9i8ZCI1JuYH20yRw" target="_blank">HTML5 in Action</a> page.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/SlrbuTTuhWA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2012/web-development/html5-space-invaders-with-svg/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blueashes.com/2012/web-development/html5-space-invaders-with-svg/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=html5-space-invaders-with-svg</feedburner:origLink></item>
		<item>
		<title>WebGL Game Geometry Destroyer</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/Nc-RHigfsV0/</link>
		<comments>http://blueashes.com/2012/game-development/webgl-game-geometry-destroyer/#comments</comments>
		<pubDate>Sun, 22 Jul 2012 02:38:49 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Canvas]]></category>
		<category><![CDATA[HTML5 In Action]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=162</guid>
		<description><![CDATA[Creating 3D games with WebGL and HTML5 APIs isn&#8217;t an easy task. It requires matrix manipulation, communicating with graphics hardware, and a good understanding of OpenGL ES (mobile version of OpenGL). To try and make these concepts easy to understand, &#8230; <a href="http://blueashes.com/2012/game-development/webgl-game-geometry-destroyer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Creating 3D games with WebGL and HTML5 APIs isn&#8217;t an easy task. It requires matrix manipulation, communicating with graphics hardware, and a good understanding of OpenGL ES (mobile version of OpenGL). To try and make these concepts easy to understand, I created a game tutorial in my new book for HTML5 In Action called Geometry Destroyer. By clicking on the image below, you can play it right now.</p>
<div id="attachment_189" class="wp-caption alignnone" style="width: 594px"><a href="http://blueashes.com/demo/gd/"><img class="size-large wp-image-189" title="gd-play" src="http://blueashes.com/wp-content/uploads/2012/07/gd-play-620x496.png" alt="" width="584" height="467" /></a><p class="wp-caption-text"><a href="http://blueashes.com/demo/gd/">Geometry Destroyer</a> is a classic space shooter style game, written with JavaScript, HTML5 APIs, and WebGL</p></div>
<p><span id="more-162"></span></p>
<p>The game allows you to move and interact in a 2d environment. But all the shapes (2d and 3d), are created with WebGL. Shooting elements on the screen uses a 2d collision system, that causes objects to explode into a massive amount of cube particles. One of the biggest difficulties to overcome with the game was memory management, as WebGL requires extra steps to remove shader and buffer data out of memory in a fast paced game setting. Normally JavaScript automatically removes data for garbage collection when there are no more references to it, WebGL makes this slightly complicated.</p>
<h2>WebGL Context and 2D Context API don&#8217;t mix</h2>
<p>I feel that the demo is a successful demonstration of what WebGL and JavaScript can accomplish for 3D in 2D. The biggest issue around blending the two is WebGL and Canvas can&#8217;t be used in the same <em>&lt;canvas&gt;</em> context, so the demo is completely written in WebGL, which is a slightly different approach than I would have liked. You can layer WebGL <em>&lt;canvas&gt;</em> context on top of a <em>&lt;canvas&gt;</em> 2D context, but I don&#8217;t recommend it. Reason being if you want to export your Canvas data to something like PhoneGap or Chrome&#8217;s app packager, it can cause issues. You&#8217;re better off using faux 3D (aka dirty 3D or fake 3D) if you want 3D graphics while using the Canvas 2D API.</p>
<h2>WebGL Game Engine Tutorial</h2>
<p>If you want to learn how to create this game you can pick up a copy of my book <a href="http://affiliate.manning.com/idevaffiliate.php?id=1199&amp;url=19" target="_blank">HTML5 in Action</a> for step-by-step instructions. Its WebGL game engine tutorial teaches you how to roll everything from scratch with principles also applicable HTML5 Canvas API development. If you don&#8217;t want to pickup the book, you can always open up the game&#8217;s source in your browser and read through the vast amount of inline comments.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/Nc-RHigfsV0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2012/game-development/webgl-game-geometry-destroyer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2012/game-development/webgl-game-geometry-destroyer/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=webgl-game-geometry-destroyer</feedburner:origLink></item>
		<item>
		<title>New Game HTML5 Canvas Ricochet</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/4NqZ85VbLo8/</link>
		<comments>http://blueashes.com/2012/game-development/html5-canvas-ricochet/#comments</comments>
		<pubDate>Sat, 16 Jun 2012 05:58:31 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Canvas]]></category>
		<category><![CDATA[HTML5 In Action]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=149</guid>
		<description><![CDATA[I&#8217;ve decided to post an HTML5 game called Canvas Ricochet for my upcoming book. The game includes a score counter, progressive leveling, restart capabilities, collision detecting, and more. Click the image below to play now! Click here to play HTML5 Canvas &#8230; <a href="http://blueashes.com/2012/game-development/html5-canvas-ricochet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve decided to post an HTML5 game called Canvas Ricochet for my upcoming book. The game includes a score counter, progressive leveling, restart capabilities, collision detecting, and more. Click the image below to play now!</p>
<p><a href="http://blueashes.com/demo/canvas-ricochet/"><img class="alignnone size-full wp-image-160" title="canvas ricochet" src="http://blueashes.com/wp-content/uploads/2012/06/canvas-breakout.png" alt="" width="408" height="250" /></a></p>
<p><span id="more-149"></span></p>
<p><a href="http://blueashes.com/demo/canvas-ricochet/">Click here to play HTML5 Canvas Ricochet</a></p>
<p>All assets were drawn exclusively with the Canvas API and no images are used except for the background. Because Canvas Ricochet relies so heavily on Canvas&#8217; drawing abilities, the demo is primarily for Chrome. It should technically run in IE9, Safari, Firefox, and other browsers, but I can&#8217;t guarantee stability for them.</p>
<p>If you think the game is pretty awesome and want to know how I built it. I&#8217;ve created step by step instructions in my book <a href="http://affiliate.manning.com/idevaffiliate.php?id=1199&amp;url=19">HTML5 In Action</a>. You can get a copy now (before it even comes out) from Manning&#8217;s MEAP program. If you don&#8217;t want to buy a copy you can pop open the source and figure everything out. As it uses a fairly straightforward design pattern.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/4NqZ85VbLo8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2012/game-development/html5-canvas-ricochet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2012/game-development/html5-canvas-ricochet/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=html5-canvas-ricochet</feedburner:origLink></item>
		<item>
		<title>A Web Development List Of Things To Come</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/nIC3EwK1rkQ/</link>
		<comments>http://blueashes.com/2012/web-development/a-web-development-list-of-things-to-come/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 04:47:24 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=142</guid>
		<description><![CDATA[Lately I&#8217;ve been busy with my new super awesome job at The Nerdery, putting finishing touches on my book HTML5 in Action, and moving to a new location in Chicago. This has kept me quite busy, so I plan on taking a &#8230; <a href="http://blueashes.com/2012/web-development/a-web-development-list-of-things-to-come/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Lately I&#8217;ve been busy with my new super awesome job at <a href="http://nerdery.com/" target="_blank">The Nerdery</a>, putting finishing touches on my book <a href="http://affiliate.manning.com/idevaffiliate.php?id=1199&amp;url=19" target="_blank">HTML5 in Action</a>, and moving to a new location in Chicago. This has kept me quite busy, so I plan on taking a break from side projects for about a month to play Mass Effect 3 and SWTOR. When I return, I&#8217;ll be pursing the following projects you can look forward to:</p>
<ul>
<li>Getting my game engine <a href="https://github.com/ashblue/canvas-prime" target="_blank">Canvas Prime</a> into beta and writing tutorials for it</li>
<li>Invites to test out my top secrect HTML5 tower defense game</li>
<li>Finishing my WordPress libraries for <a href="https://github.com/ashblue/wp-simple-settings" target="_blank">settings</a>, custom post types, and user profiles (with documentation)</li>
<li>Articles on HTML5 game theory, tutorials with emerging technologies, screencasts, and more!</li>
</ul>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/nIC3EwK1rkQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2012/web-development/a-web-development-list-of-things-to-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2012/web-development/a-web-development-list-of-things-to-come/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-web-development-list-of-things-to-come</feedburner:origLink></item>
		<item>
		<title>HTML5 Canvas Presentation</title>
		<link>http://feedproxy.google.com/~r/blueashes/~3/pKfigxpqdSU/</link>
		<comments>http://blueashes.com/2012/web-development/html5-canvas-presentation/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 00:01:33 +0000</pubDate>
		<dc:creator>Ash Blue</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 In Action]]></category>
		<category><![CDATA[slideshow]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blueashes.com/?p=125</guid>
		<description><![CDATA[A couple months back I put together a presentation on the HTML5 Canvas API. Its aimed at giving an introduction to developers with a very basic understanding of JavaScript. It includes links to live examples you can tinker with in-browser, &#8230; <a href="http://blueashes.com/2012/web-development/html5-canvas-presentation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>A couple months back I put together a presentation on the HTML5 Canvas API. Its aimed at giving an introduction to developers with a very basic understanding of JavaScript. It includes links to live examples you can tinker with in-browser, so you can play with what you&#8217;re presented. A majority of the content comes from my upcoming book project <a target="blank" href="http://www.manning.com/crowther2/">HTML5 In Action</a>.</p>
<p><span id="more-125"></span></p>
<p><iframe src="https://docs.google.com/presentation/embed?id=1qjAxHiAOlcSwdVKmk63MjBxpPnGbwDCzfKQp-TqKcwo&#038;start=false&#038;loop=false&#038;delayms=3000" frameborder="0" width="480" height="389" allowfullscreen="true" webkitallowfullscreen="true"></iframe></p>
<p>Note: If you want to run the <a target="blank" href="http://www.manning.com/crowther2/">Breakout demo</a>, please visit the HTML5 In Action page on manning.com.</p>
<img src="http://feeds.feedburner.com/~r/blueashes/~4/pKfigxpqdSU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blueashes.com/2012/web-development/html5-canvas-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blueashes.com/2012/web-development/html5-canvas-presentation/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=html5-canvas-presentation</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching using disk: basic
Object Caching 799/925 objects using disk: basic

 Served from: blueashes.com @ 2013-06-20 04:32:26 by W3 Total Cache -->
