<?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>Sean Monahan &#187; XNA</title>
	<atom:link href="http://seanmonahan.org/tag/xna/feed/" rel="self" type="application/rss+xml" />
	<link>http://seanmonahan.org</link>
	<description></description>
	<lastBuildDate>Wed, 07 Dec 2011 04:20:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Updated Run + Gun Test</title>
		<link>http://seanmonahan.org/2011/11/23/updated-run-gun-test/</link>
		<comments>http://seanmonahan.org/2011/11/23/updated-run-gun-test/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 17:50:55 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Run + Gun]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=924</guid>
		<description><![CDATA[It&#8217;s been awhile but not forgotten. After deciding that Farseer was not working out for Run + Gun I looked to the XNA Platformer Starter Kit for some ideas on how to proceed. What you see below is a modified version of that kit. The tile-based collision system from the PSK has been replaced with [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been awhile but not forgotten.<br />
<span id="more-924"></span></p>
<p>After deciding that Farseer was not working out for Run + Gun I looked to the XNA Platformer Starter Kit for some ideas on how to proceed. What you see below is a modified version of that kit. The tile-based collision system from the PSK has been replaced with a hash grid, allowing for more flexibility. For example, moving objects like enemies and bullets can be treated in the same manner as stationary ones like walls and floors. The demo below shows off switch powered doors and a touch activated elevator. </p>
<p>You can also catch a glimpse of the eight direction aiming. Aiming is controlled, along with movement, by the left analog stick of an Xbox 360 game pad. Players can switch to aim mode by holding the left bumper. Aim mode prevents the user from moving and only allows them to change their aiming direction. Pressing the right bumper enters strafe mode where the player can continue to move in any direction but can no longer change the aim direction. Strafing allows you to do things like aim upward then move left and right.</p>
<p>You can see the video <a href="http://www.youtube.com/watch?v=8_p_nh5Ev8Q">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2011/11/23/updated-run-gun-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Step Forward, Two Steps Back, One Step Sideways</title>
		<link>http://seanmonahan.org/2011/10/03/one-step-forward-two-steps-back-one-step-sideways/</link>
		<comments>http://seanmonahan.org/2011/10/03/one-step-forward-two-steps-back-one-step-sideways/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 04:39:50 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Run + Gun]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=914</guid>
		<description><![CDATA[Last time I posted about dropping Farseer in favor of a homegrown approach to physics and collision handling. Things have been slow (mostly due to family and friends&#8230;and football season getting underway) but I&#8217;ve got a nice system up and running. Not wanting to get thrown all the way back to square one I decided [...]]]></description>
			<content:encoded><![CDATA[<p>Last time I posted about dropping Farseer in favor of a homegrown approach to physics and collision handling.  Things have been slow (mostly due to family and friends&#8230;and football season getting underway) but I&#8217;ve got a nice system up and running.<br />
<span id="more-914"></span><br />
Not wanting to get thrown all the way back to square one I decided that I&#8217;d start from a good place.  The <a href="http://create.msdn.com/en-US/education/catalog/sample/platformer" title="XNA 4.0 Platformer Starter Kit">XNA Platformer Starter Kit</a> (PSK).</p>
<p>The PSK does a lot of stuff out of the box for me, like load up simple levels, draw enemies, define objects in the world and handle simple physics and collisions.  Rather than worry about building everything from the ground I was able to focus on pulling out the existing collision system and inserting my own.</p>
<p>This went quite smoothly and now I&#8217;m in the midst of replacing the simple tile based levels from the PSK with more dynamics ones created in GLEED2D.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2011/10/03/one-step-forward-two-steps-back-one-step-sideways/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Baddie</title>
		<link>http://seanmonahan.org/2011/08/24/simple-baddie/</link>
		<comments>http://seanmonahan.org/2011/08/24/simple-baddie/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 19:15:10 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Farseer Physics]]></category>
		<category><![CDATA[Run + Gun]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=893</guid>
		<description><![CDATA[Now that my Hero is in a good place, I&#8217;ve moved onto make a simple Baddie. Right now all Baddies do are sit still and absorb bullets until their health is depleted. You gotta start somewhere, right? Simple Baddie from Sean Monahan on Vimeo.]]></description>
			<content:encoded><![CDATA[<p>Now that my Hero is in a good place, I&#8217;ve moved onto make a simple Baddie.  Right now all Baddies do are sit still and absorb bullets until their health is depleted.  You gotta start somewhere, right?</p>
<p><iframe src="http://player.vimeo.com/video/28092364?title=0&amp;byline=0&amp;portrait=0" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/28092364">Simple Baddie</a> from <a href="http://vimeo.com/noobsarepeople2">Sean Monahan</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2011/08/24/simple-baddie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Simple Hero Class &#8212; With Guns!</title>
		<link>http://seanmonahan.org/2011/08/19/a-simple-hero-class-with-guns/</link>
		<comments>http://seanmonahan.org/2011/08/19/a-simple-hero-class-with-guns/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 14:33:56 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Farseer Physics]]></category>
		<category><![CDATA[Run + Gun]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=887</guid>
		<description><![CDATA[Guns and Bullets from Sean Monahan on Vimeo. I&#8217;ve expanded on my Hero class adding a gun that can be aimed in eight directions and a muzzle (the blue circle) that indicates the direction you are aiming. There are also two aiming modes. The first is run and gun: press the left stick (on the [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/27894449?title=0&amp;byline=0&amp;portrait=0" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/27894449">Guns and Bullets</a> from <a href="http://vimeo.com/noobsarepeople2">Sean Monahan</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I&#8217;ve expanded on my Hero class adding a gun that can be aimed in eight directions and a muzzle (the blue circle) that indicates the direction you are aiming.  There are also two aiming modes.  The first is run and gun: press the left stick (on the 360 game pad) and the player aims and moves in that direction.  The second is stationary aim: hold the left bumper and move the left stick to aim but not move.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2011/08/19/a-simple-hero-class-with-guns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Simple Hero Class</title>
		<link>http://seanmonahan.org/2011/08/17/a-simple-hero-class/</link>
		<comments>http://seanmonahan.org/2011/08/17/a-simple-hero-class/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 04:39:00 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[Farseer Physics]]></category>
		<category><![CDATA[Run + Gun]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=876</guid>
		<description><![CDATA[This post will be a quick summary of where I'm at along with some details on how I'm currently implementing my hero class.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a little off pace for a weekly update but, y&#8217;know: life and stuff.</p>
<p>This post will be a quick summary of where I&#8217;m at along with some details on how I&#8217;m currently implementing my hero class.</p>
<p><span id="more-876"></span></p>
<p>In my previous post about Run + Gun I detailed all the tools and libraries I&#8217;d be using to make the game.  Since then I&#8217;ve gotten <a href="http://gleed2d.codeplex.com/" title="GLEED2D">GLEED2D</a> setup and have a basic level loading.  The videos on the GLEED2D site have everything you need to get started (there&#8217;s even a class for loading levels into XNA!) so head over there if you want to see how that works.  Once the level is loaded all the points are added to a Farseer <code>Vertices</code> object and then a <code>Fixture</code> for the ground is created from these <code>Vertices</code> using <code>FixtureFactory</code>.  In case you&#8217;re wondering this is borrowed from one of the Farseer demos.</p>
<p>The Hero class represents the player in the world.  Farseer is really great for rigid body physics but it&#8217;s not really designed for a 2D platformer game.  To get things to work I needed to hack things in a bit.  Fortunately some other folks were not only smart enough to figure most of the details for me but they also posted about it <a href="http://amazingretardo.simiansoftwerks.com/2010/02/17/platformer-character-control-farseer-physics-engine/">here</a> and <a href="http://www.sgtconker.com/2010/09/article-xna-farseer-platform-physics-tutorial/">here</a>.</p>
<p>The gist of things is that a rectangle is used to represent the Hero&#8217;s body (from the waist up) and a circle is used to represent the Hero&#8217;s legs and feet.  The circle and rectangle are pinned together with a <code>RevoluteJoint</code>.  To move I set the motor speed on the <code>RevoluteJoint</code> which rotates the circle causing the Hero to move.  The body will never rotate or fall over because I&#8217;ve attached a <code>FixedAngleJoint</code> to it.</p>
<p>Two caches, <code>wallCache</code> and <code>groundCache</code> are used with collision and separation handlers for both the circle and rectangle.  Using the ground as an example.  When the circle collides with an object the <code>Fixture</code> is added to <code>groundCache</code> and the flag <code>onGround</code> is set to <code>true</code>.  When the circle separates from an object the <code>Fixture</code> is removed from the cache.  If the cache is empty the flag <code>onGround</code> is set to <code>false</code>.  Doing this allows me to know when the Hero is colliding with a wall or on the ground so I can do things like enable (wall) jumping.</p>
<p>Code of the Hero class is <a href="/wp-content/code/Hero.cs" title="Hero.cs source code file.">here</a>.  And here&#8217;s a <a href="http://vimeo.com/27887975" title="See Hero in action.">short video demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2011/08/17/a-simple-hero-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Run + Gun</title>
		<link>http://seanmonahan.org/2011/08/04/run-gun/</link>
		<comments>http://seanmonahan.org/2011/08/04/run-gun/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 03:13:36 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=857</guid>
		<description><![CDATA[Since finishing up Defuse I&#8217;ve spent a lot of my time not developing games. Instead I&#8217;ve been enjoying summer: reading, playing games, making beer, hanging out and just relaxing. I&#8217;ve also been putting some thought into my game making process, some of which you can read in my post mortem for Defuse, some more of [...]]]></description>
			<content:encoded><![CDATA[<p>Since finishing up <a href="http://warkittensoftware.net/defuse" title="Defuse">Defuse</a> I&#8217;ve spent a lot of my time <em>not</em> developing games.  Instead I&#8217;ve been enjoying summer: reading, playing games, making beer, hanging out and just relaxing.  I&#8217;ve also been putting some thought into my game making process, some of which you can read in <a href="/2011/07/01/lessons-learned-the-defuse-post-mortem/" title="Defuse Post Mortem">my post mortem for Defuse</a>, some more of which I&#8217;m going to outline here.<br />
<span id="more-857"></span></p>
<p>The first item in my new process is happening right as you read this.  I will be pushing myself to make weekly updates to this blog to quickly detail what I&#8217;m going to do over the next week and what I did over the previous week.  This was born out of a recognition that, since I make games in my free time, I need to have a regular log of progress and I need to recognize that spending 20+ hours a week on making a game on top of a 40 hour work week is a huge commitment.  Keeping this log will also let me see where I&#8217;m making good progress and where I&#8217;m lagging behind.</p>
<p>The second item in my new process is to be a wheel user rather than a wheel maker, in other words, &#8220;don&#8217;t reinvent the wheel.&#8221;  With Defuse I made 1) the game itself, 2) DefusEd, the level editor for the game and 3) Stripper a utility for creating tile strips.  Really I could have only made Defuse and used some third party tools to make levels and tile strips.  For Defuse I wanted to create my own tools as a learning experience and learn I did.  One of the things I learned is that I just don&#8217;t have enough time to create custom tools.  In the future I will always make point of looking for existing tools and testing out what I find before investing any time in developing my own.  Doing this will allow me to focus on making really great games.</p>
<p>The third and last item that I&#8217;m putting into practice is to work on this game everyday in some small capacity.  This could be as simple as writing down a few thoughts for some game mechanics, to drawing some concept art, to spending hours implementing some crazy boss battle.  The point is that this game will get some of my attention every single day.  To go along with this I&#8217;m maintaining a calendar that I will mark off for every day that I work on the game.  This process will give me a clear visual record of my daily progress and (hopefully) help me keep trucking forward.</p>
<p>Okay, so all of that is how I want to go about doing things, but what I am doing?  I&#8217;ve always loved Contra (in case you&#8217;re wondering Contra: Hard Corps is the best Contra game.  Period.) but there really hasn&#8217;t been a great Contra game since the SNES/Genesis era.  There is Contra: Rebirth on WiiWare and Hard Corp: Uprising on XBLA but neither of these really captivated me.  Rebirth feels too much like a throw back to 16-bit days (which was the goal, I&#8217;m sure) and Uprising&#8230;well&#8230;I like it but it just doesn&#8217;t feel like &#8220;Contra&#8221; (which is probably why it lacks the word in its title).  I really want to accomplish something like Super Meat Boy and create a game that evokes the feeling of playing a 16-bit console game while updating the game with a modern design sensibility.  Certainly this is no small task but why bother unless you want to do something great, right?</p>
<p>This game will be code named Run + Gun.  It is going to be a 2D, side-scrolling shooter/platformer that employs fast action and memorization.  Boss battles will be plentiful.  I have yet to settle on a setting or story or any of those details, hence the code name describes how the game will play rather than what it will be about.</p>
<p>In keeping with item #2, Run + Gun  will be built on <a href="http://create.msdn.com/en-US/">XNA</a>. <a href="http://gleed2d.codeplex.com/">GLEED2D</a> will be used to create levels and <a href="http://www.texturepacker.com/">Texture Packer</a> will be used to create sprite sheets.  Physics and collisions will be managed by <a href="http://farseerphysics.codeplex.com/">Farseer</a> and audio will likely come from <a href="http://www.freesound.org/index.php">freesound.org</a> and various sound packs.  For music I will likely hire a musician.  Finally since I have a degree in art I may as well put it to use, so I&#8217;ll be creating all (most?) of the artwork for Run + Gun.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2011/08/04/run-gun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XNA Game Development Blog</title>
		<link>http://seanmonahan.org/2008/12/09/xna-game-development-blog/</link>
		<comments>http://seanmonahan.org/2008/12/09/xna-game-development-blog/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 17:00:47 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://seanmonahan.org/?p=10</guid>
		<description><![CDATA[For about six months I&#8217;ve been on again, off again developing an Xbox 360 game using Microsoft&#8217;s XNA framework and Garage Game&#8217;s Torque X Engine.  I&#8217;ve finally gotten things together and begun serious work on the game. Track my progress at blog.warkittensoftware.com.]]></description>
			<content:encoded><![CDATA[<p>For about six months I&#8217;ve been on again, off again developing an Xbox 360 game using Microsoft&#8217;s XNA framework and Garage Game&#8217;s Torque X Engine.  I&#8217;ve finally gotten things together and begun serious work on the game.</p>
<p>Track my progress at <a title="Sean's game dev blog." href="http://blog.warkittensoftware.com" target="_self">blog.warkittensoftware.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://seanmonahan.org/2008/12/09/xna-game-development-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

