<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Third Party Ninjas &#187; Game Development</title>
	<atom:link href="http://thirdpartyninjas.com/blog/category/game-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://thirdpartyninjas.com/blog</link>
	<description>Subcontracting ninjas since 2006</description>
	<lastBuildDate>Mon, 16 Aug 2010 04:39:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>My new tutorial is absolutely fine.</title>
		<link>http://thirdpartyninjas.com/blog/2010/08/16/new-tut-is-absolutely-fine/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/08/16/new-tut-is-absolutely-fine/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 04:39:57 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=503</guid>
		<description><![CDATA[I wrote a tutorial for the Sgt. Conker Absolutely Fine Tutorial Contest.
It&#8217;s about how you can record and playback player inputs to generate game replays.  Check it out, and let me know what you think.
]]></description>
			<content:encoded><![CDATA[<p>I wrote a tutorial for the <a href="http://www.sgtconker.com/2010/07/the-sgt-conker-xna-tutorial-contest-2/">Sgt. Conker Absolutely Fine Tutorial Contest</a>.</p>
<p>It&#8217;s about how you can record and playback player inputs to generate game replays.  <a href="http://www.sgtconker.com/2010/08/article-input-playback/">Check it out</a>, and let me know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/08/16/new-tut-is-absolutely-fine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Player animation changes</title>
		<link>http://thirdpartyninjas.com/blog/2010/08/13/player-animation-changes/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/08/13/player-animation-changes/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 14:32:08 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Hero In Training]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=494</guid>
		<description><![CDATA[After posting the last video, I also sent the link out on twitter. Within seconds, I had a great deal of excellent feedback from other indie developers. Some of it was stuff that would never have occurred to me.
For example, the player&#8217;s walk animation has been the same for months. I was happy with it, [...]]]></description>
			<content:encoded><![CDATA[<p>After posting the last video, I also sent the link out on twitter. Within seconds, I had a great deal of excellent feedback from other indie developers. Some of it was stuff that would never have occurred to me.</p>
<p>For example, the player&#8217;s walk animation has been the same for months. I was happy with it, and had moved on to other things. As soon as I linked the video, many developers reported that they didn&#8217;t care for the animation, and pointed out ways I could make it better.</p>
<p>We took the suggestions to heart, and made a bunch of changes.  He&#8217;s now taller, and has smaller shoes, which doesn&#8217;t force him to shuffle so much.  Also his shoes now bend when they should, so it looks more natural.</p>
<p>I think the results are a pretty drastic improvement, and I&#8217;m really happy with the changes.  Have a look, and let me know what you think.</p>
<p><object width="450" height="300"><param name="movie" value="http://www.youtube.com/v/HYDLTOIflW0?fs=1&amp;hl=en_US&amp;rel=0&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HYDLTOIflW0?fs=1&amp;hl=en_US&amp;rel=0&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="300"></embed></object></p>
<p>It looks like youtube has fixed the slowdown bug, and they&#8217;re reprocessing the videos.  So if you see anything funny on my older embedded videos, please try back in a little bit.</p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/08/13/player-animation-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving slowly forward</title>
		<link>http://thirdpartyninjas.com/blog/2010/08/06/moving-slowly-forward/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/08/06/moving-slowly-forward/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 19:13:45 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Hero In Training]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=486</guid>
		<description><![CDATA[We started work on a new test level.  When it&#8217;s finished, I&#8217;ll be uploading to playtest on the Xbox Live Indie Games, so that we can get lots of feedback.  I&#8217;ve got a new video showing off some of that level.
We&#8217;re having some technical difficulties with the videos we posted on Youtube.  [...]]]></description>
			<content:encoded><![CDATA[<p>We started work on a new test level.  When it&#8217;s finished, I&#8217;ll be uploading to playtest on the Xbox Live Indie Games, so that we can get lots of feedback.  I&#8217;ve got a new video showing off some of that level.</p>
<p>We&#8217;re having some technical difficulties with the videos we posted on Youtube.  The video is running at half speed with distorted audio.  Youtube says they have engineers working on the problem.  So for the time being, I&#8217;ll post my update videos on Vimeo, instead.  (I don&#8217;t have a paid Vimeo account, so I can&#8217;t embed high def, but you can see the <a href="http://vimeo.com/13940437?hd=1">high def version over on Vimeo</a>.)</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13940437&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=13940437&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/13940437">Hero In Training &#8211; Progress Update August 5, 2010</a> from <a href="http://vimeo.com/user768632">Jesse Chounard</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/08/06/moving-slowly-forward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sloped platform collision</title>
		<link>http://thirdpartyninjas.com/blog/2010/07/28/sloped-platform-collision/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/07/28/sloped-platform-collision/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 20:50:12 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=477</guid>
		<description><![CDATA[Recently on the XNA Creator&#8217;s Club forums there have been several posts on how to handle collisions with a sloped platform in a 2d platformer. I wrote up a short description of the system I&#8217;m using:
How to determine if a player is about to land on a line segment:
What we need:

Foot position of the player. [...]]]></description>
			<content:encoded><![CDATA[<p>Recently on the XNA Creator&#8217;s Club forums there have been several posts on how to handle collisions with a sloped platform in a 2d platformer. I wrote up a short description of the system I&#8217;m using:</p>
<hr />How to determine if a player is about to land on a line segment:</p>
<p>What we need:</p>
<ol>
<li>Foot position of the player.  (Bottom center of the player&#8217;s collision rectangle works well.)</li>
<li>Line segment we&#8217;re checking for collisions with, specified by its end points A and B.</li>
<li>Player&#8217;s velocity.</li>
</ol>
<p>Let&#8217;s get to it:</p>
<ol>
<li>Is the player moving down?  If not, we can stop here.</li>
<li>Is the player&#8217;s expected position (foot position + velocity) within the horizontal region of the segment?  If not, we can stop.</li>
<li>Calculate the interpolated Y position on the line segment of the player&#8217;s X position both before and after the move.</li>
<li>If the Y position before moving is above the segment, and the Y position after moving is below, then the player is landing.</li>
</ol>
<hr />
<p>And today I&#8217;ve put together a quick <a href="http://thirdpartyninjas.com/files/xna/Slopes.zip">sample project</a> to go with that.  You&#8217;re welcome to do whatever you want with the code.  (<a href="http://www.opensource.org/licenses/ms-pl.html">License &#8211; Ms-PL</a>.)  I hope it&#8217;s helpful.  Feel free to hit me with any questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/07/28/sloped-platform-collision/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Boss fight!</title>
		<link>http://thirdpartyninjas.com/blog/2010/07/06/boss-fight/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/07/06/boss-fight/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 20:04:42 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=472</guid>
		<description><![CDATA[We&#8217;ve added the first boss fight into the game.  Bossfrog is a giant version of the existing frogs you&#8217;ve seen before.  After taunting our hero, he proceeds to try to stomp him into the ground.  Twice during the fight, he&#8217;ll roar with anger and summon a bunch of his minion frogs to [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve added the first boss fight into the game.  Bossfrog is a giant version of the existing frogs you&#8217;ve seen before.  After taunting our hero, he proceeds to try to stomp him into the ground.  Twice during the fight, he&#8217;ll roar with anger and summon a bunch of his minion frogs to join in the battle.</p>
<p>Here&#8217;s a video:<br />
<object width="450" height="300"><param name="movie" value="http://www.youtube.com/v/YklNB2jREpU&amp;hl=en_US&amp;fs=1?rel=0&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YklNB2jREpU&amp;hl=en_US&amp;fs=1?rel=0&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="300"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/07/06/boss-fight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enemies!</title>
		<link>http://thirdpartyninjas.com/blog/2010/06/03/enemies/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/06/03/enemies/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 04:47:56 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=466</guid>
		<description><![CDATA[I&#8217;ve gotten two enemies into the game.  I also added boomerangs that the player can throw to attack.
Bullyfrog is a frogman who simply runs across the screen.  If he reaches the edge of a ledge, he&#8217;ll leap to the next ledge.  (If he can reach.)  He&#8217;s really quick, and not very [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve gotten two enemies into the game.  I also added boomerangs that the player can throw to attack.</p>
<p>Bullyfrog is a frogman who simply runs across the screen.  If he reaches the edge of a ledge, he&#8217;ll leap to the next ledge.  (If he can reach.)  He&#8217;s really quick, and not very easy to dodge.  I think we&#8217;ll do a palette swapped version of this character who is a bit tougher and will stop to throw projectiles at the player.</p>
<p>Spikey is a big spike covered block who waits for the player to get near and then smashes down trying to squash them.  I added a neat screen shake effect when he hits.  He&#8217;s completely immune to boomerangs, they just bounce off of him.</p>
<p><object width="450" height="300"><param name="movie" value="http://www.youtube.com/v/jip_ei5mHyE&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jip_ei5mHyE&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="300"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/06/03/enemies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing directions</title>
		<link>http://thirdpartyninjas.com/blog/2010/05/21/changing-directions/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/05/21/changing-directions/#comments</comments>
		<pubDate>Fri, 21 May 2010 18:31:35 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=456</guid>
		<description><![CDATA[In the last few days, I&#8217;ve been looking at the best way to start putting the art into the game.  For characters, the new animation system seems to be working really well.  For the static background elements that Mollie has been drawing, however, the tiled system aren&#8217;t really cutting it.  She&#8217;s put [...]]]></description>
			<content:encoded><![CDATA[<p>In the last few days, I&#8217;ve been looking at the best way to start putting the art into the game.  For characters, the new animation system seems to be working really well.  For the static background elements that Mollie has been drawing, however, the tiled system aren&#8217;t really cutting it.  She&#8217;s put together a bunch of separate little texture elements, and the only decent way I could have gotten them into the game would be to composite the graphics in photoshop, and then break them down into tiles and add them to the game.  While that would work, it would mean a large number of tile sheets, and it would be very cumbersome to edit levels.</p>
<p>I was left with two options:</p>
<ol>
<li>Add the ability to attach textures to the custom objects in Tiled.</li>
<li>Change to a different level editor.</li>
</ol>
<p>Option one sounds reasonable, and the source code is really clean and pretty easy to edit.  But I&#8217;d need to add a bunch of functionality to support rotation, scaling, and draw order for the textures.  It would take me awhile.  After spending so much time on Demina, I&#8217;m very tired of working on tools.  I want to write my game!</p>
<p>So I asked my friend Google for help, and I wound up finding <a href="http://www.gleed2d.de/">Gleed2D</a>.  I&#8217;ve spent a few days playing with it, and it seems really nice.  It supports all of the features I was looking for.  It has support for a few primitive types, so you can set up region boxes, or collision polygons pretty easily.  You can attach custom properties to any element into the editor, so the automatic game entity creation system I used with Tiled works perfectly without much change.  It also has support for parallax layers right in the editor.  Nice!</p>
<p>There is a pretty big drawback to Gleed2D, though.  The creator uploaded a flurry of updates during July of last year, and then went silent.  On the forums (if you dig through the heavy spam) are a bunch of requests for updates or access to the source code.  But there&#8217;s been no response.  This isn&#8217;t an insurmountable problem, since the editor is in an easily usable state, but it still stinks.</p>
<p>It took me a little while to get it up and running, since I had to rewrite the collision system to allow for slopes, but it&#8217;s looking pretty nice.  Here&#8217;s a new work in progress video.  (The graphics are just random stuff I had lying around.)</p>
<p><object width="450" height="300"><param name="movie" value="http://www.youtube.com/v/T-EubADlv6U&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/T-EubADlv6U&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="300"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/05/21/changing-directions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>It moves!</title>
		<link>http://thirdpartyninjas.com/blog/2010/05/17/it-moves/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/05/17/it-moves/#comments</comments>
		<pubDate>Mon, 17 May 2010 19:58:44 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=446</guid>
		<description><![CDATA[Over the last couple of weeks, I&#8217;ve been working on a new animation system.  Instead of using traditional 2d animations (where you replace the entire image each frame) I&#8217;ve switched to using a keyframe based skeletal animation system.  While not the norm, this isn&#8217;t an uncommon practice (the same style was used in [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last couple of weeks, I&#8217;ve been working on a new animation system.  Instead of using traditional 2d animations (where you replace the entire image each frame) I&#8217;ve switched to using a keyframe based skeletal animation system.  While not the norm, this isn&#8217;t an uncommon practice (the same style was used in both <a href="http://www.bit-blot.com/aquaria/">Aquaria</a> and <a href="http://www.xbox.com/en-US/games/d/dishwasherdsxboxlivearcade/">The Dishwasher: Dead Samurai</a>).  Strangely, I was unable to find a good tool for creating the animations.</p>
<p>So I made my own, and I made it open source, so anybody can use it.  It&#8217;s called <a href="http://demina.codeplex.com/">Demina</a>.</p>
<p>Using it, we&#8217;ve managed to make a little progress, and I can finally show you a work in progress video.  There&#8217;s not much to see yet, but now that the animation system is usable this game should really start taking shape in the next few weeks.</p>
<p><object width="450" height="300"><param name="movie" value="http://www.youtube.com/v/H1bptBKG2qA&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/H1bptBKG2qA&#038;hl=en_US&#038;fs=1&#038;rel=0&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="300"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/05/17/it-moves/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>More concept drawings</title>
		<link>http://thirdpartyninjas.com/blog/2010/05/02/more-concept-drawings/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/05/02/more-concept-drawings/#comments</comments>
		<pubDate>Sun, 02 May 2010 20:01:24 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=442</guid>
		<description><![CDATA[I&#8217;ve got more concept drawings to share.  I&#8217;m super thrilled about how these are turning out.  These are the enemies for the new game.
Comments are welcome.

]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got more concept drawings to share.  I&#8217;m super thrilled about how these are turning out.  These are the enemies for the new game.</p>
<p>Comments are welcome.</p>
<p><img src="http://www.thirdpartyninjas.com/images/drawings/enemy_samples.png" alt="Enemy drawing samples" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/05/02/more-concept-drawings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Character concept drawing</title>
		<link>http://thirdpartyninjas.com/blog/2010/04/24/character-concept-drawing/</link>
		<comments>http://thirdpartyninjas.com/blog/2010/04/24/character-concept-drawing/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 16:52:52 +0000</pubDate>
		<dc:creator>Jesse</dc:creator>
				<category><![CDATA[Game Development]]></category>

		<guid isPermaLink="false">http://thirdpartyninjas.com/blog/?p=435</guid>
		<description><![CDATA[I&#8217;ve been dying to share what I&#8217;ve been working on, but I don&#8217;t have permission to share the placeholder art I&#8217;m using.  Luckily, my wife has joined the project, and I have something great to share.  Here&#8217;s a concept drawing of the main character from the game we&#8217;re working on.
I&#8217;m beyond thrilled with [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been dying to share what I&#8217;ve been working on, but I don&#8217;t have permission to share the placeholder art I&#8217;m using.  Luckily, my wife has joined the project, and I have something great to share.  Here&#8217;s a concept drawing of the main character from the game we&#8217;re working on.</p>
<p>I&#8217;m beyond thrilled with what she&#8217;s done so far, and I&#8217;ll share more as I can.</p>
<p><img src="http://thirdpartyninjas.com/images/drawings/character_sample.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thirdpartyninjas.com/blog/2010/04/24/character-concept-drawing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
