<?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>CreativeJS</title>
	<atom:link href="http://creativejs.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://creativejs.com</link>
	<description>The very best of creative JavaScript and HTML5</description>
	<lastBuildDate>Wed, 16 May 2012 14:00:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Grand Theft Auto WebGL</title>
		<link>http://creativejs.com/2012/05/grand-theft-auto-webgl/</link>
		<comments>http://creativejs.com/2012/05/grand-theft-auto-webgl/#comments</comments>
		<pubDate>Wed, 16 May 2012 14:00:12 +0000</pubDate>
		<dc:creator>Richard Davey</dc:creator>
				<category><![CDATA[WebGL]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[GTA]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3956</guid>
		<description><![CDATA[Before you get too overly excited by the title, no this isn&#8217;t a full recreation of the 1997 DMA classic. Instead it&#8217;s a WebGL tech demo put together by Niklas von Hertzen as an experiment, to test out the creation &#8230; <a href="http://creativejs.com/2012/05/grand-theft-auto-webgl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-3957" title="GTAWebGL" src="http://creativejs.com/wp-content/uploads/2012/05/GTAWebGL.jpg" alt="" width="600" height="200" /></p>
<p>Before you get too overly excited by the title, no this isn&#8217;t a full recreation of the 1997 DMA classic. Instead it&#8217;s a WebGL tech demo put together by <a href="https://twitter.com/niklasvh">Niklas von Hertzen</a> as an experiment, to test out the creation and performance of large static environments. It works by loading in the original GTA map files which are now freely available, parses all of the data out of them and re-creates the city in WebGL driven 3D.</p>
<p>Several of the game objects are also present, and a basic collision system allows you to teasingly walk around the city in pedestrian mode. I guarantee you&#8217;ll walk up to a car and try to get into it, but alas that won&#8217;t do much right now. However the project is fully open source, so if you&#8217;d like to re-live the <a href="http://www.youtube.com/watch?v=dZe9M6DD-wI">Gouranga moment</a> and add it back in, then checkout the code from <a href="https://github.com/niklasvh/WebGL-GTA">github</a> and get hacking.</p>
<p><a href="http://experiments.hertzen.com/webgl-gta/">View the GTA WebGL Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/05/grand-theft-auto-webgl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ways to get Creative</title>
		<link>http://creativejs.com/2012/05/ways-to-get-creative/</link>
		<comments>http://creativejs.com/2012/05/ways-to-get-creative/#comments</comments>
		<pubDate>Wed, 09 May 2012 13:00:43 +0000</pubDate>
		<dc:creator>Simon Madine</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3923</guid>
		<description><![CDATA[Here at CreativeJS, we&#8217;re usually so busy scouring the Internet for the latest amazing demos we don&#8217;t get a chance to catch up with you all as much as we&#8217;d like. We&#8217;d like to change that. Over on our shiny, &#8230; <a href="http://creativejs.com/2012/05/ways-to-get-creative/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.facebook.com/creativejs"><img class="alignnone  wp-image-3928" title="Creative JS Facebook page" src="http://creativejs.com/wp-content/uploads/2012/05/fb.png" alt="Creative JS Facebook page" width="600" height="200" /></a></p>
<p>Here at CreativeJS, we&#8217;re usually so busy scouring the Internet for the latest amazing demos we don&#8217;t get a chance to catch up with you all as much as we&#8217;d like. We&#8217;d like to change that.</p>
<p>Over on our <a href="http://facebook.com/creativejs">shiny, new Facebook page</a>, we&#8217;ll be posting each article as it comes out and we&#8217;d love it if you want to join in the conversation there. If you subscribe to the page, you can get the articles right in your timeline. Effortless!</p>
<p>During our quest to find the most creative uses of JavaScript out there, we come across many more cool things than we could ever hope to write about. We&#8217;ll be posting a few of these to Facebook so you don&#8217;t miss them. You can also send us messages there if you find something you think we should cover.</p>
<h2>Even more ways to get Creative</h2>
<p>If Facebook&#8217;s not your thing, don&#8217;t worry. We&#8217;ve also added a weekly email digest to the site. Subscribe using the link in the sidebar and you&#8217;ll still never miss out.</p>
<p>There are now loads of ways to keep up with the articles here but if you have any more you&#8217;d like us to do, just <a href="https://twitter.com/intent/tweet?text=@creativjs%20Hi">get in touch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/05/ways-to-get-creative/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Cube</title>
		<link>http://creativejs.com/2012/05/google-cube/</link>
		<comments>http://creativejs.com/2012/05/google-cube/#comments</comments>
		<pubDate>Wed, 02 May 2012 01:00:41 +0000</pubDate>
		<dc:creator>Tim Holman</dc:creator>
				<category><![CDATA[Game]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3897</guid>
		<description><![CDATA[The Google maps team have been hard at work lately, releasing in late 2011 an interactive showcase of their newer maps features, including an updated mobile experience, 3D Streetview and even Indoor maps. This campaign was quickly followed by a pair of videos showing &#8230; <a href="http://creativejs.com/2012/05/google-cube/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.playmapscube.com/"><img class="alignnone size-full wp-image-3900" title="Google Maps Cube" src="http://creativejs.com/wp-content/uploads/2012/05/Screen-Shot-2012-05-01-at-10.12.47-AM.png" alt="" width="600" height="200" /></a></p>
<p>The Google maps team have been hard at work lately, releasing in late 2011 an <a href="http://maps.google.com/help/maps/starthere/">interactive showcase</a> of their newer maps features, including an updated mobile experience, 3D Streetview and even Indoor maps.</p>
<p>This campaign was quickly followed by a <a href="http://www.youtube.com/watch?v=EYRd8hNvi7o">pair</a> of <a href="http://www.youtube.com/watch?v=TVum3HsmZ6M">videos</a> showing off both a larger than life ball-in-maze style game, as well as a small gameplay video of the Google Cube game.</p>
<p>After a three month wait and lots of anticipation, Google&#8217;s promotional Cube game is complete and released, bringing with it all the quality and polish we have come to expect from any promotional Google product.</p>
<p>The premise of the game is quite quite simple: you guide your small blue ball from location to location over 8 levels within the 3D, cubic map, which itself has been styled with the iconic &#8220;Google Maps colors&#8221; that we have all come to know and love.</p>
<p>The gameplay itself is strictly 2D (with the exception of multiple &#8216;floors&#8217; on the indoors level), a third dimension is also added as the cube itself tilts and pans, giving a much deeper 3D experience. The cube and levels are rendered in webgl with <a href="https://github.com/mrdoob/three.js/">Three.js</a> (No surprises there) and the physics and collisions are handled by the ever popular <a href="http://box2d.org/">box2D</a>. The beautiful background music which really completes the experience has been implemented with the html5 web audio API.<strong id="internal-source-marker_0.3616645100992173"></strong></p>
<p>A quick glimpse at the source also hints a hidden easter egg: if you type in the Konami code (up up down down left right left right b a enter), and are on a mac-os, you can use the in-built accelerometers in your laptop, and really tilt yourself to victory!</p>
<p><a href="http://www.playmapscube.com/">Cube</a> &#8211; A Google Maps project &#8211; put together by <a href="http://www.b-reel.com/">B-reel</a> (<a href="https://twitter.com/#!/B__REEL">@B_REEL</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/05/google-cube/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Score Rush</title>
		<link>http://creativejs.com/2012/04/score-rush/</link>
		<comments>http://creativejs.com/2012/04/score-rush/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 14:00:45 +0000</pubDate>
		<dc:creator>Richard Davey</dc:creator>
				<category><![CDATA[Game]]></category>
		<category><![CDATA[Turbulenz]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[Xona Games]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3891</guid>
		<description><![CDATA[Score Rush was one of the inaugural games made available when the Turbulenz site opened its doors and went into public beta in April 2012. Created by Jason and Matthew Doucette of Xona Games this is a browser based port of their &#8230; <a href="http://creativejs.com/2012/04/score-rush/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-3892" title="ScoreRush" src="http://creativejs.com/wp-content/uploads/2012/04/ScoreRush.jpg" alt="" width="600" height="200" /></p>
<p>Score Rush was one of the inaugural games made available when the <a href="https://turbulenz.com/">Turbulenz</a> site opened its doors and went into public beta in April 2012. Created by Jason and Matthew Doucette of <a href="http://xona.com/">Xona Games</a> this is a browser based port of their Xbox 360 original that rocked the Xbox Live Indie charts upon release. Although still in beta and constantly evolving, along with the platform on which it lives, this is already one heck of a gaming experience.</p>
<p>Xona are masters of the <a href="http://en.wikipedia.org/wiki/Shoot_'em_up">bullet hell</a> shoot-em-up sub-genre and Score Rush is no exception. Powered by the <a href="http://biz.turbulenz.com/">Turbulenz SDK</a> it screams along at a blistering pace, with boss after boss to defeat and thousands of bullets delivered in lethal but mesmerising wave patterns to avoid. Although the on-screen action can get visually overwhelming it always feels fair, and there&#8217;s no death-by-dodgy collision detection to be found.</p>
<p>You can tweak the visual effects in the options screen to tone things down if you prefer, but something about the franticness of it kept me striving for the next achievement. Needless to say if your PC/Mac isn&#8217;t up to spec then you won&#8217;t get far running this game. Yes it may be &#8220;browser based&#8221; but you&#8217;ve still got to have the equivalent GPU horsepower of an Xbox under the hood to really appreciate it.</p>
<p>Special note must be made to the soundtrack. <a href="http://dragonasmusic.com/">Dragon Music Productions</a> provide the audio that rocks along as your adrenaline flows as you desperately bid to clear just one more wave before inevitable annihilation. If you&#8217;ve got a joypad and browser capable of supporting it, then plug it in as this was a dual-stick shooter at birth. Although it maps well to mouse and keyboard it&#8217;s still best experienced the way it was meant to be played.</p>
<p>If you&#8217;re a game developer then the <a href="http://biz.turbulenz.com/">Turbulenz SDK</a> is well worth checking out. There is a real elegance to the framework and it is blatantly clear it has been constructed by a team of professional game developers. Although it obviously has deep links into the Turbulenz social system for things such as achievements and leaderboards the performance, physics system, asset streaming and ability to update any part of your game, at any time, opens up a lot of options should you wish to create for their network. It will be fascinating to see how it progresses and what the developer adoption rate will be like.</p>
<p>Turbulenz themselves are in very early days, constantly shifting and changing as they expand out upon their original goals. But even at this point they seem to have something no other portal has at the moment: genuinely console quality games. Personally I find this approach highly interesting. There are hundreds of places on the web to enjoy good quality games, from 5 minute coffee-break fillers to <a href="http://www.newgrounds.com/portal/view/586969">epic Flash masterpieces</a>, but they still <em>feel</em> like browser games. Whereas Score Rush and its ilk are like peering into the guts of an Xbox that&#8217;s beating inside your browser. It appears as if Turbulenz are coveting an as-yet unexplored &#8220;high-end browser gaming&#8221; market as part of their strategy. Will this work out in the long term? Time will tell. But for now it&#8217;s definitely worth keeping an eye on.</p>
<p>Play <a href="https://turbulenz.com/">Score Rush on Turbulenz.com</a>, free registration required. Add me as a friend (username: photonstorm) if you&#8217;d like to see the local achievement streams in action &#8211; and to lay waste to my pitiful highscores <img src='http://creativejs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/04/score-rush/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>requestAnimationFrame — The secret to silky smooth animation</title>
		<link>http://creativejs.com/2012/04/requestanimationframe-the-secret-to-silky-smooth-javascript-animation/</link>
		<comments>http://creativejs.com/2012/04/requestanimationframe-the-secret-to-silky-smooth-javascript-animation/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 16:04:54 +0000</pubDate>
		<dc:creator>Kevin Sweeney</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3492</guid>
		<description><![CDATA[Do you often find yourself lying awake at night wondering how you, too, can get your JavaScript animations to be as smooth as those silk sheets of yours? I can’t say for certain that all of us on the CreativeJS &#8230; <a href="http://creativejs.com/2012/04/requestanimationframe-the-secret-to-silky-smooth-javascript-animation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://creativejs.com/resources/requestanimationframe/"><img src="http://creativejs.com/wp-content/uploads/2012/04/silky_js.jpg" alt="" title="silky_js" width="600" height="200" class="alignnone size-full wp-image-3886" /></a><br />
Do you often find yourself lying awake at night wondering how you, too, can get your JavaScript animations to be as smooth as those silk sheets of yours? I can’t say for certain that all of us on the CreativeJS team actually <em>have</em> silk sheets, but we did want to show you how to make your animations rock, so we created a page over in our <a href="http://creativejs.com/resources/">Resources</a> section dedicated to the new(ish) <code>requestAnimationFrame</code> API. <a href="http://creativejs.com/resources/requestanimationframe/">Go take a look</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/04/requestanimationframe-the-secret-to-silky-smooth-javascript-animation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS Tilt</title>
		<link>http://creativejs.com/2012/04/css-tilt/</link>
		<comments>http://creativejs.com/2012/04/css-tilt/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 14:00:52 +0000</pubDate>
		<dc:creator>Simon Madine</dc:creator>
				<category><![CDATA[CSS (3D)]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3857</guid>
		<description><![CDATA[We&#8217;re not quite at the stage where we can fly through the Internet in 3D à la Johnny Mnemonic, diving between skyscrapers of data and along streets of shimmering bytes. Until then, we&#8217;ll have to make do with visualising our &#8230; <a href="http://creativejs.com/2012/04/css-tilt/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.edankwan.com/lab/3dit"><img class="alignnone size-full wp-image-3858" title="3d it!" src="http://creativejs.com/wp-content/uploads/2012/04/3dit.jpg" alt="" width="600" height="200" /></a></p>
<p>We&#8217;re not quite at the stage where we can fly through the Internet in 3D à la <em>Johnny Mnemonic</em>, diving between skyscrapers of data and along streets of shimmering bytes. Until then, we&#8217;ll have to make do with visualising our web pages in 3D which is still pretty futuristic, if you think about it.</p>
<p><a href="http://www.edankwan.com/lab/3dit">3D it!</a> from Edan Kwan is a bookmarklet that uses 3D CSS transforms to turn any web page into a moveable, (partially) rotateable 3D object which displays elements closer to the viewer the deeper they&#8217;re nested in the DOM. As it&#8217;s just standard JS with CSS doing the graphical heavy-lifting, the page is still fully interactive &#8211; hover states, links, selectable text, the lot. It can struggle a bit with larger pages but for the most part, it&#8217;s fun to launch it all over the place. <a href="javascript:if(!window.ThreeDit)%7BThreeDit=function(a,b)%7Bfunction%20G(a)%7Bp=a.clientX+g.scrollLeft;q=a.clientY+g.scrollTop%7Dfunction%20F()%7Bvar%20a=g.scrollLeft-t;var%20b=g.scrollTop-u;p=v=g.scrollLeft+r;q=w=g.scrollTop+s;n+=a;o+=b;x=v+l.clientLeft-e.pageXOffset;y=w+l.clientTop-e.pageYOffset;t=g.scrollLeft;u=g.scrollTop%7Dfunction%20E()%7Br=e.innerWidth/2;s=e.innerHeight/2;p=v=g.scrollLeft+r;q=w=g.scrollTop+s;x=v+l.clientLeft-e.pageXOffset;y=w+l.clientTop-e.pageYOffset%7Dfunction%20D()%7Bn+=(p-n)*.05;o+=(q-o)*.05;var%20a=(n-v)/r*5;var%20b=-(o-w)/s*5;for(var%20e=0;e%3Cd.length;e++)%7Bvar%20f=d%5Be%5D.node;var%20g=f;var%20h=0;var%20k=0;var%20l=d%5Be%5D.z;f.style%5Bi%5D=x-h+%22px%20%22+(y-k)+%22px%22;f.style%5Bj%5D=%22rotateY(%22+a+%22deg)%20rotateX(%22+b+%22deg)translate3d(0px,0px,%20%22+l*c.zDepth+%22px)%22%7D%7Dfunction%20C()%7Bvar%20a;for(var%20b=0;b%3Cd.length;b++)%7Bd%5Bb%5D.node.style%5Bj%5D=%22none%22%7Ddelete%20d;d=%5B%5D;A(g,0);d.push(%7Bnode:g,z:0%7D);d.sort(function%20h(a,b)%7Breturn%20a.z-b.z%7D);var%20c=0;var%20e=%5Bc%5D;d%5B0%5D.z=c;for(var%20b=1;b%3Cd.length;b++)%7Be.push(c=d%5Bb%5D.z==d%5Bb-1%5D.z?c:c+1)%7Dvar%20f=e%5Be.length-1%5D;for(var%20b=0;b%3Cd.length;b++)%7Bd%5Bb%5D.z=e%5Bb%5D/f%7D%7Dfunction%20B(a)%7Bc.perspective=a;k%5Bh+%22Perspective%22%5D=c.perspective+%22px%22%7Dfunction%20A(a,b,e)%7Bif(d.length%3E=c.maxElems-1)return;if(!e&amp;&amp;a.tagName==%22DIV%22&amp;&amp;a.childNodes.length%3E0)%7Bd.push(%7Bnode:a,z:b%7D)%7Dfor(var%20f=0;f%3Ca.childNodes.length;f++)%7BA(a.childNodes%5Bf%5D,b+1,a.childNodes.length%3C2)%7D%7Dfunction%20z(a)%7Bf=a;g=f.body;h=%22webkitTransform%22in%20g.style?%22webkit%22:%22MozTransform%22in%20g.style?%22Moz%22:null;i=h+%22TransformOrigin%22;j=h+%22Transform%22;l=f.documentElement;k=l.style;m=e.getComputedStyle;t=g.scrollLeft;u=g.scrollTop;k%5Bh+%22Perspective%22%5D=c.perspective+%22px%22;k.backgroundImage=m(g).getPropertyValue(%22background-image%22);k.backgroundColor=m(g).getPropertyValue(%22background-color%22);C();if(!c.initialized)%7BE();n=p;o=q;e.addEventListener(%22resize%22,E);e.addEventListener(%22scroll%22,F);f.addEventListener(%22mousemove%22,G);setInterval(D,1e3/60)%7Dc.initialized=true%7Dvar%20c=%7BzDepth:300,maxElems:100,perspective:500,initialized:false%7D;var%20d=%5B%5D;var%20e=a;var%20f=b;var%20g;var%20h;var%20i;var%20j;var%20k;var%20l;var%20m;var%20n;var%20o;var%20p;var%20q;var%20r;var%20s;var%20t;var%20u;var%20v;var%20w;var%20x;var%20y;c.init=z;c.recollectElems=C;c.render=D;c.changePerspective=B;return%20c%7D(window,document);ThreeDit.init(document);%7Delse%7BThreeDit.recollectElems();%7D">Try it out on this page!</a></p>
<p>Firefox users have had access to something similar since the middle of last year &#8211; the <a title="Tilt 3D" href="https://addons.mozilla.org/en-US/firefox/addon/tilt/">Tilt 3D extension</a>* creates a 3D visualisation of the current page using WebGL. Being powered by some more heavy-weight JS, this one is very smooth and completely rotatable but only available in Firefox. Whether it helps in web development depends on your working style but there&#8217;s no doubt it&#8217;s fun to pretend to be Keanu Reeves.</p>
<p>*A<em>s <a href="https://twitter.com/#!/alexturnbull/status/194882303296675840">Alex Turnbull points out</a>, the tilt extension now is integrated into the latest version of Firefox.</em></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/04/css-tilt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retro rippling reflections with lake.js</title>
		<link>http://creativejs.com/2012/04/lake-js/</link>
		<comments>http://creativejs.com/2012/04/lake-js/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 11:40:37 +0000</pubDate>
		<dc:creator>Paul Neave</dc:creator>
				<category><![CDATA[Canvas (2D)]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3845</guid>
		<description><![CDATA[If you&#8217;ve ever seen a Java applet in a web page, chances are it was only there for one purpose: to add a &#8220;rippling lake&#8221; effect to an image. Why Java never took off we&#8217;ll never know! But now, thankfully, we &#8230; <a href="http://creativejs.com/2012/04/lake-js/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://alligator.github.com/lake.js/"><img class="alignnone size-full wp-image-3847" title="lake.js" src="http://creativejs.com/wp-content/uploads/2012/04/lake.jpg" alt="" width="600" height="350" /></a></p>
<p>If you&#8217;ve ever seen a Java applet in a web page, chances are it was only there for one purpose: to add a &#8220;rippling lake&#8221; effect to an image. Why Java never took off we&#8217;ll never know! But now, thankfully, we can remove all those Java applets from our web pages and replace them with this lovely modern HTML5 canvas version instead.</p>
<p><a href="http://alligator.github.com/lake.js/">Lake.js</a> is a fun retro canvas effect you can apply to any image element. It&#8217;s a jQuery plugin that inserts a canvas element directly beneath an image. In that canvas it displays a flipped version of the image with an animating, rippling reflection. You can also adjust the speed, scale and number of waves used in the effect.</p>
<p><a href="http://alligator.github.com/lake.js/">Have a look at the demo page</a> or grab the <a href="https://github.com/Alligator/lake.js">source code from GitHub</a> and, as it suggests, make some &#8220;cool ass lakes&#8221;!</p>
<p>Even if you insist on sticking with your Java applets for that extra retro kudos, the source code is great to pore over as it shows exactly how to manipulate pixels using canvas. Play around and see what other effects you can make!</p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/04/lake-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disc experiment</title>
		<link>http://creativejs.com/2012/04/disc-experiment/</link>
		<comments>http://creativejs.com/2012/04/disc-experiment/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 18:57:17 +0000</pubDate>
		<dc:creator>Val Head</dc:creator>
				<category><![CDATA[JS Library]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3822</guid>
		<description><![CDATA[Disc experiment is a fun sound experiment influenced a little bit by the loop waveform visualizer we covered a few weeks ago. It&#8217;s a visualizer that builds upon itself with simple shapes as it rotates around in 3D to the &#8230; <a href="http://creativejs.com/2012/04/disc-experiment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://disc.uncontrol.com/v_09/"><img class="alignnone size-full wp-image-3823" title="diskexperiment" src="http://creativejs.com/wp-content/uploads/2012/04/diskexperiment.jpg" alt="" width="600" height="200" /></a><br />
<a href="http://disc.uncontrol.com/v_09/">Disc experiment</a> is a fun sound experiment influenced a little bit by <a href="http://creativejs.com/2012/02/loop-waveform/">the loop waveform visualizer</a> we covered a few weeks ago. It&#8217;s a visualizer that builds upon itself with simple shapes as it rotates around in 3D to the music. It may not look like much at first, but start up the sound and play with the parameters to see it at it&#8217;s best. You can get some really beautiful shapes out of it!</p>
<p><a href="http://twitter.com/mannytan">Manny</a> provides a <a href="http://www.uncontrol.com/posts/disc/">nice write up on the process</a> as well as links to the various iterations of the experiment on his blog. So, it&#8217;s not just a fun experiment to play with, it&#8217;s also a nice peek into the process of getting there. And who doesn&#8217;t love a good process story?</p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/04/disc-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wizard of Wor</title>
		<link>http://creativejs.com/2012/04/wizard-of-wor/</link>
		<comments>http://creativejs.com/2012/04/wizard-of-wor/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 15:00:30 +0000</pubDate>
		<dc:creator>Richard Davey</dc:creator>
				<category><![CDATA[Game]]></category>
		<category><![CDATA[8-bit]]></category>
		<category><![CDATA[C64]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[retro]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3767</guid>
		<description><![CDATA[There seems to be a trend of re-creating classic 8-bit games in JavaScript at the moment, including the recent and excellent Survivor. But this time Hungarian developer Krisztián Tóth brings us a faithful re-creation of the Commodore 64 version of &#8230; <a href="http://creativejs.com/2012/04/wizard-of-wor/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://wizardofwor.krissz.hu/"><img class="alignnone size-full wp-image-3775" title="wizardofwor_cjs" src="http://creativejs.com/wp-content/uploads/2012/04/wizardofwor_cjs.png" alt="" width="600" height="200" /></a></p>
<p>There seems to be a trend of re-creating classic 8-bit games in JavaScript at the moment, including the recent and excellent <a href="http://creativejs.com/2012/03/survivor-a-c64-remake/">Survivor</a>. But this time Hungarian developer <a href="http://krissz.hu/">Krisztián Tóth</a> brings us a faithful re-creation of the Commodore 64 version of <a href="http://wizardofwor.krissz.hu/">Wizard of Wor</a>, itself a port of the 1981 Midway arcade title. The overall concept of the game is a simple one: you and an optional friend, battle your way through a series of dungeon mazes fighting the baddies that dwell within. These include the Burwors, blue wolf-like creatures, Thorwors, red scorpions and the titular Wizard of Wor, a deadly wizard who appears after every 3rd dungeon.</p>
<p>It&#8217;s up to the players to decide if they want to play co-operatively or against each other, as their shots are fatal. This creates an interesting dynamic rarely found in a game over three decades old. As this JavaScript re-creation is as true to the C64 version as you can get without plugging in a real Commodore or emulator, I was keen to find out more from Krisztián about the reason for making the game and the process involved:</p>
<p>&#8220;When I was 7 years old my parents bought a Commodore 64 and this was the <a href="http://www.c64-wiki.com/index.php/Wizard_of_Wor">first game</a> I really fell in love with. I was enthralled, both by the game and by the computer. After being so fully infected I think my mission was to just give something back in return. This is my fourth C64 JavaScript conversion. First was <a href="http://domino.krissz.hu/">Domino</a>, then <a href="http://tetris.krissz.hu/">Tetris</a>. The third as biggest was <a href="http://boulderdash.krissz.hu/">Boulder Dash</a> with the complete construction kit and now Wizard of Wor.</p>
<p>In order to convert Wizard of Wor to JavaScript I just played the original, a lot, and looked carefully at what I was seeing. No disassembly of the original code was used, it was all done by eye. These games always seem so simple at first, but when you look deeper you realise that isn&#8217;t true. Their primitive graphics and sound effects hide a lot of complexity. In this game for example the most difficult algorithms are found in the enemies and player movements. But I always aspire to create a perfectly faithful adaptation. That&#8217;s the whole point of it for me.&#8221;</p>
<p>When questioned about how he built the game from a technical perspective, Krisztián  had this to say:</p>
<p>&#8220;I used my own engine to create the game. Obviously I use jQuery and a few other plugins,  jStorage for handling local score saving for example. But my principal aim is that the program code should be as simple as possible. To ensure that the code doesn&#8217;t contain unnecessary functions, which I would almost certainly have if I used a framework. The JavaScript in my <a href="http://tetris.krissz.hu/">Tetris</a> game for example is &lt; 12Kb. I&#8217;m an old school programmer. I fight for every byte of memory, and I love that <img src='http://creativejs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The game uses a combination of canvas and CSS. The main game area is of course canvas. Canvas is the solution if you want fast animations. I tried using animated divs and cells but this was a dead-end in erms of speed. My computer is 10 years old, so I am forced to optimize my code otherwise I cannot play my own games! Of course using canvas meant I lost all SEO, so the intro screen, instructions and all text are plain HTML styled with CSS. I never re-draw the whole canvas either, only the areas I need, which of course helps increase speed.&#8221;</p>
<p>With four C64 games already under his belt I wondered if there were plans for any more?</p>
<p>&#8220;I have a lot of plans but very little free time. I always make a rule to never start a new project, but I cannot keep it! There are a lot of great games, not only C64 ones, that I would like to try: Impossible Mission 2, Dune 2, over-head RPG games like Ultima 1, platform games like Prince of Persia and more. There&#8217;s plenty of choice. It&#8217;ll be a surprise!</p>
<p>My basic programming principle is this: We should write code in such a way that the players do not have to focus on the technical details. I want the players to become addicted to the game world that the code created, and the developer should be prepared to make the code do anything to keep this illusion alive.&#8221;</p>
<p><a href="http://wizardofwor.krissz.hu/">Play Wizard of Wor</a></p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/04/wizard-of-wor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pile-o-Gears — Speed coding with Jaws</title>
		<link>http://creativejs.com/2012/04/pile-o-gears-speed-coding-with-jaws/</link>
		<comments>http://creativejs.com/2012/04/pile-o-gears-speed-coding-with-jaws/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 12:55:08 +0000</pubDate>
		<dc:creator>Kevin Sweeney</dc:creator>
				<category><![CDATA[Game]]></category>
		<category><![CDATA[JS Library]]></category>

		<guid isPermaLink="false">http://creativejs.com/?p=3801</guid>
		<description><![CDATA[Pile-o-Gears is a simple, yet addictive platformer built by Christer Kaitila using the Jaws engine. Just another platform game, you say? Not quite! Consider that this particular game was built in only 48 minutes (with some help from existing code)! &#8230; <a href="http://creativejs.com/2012/04/pile-o-gears-speed-coding-with-jaws/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mcfunkypants.com/2012/pile-o-gears-html5-game/"><img src="http://creativejs.com/wp-content/uploads/2012/04/pileogears.jpg" alt="" title="pileogears" width="600" height="200" class="alignnone size-full wp-image-3802" /></a></p>
<p>Pile-o-Gears is a simple, yet addictive <a href="http://en.wikipedia.org/wiki/Platform_game" title="platform game">platformer</a> built by <a href="http://www.mcfunkypants.com" target="_blank">Christer Kaitila</a> using the <a href="http://jawsjs.com/">Jaws</a> engine. Just another platform game, you say? Not quite! Consider that this particular game was built in only 48 <em>minutes</em> (with some help from existing code)!</p>
<p>The smooth framerate and limited development time fed my intrigue of Jaws, a 2D game library which supports both canvas and DOM-based elements. The simplicity of syntax and separation of game logic is thoughtfully done. A basic game setup in Jaws looks like so:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jaws.<span style="color: #660066;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
    setup<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">// Initialization code -- called once</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
    update<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">// Game logic -- called each game tick</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
    draw<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">// Drawing logic -- called each game tick, AFTER update()</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In particular, separating the update() and draw() method calls allows you to optimize your repaints which can slow down your intervals—something we will cover in-depth in a future tutorial here on CreativeJS. Jaws is <a href="https://gist.github.com/768272" title="List of JS game engines">far from alone</a> in the JavaScript game engine arena, but it will be great to see what else can be made with it.</p>
<p>Do you have any experience with Jaws or other gaming engines? We&#8217;d love to hear your experiences! Also be sure to give <a href="http://www.mcfunkypants.com/2012/pile-o-gears-html5-game/">Pile-o-Gears</a> a few minutes of your time to play (so you can be awesome, too) and read up on Christer&#8217;s experience while you&#8217;re at it.</p>
]]></content:encoded>
			<wfw:commentRss>http://creativejs.com/2012/04/pile-o-gears-speed-coding-with-jaws/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.767 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-16 21:18:27 -->

