<?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/"
	>

<channel>
	<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>kode80</title>
	<atom:link href="http://kode80.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kode80.com</link>
	<description>Coding for web, iPhone and OSX</description>
	<pubDate>Mon, 09 Apr 2012 18:19:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HoloToy perspective in WebGL</title>
		<link>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/</link>
		<comments>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 18:18:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[anamorphosis]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[head tracking]]></category>

		<category><![CDATA[hologram]]></category>

		<category><![CDATA[HoloToy]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1035</guid>
		<description><![CDATA[Ever since I released HoloToy I have received many questions about how it produces the perspective distortion. Using WebGL I have replicated this effect right in the browser. Example with source code.]]></description>
			<content:encoded><![CDATA[<pre><canvas id="canvasGL" width="950" height="500"></canvas></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/J3DIMath.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/WebGLController.js"></script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/SimpleMeshGL.js"></script></pre>
<pre><script id="vshader" type="x-shader/x-vertex">
			uniform mat4 mvp;

			attribute vec4 position;
			attribute vec4 texCoord;
			attribute vec4 color;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_Position = mvp * position;
				texCoordVar = texCoord.st;

				float fog = 1.0 - ((gl_Position.z - 100.0) / 120.0);
				fogVar = clamp( vec4( fog, fog, fog, 1.0), 0.0, 1.0);
				colorVar = color;
			}
</script></pre>
<pre><script id="fshader" type="x-shader/x-fragment">
			precision mediump float;

			uniform sampler2D texture;

			varying vec2 texCoordVar;
			varying vec4 colorVar;
			varying vec4 fogVar;

			void main()
			{
				gl_FragColor = (texture2D( texture, texCoordVar) * colorVar) * fogVar;
			}
</script></pre>
<pre><script type="text/javascript" src="http://kode80.com/holowebgl/main.js"></script></pre>

<div class="container">
<div class="column span-24 append-1">
<div class="box">
Mouse movement controls the head position used to calculate the perspective and modelview matrices.
</div>
</div>

<div class="column span-8 append-1">
<p>Ever since I released <a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8">HoloToy</a> I have received many questions about how exactly it produces the perspective distortion that (combined with the device orientation/head-tracking) gives the illusion of glasses-free 3D. I've answered all these questions individually as and when but with my recent dives into WebGL I figured this was a good time to put an example up that people can use.
</div>
<div class="column span-7 append-1">
The effect is very simple to achieve. First an off-axis projection matrix is created, offset by the head position. Then a modelview matrix is created, looking directly into the 'room', offset by the inverted head position. These two matrices cause the 'fourth wall' to remain stationary while everything beyond moves according to depth.
</div>
<div class="column span-7 end">
The code for this example is linked directly below. The matrix generation is handled in main.js and uses Javascript equivalents of OpenGL/GLUT matrix functions so should be very easy to port to your required platform.
</div>
</div>

<!-- LINKS -->
<div class="container">
<div class="column span-24 end">
<div class="box">
<h5>Code</h5>
<p><a href="http://kode80.com/holowebgl/main.js" target="_blank">main.js</a>, <a href="http://kode80.com/holowebgl/WebGLController.js" target="_blank">WebGLController.js</a>, <a href="http://kode80.com/holowebgl/SimpleMeshGL.js" target="_blank">SimpleMeshGL.js</a>, <a href="http://kode80.com/holowebgl/J3DIMath.js" target="_blank">J3DIMath.js</a></p>
<h5>Links</h5>
<p><a href="http://itunes.apple.com/app/holotoy/id360692282?mt=8" target="_blank">Try HoloToy for yourself (App Store link)</a></p>
<p><a href="http://www.youtube.com/playlist?list=PL6A78C5E3FFC25B6D" target="_blank">Watch a selection of videos with HoloToy running on-device.</a></p>
</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/04/09/holotoy-perspective-in-webgl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Level Modding</title>
		<link>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/</link>
		<comments>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:34:16 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[editing]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[mod]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1028</guid>
		<description><![CDATA[Want to create your own 1-bit Ninja levels and play them in-game? The latest update has a hidden level-modding feature that allows you to do just that! Description and video inside...]]></description>
			<content:encoded><![CDATA[<div class="container">The latest 1-bit Ninja has a hidden feature not disclosed in the description or the update notes; level modding! Non-console games have a long history of allowing players to modify their content to varying degrees and this is something that had a great influence on my love of games when growing up. I wanted to add this functionality to 1-bit Ninja so that adventurous players could try their hand at building their own levels and maybe inspire a few to look further into game development.

Included in the latest 1-bit Ninja update are the base maps for every level in the game, the tileset and a level-modding howto. These files can be found by connecting your device to iTunes and going to File Sharing. The video below demonstrates how to edit/create 1-bit Ninja levels for playing in the game.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">Get 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/23bNiTILgoM?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/30/1-bit-ninja-level-modding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja Lite on the App Store now!</title>
		<link>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:02:27 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1021</guid>
		<description><![CDATA[1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free!]]></description>
			<content:encoded><![CDATA[<div class="container">1-bit Ninja Lite is now available for download from the App Store allowing players to try their hand at 5 full levels of nail-biting 2D/3D run and jump action for free. 1-bit Ninja's classic features such as full replay recording and export are included in 1-bit Ninja Lite so players can show off their best times and scores.

1-bit Ninja was recently updated to 1.2 bringing new levels and more including a new custom checkpoint feature that gives players the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels.

1-bit Ninja brings nostalgia up to date with it's 3D slant on the classic 2D gameplay. Secrets are hidden behind the 3D perspective that require the player to explore beyond 2D. The full version contains 5 worlds, 25 levels and over 125 challenges as well as Game Center leaderboards, achievements and more.

<a href="http://itunes.apple.com/app/1-bit-ninja-lite/id509273128?mt=8">Download 1-bit Ninja Lite from the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/26/1-bit-ninja-lite-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja World 5 Update</title>
		<link>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/</link>
		<comments>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:03:05 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1011</guid>
		<description><![CDATA[1-bit Ninja update 1.2 is now available on the App Store. This major update introduces new levels, features and more...]]></description>
			<content:encoded><![CDATA[<div class="container">Introducing a whole new world, 1-bit Ninja update 1.2 is now available! World 5 continues right from where world 4 left off and will challenge players with even more tight jumps and hair-raising enemy setups.

With the new custom checkpoint feature players have the option of avoiding being sent back to the beginning of the current level upon death. Perfect for practicing tricky sections, custom checkpoints give the more casual player a helping hand in beating some of 1-bit Ninja's more challenging levels. To avoid cheating, high scores and best times are not submitted to Game Center if custom checkpoints were used to achieve them.

This update also fixes replay-to-movie exporting in iOS 5.

<a href="http://itunes.apple.com/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Ga5v9ZTBWYQ?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/03/22/1-bit-ninja-world-5-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio 1.02 now available</title>
		<link>http://kode80.com/2012/02/01/glsl-studio-102-now-available/</link>
		<comments>http://kode80.com/2012/02/01/glsl-studio-102-now-available/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:29:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=1004</guid>
		<description><![CDATA[The second GLSL Studio update is now available. This update brings the ability to import 3D objects from a number of different file formats, in-editor code completion and vertex data export.]]></description>
			<content:encoded><![CDATA[<div class="container">The second GLSL Studio update is now available! 

GLSL Studio 1.02 introduces 3D model import enabling developers and artists to test shader programs on their own 3D models directly in the app. A number of different file formats are supported including .OBJ .PLY and .MD2. Importing 3D models into GLSL Studio is made simple with iTunes File Sharing. The GLSL Studio code editor also sees a significant update in 1.02 gaining full code completion. As you type, GLSL keywords, function names and more are suggested along the top of the keyboard acting as a language guide and adding significant typing shortcuts. When exporting shader programs, GLSL Studio now also exports the current vertex data as a static array .h file making it even easier to quickly integrate and test in off-device projects.

Check out the new video below and learn more at: <a href="http://glslstudio.com/">www.glslstudio.com</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/j3ySCV91OBs?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/02/01/glsl-studio-102-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja level creation time lapse</title>
		<link>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/</link>
		<comments>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:41:10 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=997</guid>
		<description><![CDATA[New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level.]]></description>
			<content:encoded><![CDATA[<div class="container">New levels for 1-bit Ninja are in the works as well as some other tweaks and secret features. I thought it would be nice to show a small piece of what goes into a new level so I recorded this time lapse of the process starting from scratch.

<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8">View 1-bit Ninja on the App Store</a>
</div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/KJg0MFvc30Y?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/26/1-bit-ninja-level-creation-time-lapse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio Ver 1.01 now available</title>
		<link>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/</link>
		<comments>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:57:00 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=991</guid>
		<description><![CDATA[The first update to GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more.]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>The first update to my third kode80 iPhone app GLSL Studio is now available on the AppStore! This update adds a custom keyboard with arrow keys and coding shortcuts, light/dark syntax themes, code auto-indentation and more. GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL.

<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/12/glsl-studio-ver-101-now-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLSL Studio on the App Store now!</title>
		<link>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/</link>
		<comments>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:26:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[GLSL]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iPad]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<category><![CDATA[opengles]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=980</guid>
		<description><![CDATA[My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices!]]></description>
			<content:encoded><![CDATA[<a href="http://glslstudio.com/"><img class="alignleft size-full wp-image-602" title="GLSL Studio Icon" src="http://kode80.com/press/GLSLStudioIcon512.png" alt="GLSL Studio Icon" width="419" height="419" /></a>My third kode80 iPhone app GLSL Studio is now available on the AppStore! GLSL Studio is the first fully featured OpenGL programming environment for iOS enabling graphics/game developers to work on GPU code and effects directly on their iOS devices while also providing a safe and easy environment for aspiring developers to learn through experimentation. GLSL, OpenGL Shader Language, is a GPU programming language used by most modern portable devices and new technologies such as WebGL. <br/>
<a href="http://glslstudio.com/">Click here for the full GLSL Studio site</a>
<div class="container">]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2012/01/04/glsl-studio-on-the-app-store-now/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The big 1-bit Ninja giveaway!</title>
		<link>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/</link>
		<comments>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 20:05:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=947</guid>
		<description><![CDATA[1-bit Ninja is now available on the App Store. To celebrate the launch I'm giving away copies of the game as well as limited edition vinyl stickers! Read more to enter.]]></description>
			<content:encoded><![CDATA[Last Thursday 1-bit Ninja finally hit the App Store. Months of working on graphics, music, levels and code are now complete and the game is in players hands all around the world, it's a truly great feeling. 1-bit Ninja has been receiving some fantastic reviews both critically and in the App Store as well as inspiring some rather heated debate on the forums!

<a href="http://kotaku.com/5814373/">"already becoming one of my favorite games on the iPhone" - Kotaku</a>
<a href="http://www.gamezebo.com/games/1-bit-ninja/review">"1-Bit Ninja is, well, brilliant" - Gamezebo</a>
<a href="http://www.pocketgamer.co.uk/r/iPhone/1-bit+Ninja/review.asp?c=30920">"1-bit Ninja has enough originality and charm to forge its own path" - PockerGamer </a>
<a href="http://www.148apps.com/reviews/1bit-ninja-review/?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit">"1-bit Ninja is a truly unique and rewarding experience" - 148Apps</a>

To celebrate the launch I will be giving away some copies of the game as well as <a href="http://a.yfrog.com/img736/83/r4uh.jpg">limited edition 1-bit Ninja vinyl stickers</a> throughout the week on Twitter. To enter simply retweet this: <a href="https://twitter.com/#!/kode80/status/85439183761584128">Click for 1-bit Ninja Giveaway Tweet</a>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>

<div>
<a href="http://itunes.apple.com/us/app/1-bit-ninja/id427083185?mt=8"><img src="http://kode80.com/wp-content/uploads/2011/06/appstorebadge.png" alt="appstorebadge" title="appstorebadge" width="250" height="86" class="aligncenter size-full wp-image-956" /></a><br/>
</div>
<div>
1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track</div>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/27/the-big-1-bit-ninja-giveaway/feed/</wfw:commentRss>
		</item>
		<item>
		<title>1-bit Ninja releases this Thursday!</title>
		<link>http://kode80.com/2011/06/20/1-bit-ninja-releases-this-thursday/</link>
		<comments>http://kode80.com/2011/06/20/1-bit-ninja-releases-this-thursday/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 17:39:24 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[1-bit Ninja]]></category>

		<category><![CDATA[games]]></category>

		<category><![CDATA[iOS]]></category>

		<category><![CDATA[iphone]]></category>

		<category><![CDATA[iphone4]]></category>

		<category><![CDATA[ipod]]></category>

		<category><![CDATA[kode80apps]]></category>

		<guid isPermaLink="false">http://kode80.com/?p=925</guid>
		<description><![CDATA[After many months, 1-bit Ninja is officially complete, approved and ready for release this Thursday (June 23rd 2011). New trailer inside.]]></description>
			<content:encoded><![CDATA[<div class="container">After many months, 1-bit Ninja is officially complete, approved and ready for release this Thursday (June 23rd 2011).

1-bit Ninja is pure run + jump fun unlike anything else on the App Store. The stylized 2D side-scrolling world can be dragged into 3D at any point to reveal hidden paths. Built from the ground up for touch screen control that rivals 'real buttons', 1-bit Ninja sacrifices a back button in the name of precise control you don't ever have to think about.
Need to move in the opposite direction? There's a spring or platform for that!

* stylized 1-bit engine mixes 2D & 3D
* simple 2 touch control for jump-precision
* classic head-bouncing, run + jump gameplay
* hiscores & best times
* save & watch replays of your best runs
* 4 worlds, 20 levels & over 100 challenges
* secrets & easter eggs
* unlockable camera modes inc. red/cyan 3D glasses mode
* original chip-tune sound track </div>

<iframe width="853" height="505" src="http://www.youtube.com/embed/Gv4f8zLgS8w?hd=1" frameborder="0" allowfullscreen></iframe>]]></content:encoded>
			<wfw:commentRss>http://kode80.com/2011/06/20/1-bit-ninja-releases-this-thursday/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>


