<?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>Doolwind&#039;s Game Coding Blog &#187; XNA</title>
	<atom:link href="http://www.doolwind.com/blog/tag/xna/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.doolwind.com/blog</link>
	<description>Pragmatic Thoughts On Game Development</description>
	<lastBuildDate>Mon, 16 Aug 2010 23:19:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>How To Make A Game (For Free In XNA)</title>
		<link>http://www.doolwind.com/blog/how-to-make-a-game-for-free-in-xna/</link>
		<comments>http://www.doolwind.com/blog/how-to-make-a-game-for-free-in-xna/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 20:48:52 +0000</pubDate>
		<dc:creator>Doolwind</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[Game Programming]]></category>
		<category><![CDATA[Xbox 360]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.doolwind.com/blog/?p=273</guid>
		<description><![CDATA[Do you want to learn how to make your own computer games?  Not sure where to start?  This step-by-step tutorial shows you how to create your own games for free using XNA.  I’ve been asked by a number of people what the best route to take when learning to develop games.  The following tutorial will [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.doolwind.com/images/blog/xna.jpg"><img class="alignright" title="XNA" src="http://www.doolwind.com/images/blog/xna.jpg" alt="" width="169" height="98" /></a>Do you want to learn how to make your own computer games?  Not sure where to start?  This step-by-step tutorial shows you how to create your own games for free using XNA.  I’ve been asked by a number of people what the best route to take when learning to develop games.  The following tutorial will give you a good start towards creating your first few games for PC and Xbox 360.  I cover the software you’ll need, a list of tutorial both in C# and XNA and other helpful links.</p>
<p><span id="more-273"></span></p>
<p><strong>Software</strong></p>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal; ">1. Download Visual Studio 2008 Express &#8211; <a href="http://bit.ly/VCSExp">http://bit.ly/VCSExp</a></span></strong></p>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal; "><a href="http://bit.ly/VCSExp"></a>2. Download XNA Game Studio 3.1 &#8211; <a href="http://bit.ly/XNAGS31">http://bit.ly/XNAGS31</a></span></strong></p>
<p><strong>Learning C#</strong></p>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal; ">3. Read these C# tutorials</span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal; ">a. C# Station Tutorial &#8211; <a href="http://bit.ly/CSTut1">http://bit.ly/CSTut1</a></span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal; "><a href="http://bit.ly/CSTut1"></a>b. C# WikiBooks &#8211; <a href="http://bit.ly/CSWiki">http://bit.ly/CSWiki</a></span></strong></p>
<p><strong>Learning XNA</strong></p>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal;">4. Read these XNA tutorials</span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal;">a. Introduction &#8211; <a href="http://bit.ly/XNATut1">http://bit.ly/XNATut1</a></span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal;"><a href="http://bit.ly/XNATut1"></a>b. 2D Introduction &#8211; <a href="http://bit.ly/XNATut2D">http://bit.ly/XNATut2D</a></span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal;"><a href="http://bit.ly/XNATut2D"></a>c. 3D Introduction &#8211; <a href="http://bit.ly/XNATut3D">http://bit.ly/XNATut3D</a></span></strong></p>
<p style="padding-left: 30px;">5.<strong> <span style="font-weight: normal;">Look at these starter kits &#8211; <a href="http://bit.ly/XNAKit">http://bit.ly/XNAKit</a></span></strong></p>
<p><strong>Other Links</strong></p>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal;">6. Visit the following for more information on game development</span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal;">a. Gamedev.net &#8211; <a href="http://www.gamedev.net/">http://www.gamedev.net/</a></span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal;"><a href="http://www.gamedev.net/"></a>b. Gamasutra &#8211; <a href="http://gamasutra.com/">http://gamasutra.com/</a></span></strong></p>
<p style="padding-left: 60px;"><strong><span style="font-weight: normal;"><a href="http://gamasutra.com/"></a>c. Indie Gamer Forums &#8211; <a href="http://forums.indiegamer.com/">http://forums.indiegamer.com/</a></span></strong></p>
<p><strong>What should you create?</strong></p>
<p>I&#8217;ve found the best way to learn game development is by creating a full game.  Exactly what game you create depends on what you want to get out of game development.  There are a number of paths I commonly see people taking:</p>
<ul>
<li><strong>Becoming a game programmer</strong> &#8211; The best route here is to take an existing game like Pong, Space Invaders or Mario and recreating it.  The game design done is already complete, allowing you to focus on learning the skills required to code the game</li>
<li><strong>Becoming a game designer</strong> &#8211; Rather than recreating an existing game, come up with a new, simpler design.</li>
<li><strong>Getting a job at a particular game company </strong>- Before you begin your new game, you should find out what technology the company is using.  You are much more likely to be hired by them if you are experienced in their technology suite.  If you&#8217;re unsure of what they use, ask them.  Game companies are always looking for good talent and they&#8217;ll be happy to share the technologies they use with you.</li>
</ul>
<p><strong>Want more?</strong></p>
<p>I’d like this list to become a comprehensive, step-by-step introduction to game development that takes developers from zero experience to creating their own 3D (or 2D) games.  If you get to a point where you’re stuck and don’t know what to do next, please email me and I’ll help you fill in the blanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doolwind.com/blog/how-to-make-a-game-for-free-in-xna/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What Microsoft Should Do With XNA</title>
		<link>http://www.doolwind.com/blog/what-microsoft-should-do-with-xna/</link>
		<comments>http://www.doolwind.com/blog/what-microsoft-should-do-with-xna/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 02:59:13 +0000</pubDate>
		<dc:creator>Doolwind</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.doolwind.com/blog/?p=91</guid>
		<description><![CDATA[Now that I&#8217;ve discussed why you should be using XNA, I&#8217;d like to look from the other side and talk about what Microsoft should do with XNA to benefit both developers and gamers. XNA is a great opportunity for Microsoft to get even further ahead of Sony in the current generation of consoles; they just [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><img src="http://www.doolwind.com/images/blog/comic/comic-03.jpg" usemap="#Map" align="right" border="0" height="203" width="300" /><br />
<map name="Map" id="Map">
<area href="http://www.squidtank.com" shape="rect" coords="133,170,336,221" /></map>
<p>Now that I&#8217;ve discussed why you <a href="http://www.doolwind.com/blog/?p=87">should be using XNA</a>, I&#8217;d like to look from the other side and talk about what Microsoft should do with XNA to benefit both developers and gamers.  XNA is a great opportunity for Microsoft to get even further ahead of Sony in the current generation of consoles; they just need to make the right decisions to get there.</p>
<p><span id="more-91"></span></p>
<h3><strong>Is XNA the YouTube of games, and do we want it to be?</strong></h3>
<p>I saw a presentation last year from a Microsoft guy who was going on about XNA being the YouTube of games.  I&#8217;ve also heard it thrown around the web a lot with various XNA articles.  It sounds like a great idea, but where is it?  Until there&#8217;s a means of distributing games easily both on PC and Xbox there&#8217;s no way this can be true.  I haven&#8217;t heard any concrete plans for how they are going to do this.</p>
<p>While I&#8217;m a big fan of YouTube, a direct copy is not really feasible for games.  <strong>You can&#8217;t just sit down and watch a game for 1 to 5 minutes</strong>.  Games are interactive and keeping too close to the YouTube style will pigeonhole XNA games into the casual market.  I&#8217;d rather see all types of game being developed.  <strong>The first XNA MMO is going to be interesting</strong>.  XNA really needs to be user driven, more like Digg.  There&#8217;s going to be a LOT of content and it needs to be filtered if the mainstream is going to stay interested.  I see a few basic options for Microsoft here:</p>
<ol start="1" type="1">
<li>Microsoft does all the      filtering, similar to Xbox Live Arcade</li>
</ol>
<p>This means that only the best games get through to mainstream users however it limits the number of games that can be released hamstringing creativity.  As we&#8217;ve seen from XBLA though, it also means that the queues for submission will quickly grow and it may become almost as hard to release a game through XNA as XBLA.</p>
<ol start="2" type="1">
<li>User voted content</li>
</ol>
<p>This style would allow anyone to upload their game and users can &#8220;digg&#8221; or &#8220;bury&#8221; the uploaded games.  <strong>This stops the crap from making it into the public eye</strong>.  Microsoft could make a set of rules for content (explicit material etc) and the $100 Creators Club price tag would keep most people from putting anything bad up as they would be banned.  This allows the most freedom for indie developers as the barrier for entry is reduced.</p>
<ol start="3" type="1">
<li>A hybrid</li>
</ol>
<p>The other alternative is to have a combination of #1 and #2.  Firstly, Microsoft could make a simple check over games that are in the queue to make sure they pass a certain quality level.  Developers would be able to share their games with other Creator Club members while they are in the queue to be processed and could &#8220;vote up&#8221; particular games within the queue.  <strong>Videos and screenshots could be used to &#8220;sell&#8221; the game so the more buzz/hype there is, the sooner it would be reviewed by Microsoft and released</strong>.  Once the game is released, a system like #2 would allow gamers to vote up their favourite games and vote down anything they don&#8217;t like.</p>
<p>So is it YouTube or Digg?  I guess it&#8217;s a bit of both.  Microsoft really wants it to be like YouTube as there is a crazy amount of viewer hours ripe for advertising.  It also makes sense for smaller games which people can play for less than an hour in their spare time.  There also needs to be a Digg style system for filtering out the bad games and keeping the most popular games (based on user feedback) in front of mainstream gamers.</p>
<p><strong>What we really want here is for mainstream gamers on their Xbox to see a list of games in a similar way to how XBLA games are currently displayed</strong>.  Mainstream gamers will be turned off as soon as they waste their time on a terrible game, therefore only games with a large positive number of developers and more hardcore gamers behind it should be shown.  The more the list can look like an extension to XBLA the better.  Gamers should be able to download a demo and choose to buy the games in the same way they currently do for XBLA games.</p>
<h3><strong>Creators Club</strong></h3>
<p>I really like the $100 price tag for the Creators Club.  It keeps people from just playing around and releasing crap.  <strong>It&#8217;s free to develop games on the PC so experimentation can take place there, where it belongs</strong>.  Sharing source code is not an option and I&#8217;m glad that this requirement has been removed (I don&#8217;t think it was ever a long term plan anyway).</p>
<p>We really need the Creators Club community to get behind XNA game releases to keep the white noise away from more mainstream gamers.  If these paid members can be the first step in the filtering process it will save Microsoft a lot of time and will have a flow on effect to assist developers as they develop their own games.  Keeping the $100 price tag will also reduce the anonymity and trolling that occurs on sites like gamedev.net.</p>
<h3><strong>Price Point</strong></h3>
<p>If you have an Xbox Live account, how many MS points do you have just lying around unusable due to the 800 point minimum game purchase?  After some quick investigation I&#8217;ve found that most <strong>people, like me, have about 200-600 points just sitting around unused in their account </strong>(thanks Chen).  This is the perfect opportunity for XNA games to be priced at 50-400 points and pick up this &#8220;spare change&#8221;.  What&#8217;s important is that Microsoft uses the same point system for people buying XNA games as XBLA games.  I haven&#8217;t heard either way how XNA games will be priced, but it&#8217;s important that mainstream gamers can easily buy them.</p>
<h3><strong>World Editor</strong></h3>
<p>To simplify the game creation process, a solid world editor will add a lot of value.  It could be a simple world builder, with a max/maya style viewer and a simple way to load and save the files within XNA.  They should easily be able to add scripting (in C#) and other extras in a later release.  This will allow level designers to create level quickly and easily and have them load easily with something like:</p>
<p>Level level1 = Content.Load(&#8220;level1.lvl&#8221;);<br />
level1.Render();<br />
object mainBoss = level1.GetEntity(&#8220;mainboss&#8221;);</p>
<p><strong> </strong></p>
<h3><strong>Conclusion</strong></h3>
<p>I&#8217;m interested to hear other people&#8217;s thoughts on what they&#8217;d like to see from XNA in the future.  I know distribution is a major issue for many people at the moment so any thoughts on this would be great.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doolwind.com/blog/what-microsoft-should-do-with-xna/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Why You Should Use XNA</title>
		<link>http://www.doolwind.com/blog/why-you-should-use-xna/</link>
		<comments>http://www.doolwind.com/blog/why-you-should-use-xna/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 08:04:27 +0000</pubDate>
		<dc:creator>Doolwind</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.doolwind.com/blog/?p=87</guid>
		<description><![CDATA[XNA has been around for a while and just recently hit version 2.0 (XNA Game Studio 2.0). It’s now ready for proper use and below is a list of reasons why you should give XNA a try, and even start using it as your primary development environment. Before I begin, I’ll list a few groups [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><img src="http://www.doolwind.com/images/blog/comic/comic-01.jpg" usemap="#Map" align="right" border="0" height="200" width="300" /><br />
<map name="Map" id="Map">
<area href="http://www.squidtank.com" shape="rect" coords="138,167,336,221" /></map>
<p>XNA has been around for a while and just recently hit version 2.0 (XNA Game Studio 2.0).<span>  </span>It’s now ready for proper use and below is a list of reasons why you should give XNA a try, and even start using it as your primary development environment.</p>
<p><span id="more-87"></span></p>
<p align="left"> Before I begin, I’ll list a few groups of people who XNA isn’t really designed for so they can move on and go back to C++ and DirectX (C++DX).<span>  </span>If you’re a hardcore engine developer or you want to become one (eg. <span> </span>the next Carmack) then XNA isn’t for you. <span> </span>The main reasons for this are that low-level, hardcore engines like <em>id tech 5</em> and the source engine will have to be written in C++DX (or OpenGL) for the time being.<span>  </span>The other group are people wanting to make games for anything other than PC and Xbox.<span>  </span>Everyone else (students, small studios, hobbyists) will gain something from at least trying out XNA.<span>  </span>Read on to find out exactly what XNA can do for you.</p>
<map name="Map" id="Map">
<area href="http://www.squidtank.com" shape="rect" coords="138,167,336,221" /></map>
<h3><strong>It’s all about RAD baby</strong></h3>
<p><strong>Rapid Application Development (RAD) is really where it’s at</strong> for games at the moment.<span>  </span>We need to get prototypes up and running in no time at all so the “fun factor” can be sorted out before the first million is sunk into the project.<span>  </span>XNA has this at a number of levels.<span>  </span>Firstly it uses C#, a managed language which takes away a lot of the hassles of software development.<span>  </span>I’ve been using C# almost exclusively over the past few months (in ASP.NET and playing with XNA) and I love it.<span>  </span>If you’ve been through the gruelling hours of fixing access violations and memory leaks (and weren’t the one causing them) then you obviously know your stuff, and you deserve to move onto the next generation of language.<span>  </span>It’s easier to use, cleaner, and feels so much like C++ it’s a breeze to step into.</p>
<p>The second RAD feature of XNA is in the XNA library itself.<span>  </span>Rendering a 2D sprite of 3D model can be done in a few lines of code.<span>  </span>All the hassle and crap of DX is hidden away, and you just load the model and render it.<span>  </span>You still have complete control over how it’s rendered using .fx files (HLSL) however that’s all you need to worry about.<span>  </span>Basically, XNA moves us a step higher in the level of abstraction.<span>  </span>Instead of worrying about <strong>how to get the computer to render a 3D model</strong>, you worry about <strong>how the 3D model should look</strong>.<span>  </span>It’s taking a more user focussed view on the problem of rendering a 3D model, rather than a software development view of how to actually get the 3D data onto the screen.<span>  </span>This is just one example of how much nicer development is using the XNA libraries.</p>
<p>The third RAD feature is the build process.<span>  </span>Most indie’s or hobbyists never worry too much about build processes as they just want to get the basics up and running.<span>  </span>With XNA, they still don’t need to worry about it because there’s a build process already there for them.<span>  </span>Build processes can take up a lot of development time on a medium to large scale project, having the ground work laid out will make life a lot easier for anyone requiring a more complex build process.</p>
<h3><strong>Getting in on the ground floor</strong></h3>
<p>Now for the hardcore coders out there, this is probably enough reason to at least try out XNA.<span>  </span>However, I’d like to look further into XNA and see why this ease of development is not the biggest reason you should be switching over to it.<span>  </span>I have one word for you, Microsoft.<span>  </span>When Microsoft gets behind something, you really notice it, and Microsoft are placing themselves firmly behind XNA.<span>  </span>Managed DX (MDX) disappeared of the radar a while ago and we’ve since learnt that XNA was its replacement.<span>  </span>Anyone who spent any time using MDX may be a little pissed that their time was wasted, however they can rest assured that MS isn’t looking like doing the same thing for XNA.</p>
<p>With the release of XGS 2.0, XNA is now at a point where it can be taken seriously and people can start making “real” games with it.<span>  </span>With networking support, and a simpler way of sharing games with others on XBL, it’s becoming a reality for anyone to start <strong>making games of the same quality as any XBLA game out there</strong> (and actually having them run on the Xbox).<span>  </span>The fact that this has only just become the case now means that we are all standing on the ground floor and there’s only so much room in the elevator to the top.<span>  </span>I can guarantee you from experience that there’s going to be a LOT of people trying to get into the XBL action when it becomes available and being one of the first is going to be the best way to stand out.</p>
<p>So what is the XBL action?<span>  </span>Well, Microsoft is pitching XNA as being the “YouTube for games”.<span>  </span>This sounds kinda cool, as it means that <strong>anyone can release their small game and have millions of people around the world play it, and possibly pay for it</strong>.<span>  </span>This is great news for Microsoft as it’s going to encourage great games, and be another area that the Xbox stand out amongst the other consoles.<span>  </span><span> </span>As with YouTube, this will become very crowded quickly, so getting in their first will prove a valuable way of getting noticed.</p>
<h3><strong>It’s good for your future!</strong></h3>
<p>I’m going to have to put on my cynical hat for this section.<span>  </span>The games industry, for many people, isn’t forever.<span>  </span>Some people reading this may not want to get into the industry, others may only stay for 5 years (the average at the moment), and others still may find themselves unemployed just before Christmas.<span>  </span>While this is part of why the game industry is in trouble at the moment, it’s actually advantageous for people thinking of switching to XNA.</p>
<p>The reason for this is that <strong>your skills are transferrable</strong>.<span>  </span>Working solely on C++ will make it quite hard to find a “real job” out in the business world.<span>  </span>Looking over business jobs, very few are looking for straight C++ programmers.<span>  </span>C# on the other hand (and .NET in general) is in high demand.<span>  </span>Having exposure to C# is going to give you a step up in the event that you find yourself not working in the games industry, for whatever reason.</p>
<p>It’s also inevitable that the games industry will one day move on from C++ into a next generation language.<span>  </span>There are two main reasons for this.<span>  </span>Firstly, as projects grow larger it becomes increasingly difficult to handle such a complex system without having some of the latest features that languages like C# boast.<span>  </span>The second reason is that as we move into a world with crazy numbers of cores to work with (16+), we’re going to have free cores just sitting around with not a lot to do.<span>  </span>The speed limitations of newer languages than C# can be offset by this extra processing power.<span>  </span>Take garbage collection for example.<span>  </span>Would you rather have an extra 100 blades of grass rendered on the horizon, or use a core to do your garbage collection so the performance hit isn’t noticeable?<span>  </span>I don’t see this happening just yet, but it is inevitable, and C# is looking like a good contender for the next language.</p>
<h3><strong>For the naysayers</strong></h3>
<p>I’ve heard quite a bit of opposition to XNA, and C# and I’d like to address some of it now.<span>  </span>Up until recently I wasn’t sold on XNA either, and I’ve had a lot of discussions with people about the pros and cons of languages like C# in the past.<span>  </span>Below is just a quick list of reasons I’ve heard against XNA/C# and some counter arguments:</p>
<p><strong>.NET/C# is just too slow </strong></p>
<p>Version 1.0 of .NET had some performance problems; however a lot of these have been fixed.<span>  </span>I can’t find any specifics of performance comparisons, but I’m hearing it is only 10% slower than C++ in some cases.<span>  </span><strong>C# is NOT interpreted</strong>; it is complied down to IL code and JIT’ed to machine code before being run.</p>
<p>A lot of people are using scripting languages for parts of their gameplay already.<span>  </span><strong>C# is MUCH faster than scripting languages </strong>such as python, LUA or game monkey script.<span>  </span>Games using the Unreal 3 engine are written almost entirely in unreal script.</p>
<p>As with all coding, it’s more about the algorithms used than just the language.<span>  </span>No matter how much faster or slower a language is if you don’t write good, optimized code then you’re never going to hit the 60 fps mark.</p>
<p><strong>Learning XNA will put you at a disadvantage</strong></p>
<p>A big question students will want answered is whether they should learn XNA to get a job in the games industry.<span>  </span>The short answer is yes, but with a caveat.<span>  </span>Every studio I know uses C++DX and so you’ll need to know this if you want a job with them.<span>  </span>If you rock up to an interview knowing on XNA then you’re unlikely to get a job.<span>  </span>However, if you turn up with a lot of XNA knowledge, and a few C++DX to show you know your stuff then you are a in a great position.<span>  </span>Use XNA for rapid development on larger tech demos or an entire game or two.<span>   </span>Just use C++DX for small tech demos to show you understand the tech.<span>  </span></p>
<p><span></span>  The reason for this is that <strong>knowing XNA shows that you know 85% of what’s required for game development</strong>.<span>  </span>You know all the theory behind it, you can write the shaders, and you can write all the gameplay code.<span>  </span>The only thing you’re missing is the last 15% which involves some specific C++ stuff, and the basics of DX.<span>  </span>Also, if you don’t want anything to do with graphics you can take the DX part out of the equation as well which means you know about 90% of what is required for game development by using XNA alone.<span>  </span></p>
<p><span></span>  Many studios have C++ programming tests.<span>  </span>If you can pass these then you can show that you’re a competent programmer.<span>  </span>Personally, I’d look more favourably on a hardcore C# programmer that can also do really well on a C++ test, it shows they are a versatile programmer.</p>
<p>So, in the short term, learning XNA will put you at a slight disadvantage as you’ll need to learn C++DX as well.<span>  </span>However, in the mid to long term, you’ll be at a great advantage.<span>  </span>You can rapidly create games and tech in XNA to show off your skills, and you’ll generally pick up “game programming” faster as you won’t get bogged down as much.<span>  </span>C++DX has a fairly steep learning curve, so using XNA will free you up to just becoming a better game programmer.</p>
<h3><strong>Conclusion</strong></h3>
<p>I’d highly recommend you download the <a href="http://creators.xna.com/Education/GettingStarted.aspx">XGS 2.0</a>, follow the first couple of tutorials and see how easy it is to get a simple 2D sprite and a 3D model working with full <a href="http://www.doolwind.com/blog/?p=85">Xbox 360 controller support</a>.<span>  </span>My next article will be more focussed on where I think Microsoft should be taking XNA in the coming year.</p>
<p>Big thanks to <a href="http://www.squidtank.com">Shauno</a> for doing the comic for this post.</p>
<p><script type="text/javascript"> digg_url = "http://www.digg.com/programming/Why_You_Should_Use_XNA"; </script><br />
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doolwind.com/blog/why-you-should-use-xna/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>
