<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicio.us/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ViNull, Off the Record : xna</title><link>http://devlicio.us/blogs/vinull/archive/tags/xna/default.aspx</link><description>Tags: xna</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>XNA 3D Primer Examples Updated, XNA 2D Example Added, Talks on Both at DevLINK</title><link>http://devlicio.us/blogs/vinull/archive/2011/08/06/xna-3d-primer-examples-updated-xna-2d-example-added-talks-on-both-at-devlink.aspx</link><pubDate>Sat, 06 Aug 2011 21:32:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:68077</guid><dc:creator>Michael C. Neel</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Almost two years ago now I was working on a short ebook &lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/XNA-3D-Primer.productCd-0470596937.html"&gt;XNA 3D Primer&lt;/a&gt; (now in &lt;a href="http://www.amazon.com/XNA-3D-Primer-ebook/dp/B004GXC86G/ref=ed_oe_k"&gt;Kindle flavor&lt;/a&gt;).&amp;nbsp; A year after the book came out XNA 4.0 was released, and breaks all of the examples in the book.&amp;nbsp; The examples have always been &lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/XNA-3D-Primer.productCd-0470596937,descCd-DOWNLOAD.html"&gt;free to download&lt;/a&gt; without getting the book, so I have updated all the examples to with with XNA 4.0.&amp;nbsp; &lt;a href="http://code.google.com/p/vinull/source/browse/#svn%2FPresentations%2FXNA3DPrimer"&gt;You can get the updated examples on my Google Code site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In moving the code from 3.1 to 4.0, the following changes were made:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removed many Begin/End calls, as XAN 4.0 only needs Apply called for an Effect &lt;/li&gt;
&lt;li&gt;Removed Vertex Declarations, as these are not needed in 4.0 &lt;/li&gt;
&lt;li&gt;Removed the custom shader and replaced it with the SkinnedEffect that comes with 4.0 &lt;/li&gt;
&lt;li&gt;Setup a Game Library project to share a single content project across all examples &lt;/li&gt;
&lt;li&gt;Changed the method of creating the shadow      &lt;br /&gt;      &lt;br /&gt;Some explanation on that last one.&amp;nbsp; In the original book I add some shadows to a simple 3D object created from a triangle strip.&amp;nbsp; The shadows are there to provide a visual reference so you can see the camera in action.&amp;nbsp; To create the shadow I use the Matrix.CreateShadow method, followed by the BasicEffect default lighting to color the object black.&amp;nbsp; In 3.1 this worked, but in 4.0 this will throw an error &amp;quot;The current vertex declaration does not include all the elements required by the current vertex shader. Normal0 is missing.&amp;quot;       &lt;br /&gt;      &lt;br /&gt;What&amp;#39;s going on: When you calculate the effect of light on a vertex you need a normal to know which way the light should reflect off the vertex (the angles between the light, vertex, and normal provide this information).&amp;nbsp; In the example however, no normal are provided.&amp;nbsp; I had expected XNA to assume the vertex was also the normal (or can be calculated by normalizing the vertex) and this is why the model is centered at 0,0,0.&amp;nbsp; This expectation partly came from the fact the polygon surface normals have a magic default as well, based upon the order of the vertices&lt;i&gt; &lt;/i&gt;that make up the polygon.       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://forums.create.msdn.com/forums/t/82189.aspx"&gt;It turns out this is not the case, as Shawn Hargreaves points out&lt;/a&gt;.&amp;nbsp; XNA was passing the data down to the graphics drivers without change.&amp;nbsp; The graphics drivers were then adding in the expected normals (and this must be pretty common as both nVidia and ATI cards I ran the example on behaved as expected).&amp;nbsp; This isn&amp;#39;t a good thing however, as it means things could break on one system and be fine on another, so in 4.0 an error is thrown.       &lt;br /&gt;      &lt;br /&gt;I really don&amp;#39;t want to discuss all this at the point in the book I use shadows.&amp;nbsp; The truth is in any 3D game more advanced than an example, you will be using 3D modules and the 3D modeling software will take care of all of this.&amp;nbsp; It&amp;#39;s useful information to know, but it&amp;#39;s more advanced than I wanted to cover in the book.&amp;nbsp; So instead of using lighting to color the model black, I just create a second object and set all the color values to black to achieve the same effect.&amp;nbsp; (A second reason for this approach is XNA 4.0 does not have a VertexPositionColorNormal, and creating you own vertex data format is really beyond the scope of the second example in the book!). &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The purpose of the the XNA 3D Primer was to cover 3D concepts for someone just getting started.&amp;nbsp; It&amp;#39;s really a list of things I had to learn.&amp;nbsp; When I first started, I didn&amp;#39;t know enough about 3D to even know how to ask a question (without being the &amp;quot;why does my model look wrong&amp;quot; guy).&amp;nbsp; I&amp;#39;ve now created a second example with a similar purpose.&amp;nbsp; This example is a complete 2D game, small yet big enough to give an idea how the pieces of a game come together in XNA.&lt;/p&gt;
&lt;p&gt;The game is XNA Invaders From Space, and is a simple clone of the classic Space Invaders.&amp;nbsp; &lt;a href="http://code.google.com/p/vinull/source/browse/#svn%2FExamples%2FInvadersFromSpace"&gt;The code for this game is also available on my Google Code site&lt;/a&gt;.&amp;nbsp; The code is fairly fresh, so I&amp;#39;m still tweaking it as I present it to various groups, but soon I hope to create a written and video tutorial around the code.&lt;/p&gt;
&lt;p&gt;Both the XNA 3D Primer and XNA Invaders from Space will be used for my sessions at &lt;a href="http://devlink.net/"&gt;DevLINK 2011&lt;/a&gt;.&amp;nbsp; DevLINK is being held August 17-19th in Chattanooga, Tennessee.&amp;nbsp; If you&amp;#39;re going (and it&amp;#39;s a great conference) be sure to make time for some of the XNA sessions by myself, &lt;a href="http://www.twitter.com/freestylecoder"&gt;Chris Gardner&lt;/a&gt;, and &lt;a href="http://www.twitter.com/chrisgwilliams"&gt;Chris Williams&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=68077" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/vinull/archive/tags/speaking/default.aspx">speaking</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/xna/default.aspx">xna</category></item><item><title>Microsoft Slowly Euthanizes Xbox Indie Games</title><link>http://devlicio.us/blogs/vinull/archive/2010/11/03/microsoft-slowly-euthanizes-xbox-indie-games.aspx</link><pubDate>Thu, 04 Nov 2010 03:46:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:63253</guid><dc:creator>Michael C. Neel</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/vinull/rsscomments.aspx?PostID=63253</wfw:commentRss><comments>http://devlicio.us/blogs/vinull/archive/2010/11/03/microsoft-slowly-euthanizes-xbox-indie-games.aspx#comments</comments><description>&lt;p&gt;The title may be overly dramatic, but make no mistake, Microsoft is quietly holding a pillow over Xbox Live Indie Games, hoping to smother the service while no one looks.&amp;nbsp; Window Phone 7 developers, you have reason to be concerned.&lt;/p&gt;
&lt;p&gt;A few gaming sites are covering the story, like &lt;a href="http://kotaku.com/5679096/indie-devs-not-happy-with-new-xbox-360-dashboard"&gt;Kotaku&lt;/a&gt; and &lt;a href="http://www.wired.co.uk/news/archive/2010-11/02/indies-on-xbox-360-dashboard"&gt;Wired UK&lt;/a&gt;, but so far they are only interested in reporting forum drama as news.&amp;nbsp; I&amp;rsquo;m writing this article to lay out the full picture,and raise some awareness of the problem. &lt;/p&gt;
&lt;p&gt;When Xbox Live Community Games (later renamed Indie) was announced, Microsoft pushed the message that they were going to &amp;ldquo;democratize game distribution&amp;rdquo;.&amp;nbsp; Those are the words of XNA head Chris Satchell in 2008 at the Game Developers Conference and following Microsoft press releases.&amp;nbsp; So let&amp;rsquo;s look at the democracy Microsoft has in 2010 for Indie developers XBLIG:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;XBLIG can not connect to the Internet &lt;/li&gt;
&lt;li&gt;XBLIG can not have Achievements, nor use the term &lt;/li&gt;
&lt;li&gt;XBLIG can not have high score Leaderboards &lt;/li&gt;
&lt;li&gt;XBLIG can not charge more than $5 for a game &lt;/li&gt;
&lt;li&gt;XBLIG can not be played offline &lt;/li&gt;
&lt;li&gt;XBLIG can not be played by a non-Live account &lt;/li&gt;
&lt;li&gt;XBLIG box art / titles do not show in the friends list when you are playing an XBLIG title &lt;/li&gt;
&lt;li&gt;XBLIG titles do not show in your game history &lt;/li&gt;
&lt;li&gt;XBLIG titles are separated in the Marketplace from other games &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;i&gt;(A few notes: some developers have implemented a peer to peer based leaderboard system, but these can only update when other players are online and only contain the scores their clients have seen.&amp;nbsp; Pricing options are $5, $3, and $1 (USD).&amp;nbsp; A $10 option existed at launched, but was removed and replaced with a $1 option.&amp;nbsp; For comparison, Microsoft sells virtual Avatar clothing at $1 for a shirt or pair of shoes, and $3 for an outfit).&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;The Top Lists of Terror&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;One of the top complaints for years has been the interface in which gamers use to find XBLIG titles.&amp;nbsp; There is a Top Downloads list, a Top Rated list, a New Releases list, a list of games hand selected by IGN, and a list of games that were selected as finalists in the most recent contest.&amp;nbsp; Only the of contest finalists worked as intended.&lt;/p&gt;
&lt;p&gt;The IGN list is rarely updated, and follows no rhyme or reason to the selections (quality is not a factor).&amp;nbsp; The Top Downloads list does not factor in purchases, so titles with attention grabbing box art dominate, even when these downloads are deleted and not purchased.&amp;nbsp; Ratings on Xbox do not require that you play or even download the title and have shown no correlation to actual purchases.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The New Releases list is a developer&amp;rsquo;s one shot to &amp;ldquo;stick&amp;rdquo; to another list before &amp;ldquo;falling off the dashboard.&amp;rdquo;&amp;nbsp; Developers share sales data and it is quite clear being on a dashboard list is worth 100x any online marketing promotion.&amp;nbsp; So what could be wrong with such a simple list?&amp;nbsp; All Microsoft has to do for this list is sort by release date, but this has proven to be quite difficult for the Softies.&amp;nbsp; With an ever increasing frequency the New Releases list &amp;ldquo;freezes&amp;rdquo; and any titles released during a freeze will not be added.&amp;nbsp; When the freeze is fixed, sometimes a few days, maybe a week or more, all titles are added at once.&amp;nbsp; Because of the list size limit, some titles will skip the new release list and go straight into the abyss.&lt;/p&gt;
&lt;p&gt;Microsoft will not compensate a developer who&amp;rsquo;s title was lost in a list freeze by placing them back on the list.&amp;nbsp; Pulling and releasing the title again to get on the list, even in the case of a freeze, is against the terms of service and can result in the developer being banned.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;The Peer Review is a Lie&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;You may have heard that XBLIG titles go through a peer review process.&amp;nbsp; This is not the case.&amp;nbsp; Peer review, as done in the academic community, is a vetting of quality by ones peers.&amp;nbsp; To quote the &lt;a href="http://www.lib.utexas.edu/lsl/help/modules/peer.html"&gt;University of Texas&lt;/a&gt;, &amp;ldquo;Peer Review is a process that journals use to ensure the articles they publish represent the best scholarship currently available&amp;rdquo;.&amp;nbsp; Peer review in XBLIG means running a game though a checklist, looking for crashes and bugs.&amp;nbsp; If it doesn&amp;rsquo;t crash, it&amp;rsquo;s a pass.&amp;nbsp; There are a few more rules than just crashing, such as allowing any controller to start the game and making sure fonts are legible, but the bulk is just QA.&lt;/p&gt;
&lt;p&gt;In theory peer review sounds like a good idea &amp;ndash; an open alterative to Apple&amp;rsquo;s infamously closed review process, while providing some safety compared to Google&amp;rsquo;s Android process which has let bank spoofing applications into the wild and apps stealing contact and location information to sell to anyone who&amp;rsquo;s interested.&amp;nbsp; In practice however, it is an unqualified disaster.&lt;/p&gt;
&lt;p&gt;The first problem is the number of titles needing review.&amp;nbsp; As of this writing there are 70 games awaiting review, and it can easily take a month for a game to pass review.&amp;nbsp; If a game makes use of any non-English words (it doesn&amp;rsquo;t have to be translated, just one line of dialog &amp;ldquo;Hey amigo, let&amp;rsquo;s get a taco&amp;rdquo; counts), the game must be flagged by the developer for multiple languages and must have at least two reviews by speakers of that language.&amp;nbsp; This can hold a title up for months waiting for a qualified developer to submit a review.&lt;/p&gt;
&lt;p&gt;The next problem in peer review is basic math.&amp;nbsp; A developer spends $59.99 a year for a required Xbox Live Gold account, plus an additional $99.00 per year for an App Hub membership, and gives up 32.24% of revenue (Microsoft sell points at $0.0125/point, but pays developers at a rate of $0.0121/point).&amp;nbsp; In addition to these payments and time spent creating their own game, the developer is expected to spend time playing and reviewing other titles awaiting review.&amp;nbsp; I know QA is a low paying job, but I think this is the first case where QA pay is negative.&amp;nbsp; Developers are not forced to review other titles, but if no one does, the entire service shuts down.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The last failure of peer review is handling of subjective rules.&amp;nbsp; The developers are asked to fail games that infringe upon copyright as well as games that are not proper for the service.&amp;nbsp; Microsoft has full rights to censor its service, but telling the developers to decide where the line is?&amp;nbsp;&amp;nbsp; That is just being lazy.&amp;nbsp; This has resulted in the games failing when someone thought there was a copyright violation but there was express permission (the developer still had to pull the content in question), games with political content failing because someone didn&amp;#39;t agree with the view, and in one case the Bible failing for &amp;ldquo;hate speech&amp;rdquo;.&amp;nbsp; Microsoft made an exemption for the Bible, but generally a developer who emails Microsoft asking for ruling on a subjective matter gets the boiler plate reply:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Microsoft is unable to participate in Peer Review, nor can we decide whether your fellow reviewers should think certain in-game content is bad enough to fail your game or not.&amp;nbsp; We also cannot clearly define what specific content is allowed in a game since each case is different, and it&amp;rsquo;s up to the reviewers&amp;rsquo; judgment.&amp;nbsp; Your best avenue is to ask one of the moderators or fellow reviewers for their opinions in your game forum.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Okay, one more issue with peer review &amp;ndash; there is a long standing bug that if a title reaches the total number of reviews needed to complete the cycle, and the last review is a fail for a bug, it will still be published on the service.&amp;nbsp; It seems to follow the logic &amp;ldquo;10 votes required and less than 2 fails&amp;rdquo; and does not check that the 10th review was actually a fail and the broken title is approved.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Promotions of the Wrong Kind&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Microsoft has on rare occasion selected some XBLIG titles to feature in top level dashboard promotions.&amp;nbsp; These come without notice, even to the developers whose titles are selected, and result in a windfall of sales.&amp;nbsp; The titles selected however, seem to be the worst examples on the service.&amp;nbsp; Shovelware titles that make use of Avatars are use to pump up the Avatar Games section, or a screensaver is featured in a Halloween spot.&amp;nbsp; The result is not just that quality titles are passed over, but that Microsoft is actively encouraging more shovelware!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;XNA MVPs&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to make this short, as it isn&amp;rsquo;t interesting to but a few.&amp;nbsp; In the XNA forums, the MVPs not Microsoft are expected to do all moderation.&amp;nbsp;&amp;nbsp; I&amp;rsquo;m used to MVPs in MSDN forums helping out and generally being pretty cool so it&amp;rsquo;s shocking to see an active MVP hate in the XNA forums.&amp;nbsp; I can see why there is the hate &amp;ndash; the MVPs must lock all kinds of prohibited, yet common topics such as legal questions.&amp;nbsp; Asking about the tax forms on the Microsoft web site is a banned topic.&amp;nbsp; Again, Microsoft has the right to censor, but Microsoft, run your own damn forum and let the MVPs spend time help the community instead of policing it.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Paradise Lost&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;For a brief moment, during the new Xbox Dashboard beta, it looked as if Microsoft was making improvements.&amp;nbsp; XBLIG were listed beside Games on Demand, Demos, and Xbox Live Arcade.&amp;nbsp; The top lists were replaced with genre lists, ending the reign of terror and helping more of the 1400+ (more than 360, on demand, and Arcade titles combined) surface in a manageable UI.&amp;nbsp; This was just a cruel joke, as the update went live to find XBLIG removed from the &amp;ldquo;Games&amp;rdquo; section and listed in &amp;ldquo;Specialty Shops&amp;rdquo; next to Avatar clothing and the failed Game Room (where Microsoft tried to sell Atari 2600 titles for pretty close to the same prices as XBLIG).&amp;nbsp; To add insult to injury, the section art is an image of Avatars, as if to say &amp;ldquo;make us more Avatar Shovelware!&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The community manager for XBLIG has left and there is no word of a replacement.&amp;nbsp; High profile developers are already reporting the new dashboard is showing a 50% drop in sales and a 75% drop in downloads.&amp;nbsp; Microsoft has not made one announcement to the community and instead is &lt;a href="http://www.digitalspy.com/gaming/news/a285642/microsoft-comments-on-xbox-indie-changes.html"&gt;working PR to spin coverage&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We wanted to give Xbox Live Indie Games that full marketplace experience and felt this was the best place to do it, alongside other popular channels like the Avatar Marketplace. In fact, since the launch of Avatars, Xbox Live members have made more than 290 million customisations[sic] to their Avatar&amp;#39;s clothing, so we expect many people to regularly visit the Specialty Shops section.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s worth note gamers do not need to visit the Specialty Shops to purchase Avatar clothing as there are numerous hooks into the new UI to up sell the virtual threads at every turn.&amp;nbsp; Also worth note is someone looking for Games will have to pass over the &amp;ldquo;Games &amp;amp; Demos&amp;rdquo;, &amp;ldquo;Genres&amp;rdquo;, and &amp;ldquo;Titles A-Z&amp;rdquo; sections to get to Specialty Shops section.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Why WP7 Developers Should Take Note&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The XNA forums are in flames, and the fate of XBLIG is uncertain as the quality developers that held up the service announce they are moving on to other platforms.&amp;nbsp; Why should WP7 developers care?&amp;nbsp; Because many XBLIG developers see history repeating itself and are considering other platforms.&lt;/p&gt;
&lt;p&gt;The current WP7 forums mimic the early days of the Creators Club &amp;ndash; so many issues being raised little to no Microsoft response.&amp;nbsp; Microsoft offers special WP7 APIs to publishers that are not available to regular developers.&amp;nbsp; The short life span of the Zune HD and App Store (less than 6 months before abandoned) and the WTF-was-that life span of the Kin are very clear reminders Microsoft does not have a successful track record marketing to consumers.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Why I Hope Things Change&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Writing games for a console is something I thought I would never do in my lifetime.&amp;nbsp; XBLIG brought down the barrier to entry so anyone could release a game.&amp;nbsp; I&amp;rsquo;m sure this does not sit will with the EA&amp;rsquo;s and Activision&amp;rsquo;s of the world who want to keep prices high buy keeping a lock on distribution channels.&amp;nbsp; I honestly don&amp;rsquo;t care about the fight-the-man angle, writing a game for a console is just so damn &lt;b&gt;awesome &lt;/b&gt;I want to be a part of it.&amp;nbsp; I have committed a serious amount of time to building newly-launched &lt;a href="http://www.gamemarx.com/"&gt;GameMarx&lt;/a&gt; with my friends at FuncWorks to spread the word on the many great games on XBLIG and I&amp;rsquo;m not ready to give up on that dream just yet.&lt;/p&gt;
&lt;p&gt;I hope this is read by more than a few and pressure is brought down on Microsoft to make good on their promise and democratize game distribution.&amp;nbsp; If you agree, pass this on and lets &lt;a href="http://search.twitter.com/search?q=savexblig"&gt;#SaveXBLIG&lt;/a&gt;!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=63253" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/vinull/archive/tags/xna/default.aspx">xna</category></item><item><title>XNA 3D Primer Published – Get a free copy!</title><link>http://devlicio.us/blogs/vinull/archive/2010/01/25/xna-3d-primer-published-get-a-free-copy.aspx</link><pubDate>Tue, 26 Jan 2010 01:57:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:55134</guid><dc:creator>Michael C. Neel</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/vinull/rsscomments.aspx?PostID=55134</wfw:commentRss><comments>http://devlicio.us/blogs/vinull/archive/2010/01/25/xna-3d-primer-published-get-a-free-copy.aspx#comments</comments><description>&lt;p&gt;In June of 2006 I officially became a professional author when &lt;i&gt;&lt;a href="http://www.aspnetpro.com/"&gt;ASP.NET Pro&lt;/a&gt;&lt;/i&gt; published my article “&lt;a href="http://www.vinull.com/Post/2008/10/11/google-can-you-hear-me.aspx"&gt;Google Can You Hear Me?&lt;/a&gt;”.&amp;#160; (So eager was I to be published I submitted my code in VB!).&amp;#160; Now I’m proud to announce Wrox has published “&lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/XNA-3D-Primer.productCd-0470596937.html"&gt;XNA 3D Primer&lt;/a&gt;” as a Wrox Blox (aka eBook).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Why did I write this book?&lt;/b&gt;&amp;#160; Truth be told, I’ve always admired technical book authors that can teach not only the how, but the why of a subject.&amp;#160; It’s no secret I’m a fan of &lt;a href="http://www.charlespetzold.com/"&gt;Charles Petzold&lt;/a&gt;; ever since I read “Programming Windows 95” (my first Windows version that I wrote applications for) I’ve wanted to join the ranks of great technical authors.&amp;#160; I of course am not there yet – this is my first book and I kept it simple by writing a 40 page ebook.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Who did I write this book for?&lt;/b&gt;&amp;#160; A book is nothing without an audience.&amp;#160; This book is written for the line-of-business application developer who is curious about writing 3D games using XNA.&amp;#160; &lt;a href="http://www.xna.com/"&gt;XNA&lt;/a&gt; is Microsoft’s platform for game development and includes a .Net based managed framework that can be run on Windows PCs and the Xbox 360.&amp;#160; You can even sell your games over &lt;a href="http://www.xbox.com/en-US/games/community/default.htm"&gt;Xbox Live Indie Games&lt;/a&gt;.&amp;#160; Some experience with XNA is expected, but not more than working though the &lt;a href="http://creators.xna.com/en-US/education/gettingstarted"&gt;getting started beginner’s guides&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What does this book cover?&lt;/b&gt;&amp;#160; The book is a surface tour of 3D programming.&amp;#160; When I first started 3D programming I felt like all the documentation was in Latin.&amp;#160; None of the lingo made sense, and I had trouble just figuring out what I needed to search on.&amp;#160; The book covers the basics of 3D space and the core math you’ll use over and over again.&amp;#160; It then moves on to handling the camera, working with 3D models, collision detection, and ends with methods to animate 3D models.&amp;#160; None of these topics are covered in great depth, but I found touching each one gives the “full picture” to the parts of a 3D game.&amp;#160; Think of this book more as a guided safari instead of a full expedition into the jungles of XNA 3D.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;You said free copy?&lt;/b&gt; Yes, though this free copy isn’t without cost.&lt;/p&gt;  &lt;p&gt;First, you can buy &lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/XNA-3D-Primer.productCd-0470596937.html"&gt;XNA 3D Primer from Wrox for $6.99&lt;/a&gt; (this is cheaper than my “free” offer below).&lt;/p&gt;  &lt;p&gt;Since this is my first published book I wanted to do something special.&amp;#160; Initially I was going to donate the money I earned from the book (which isn’t much – this was written for pleasure not profit) to &lt;a href="http://www.childsplaycharity.org"&gt;Child’s Play&lt;/a&gt;.&amp;#160; What is Child’s Play?&amp;#160; In their own words:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Since 2003, over 100,000 gamers worldwide have banded together through Child’s Play, a community based charity grown and nurtured from the game culture and industry. Over 5 million dollars in donations of toys, games, books and cash for sick kids in children’s hospitals across North America and the world have been collected since our inception.&lt;/p&gt;    &lt;p&gt;This year, we have continued expanding across the country and the globe. With almost 70 partner hospitals and more arriving every month, you can be sure to find one from the map above that needs your help! You can choose to purchase requested items from their online retailer wish lists, or make a cash donation that helps out Child’s Play hospitals everywhere. Any items purchased through Amazon will be shipped directly to your hospital of choice, so please be sure to select their shipping address rather than your own.&lt;/p&gt;    &lt;p&gt;When gamers give back, it makes a difference!&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Then I &lt;span style="text-decoration:line-through;"&gt;stole&lt;/span&gt; got an idea from &lt;a href="http://sethgodin.typepad.com/"&gt;Seth&lt;/a&gt;.&amp;#160; Instead of giving the money outright, I offer to anyone interested to make a $30.00 (or more) donation to Child’s Play.&amp;#160; Then email me the receipt and I’ll send you a free copy of XNA 3D Primer.&amp;#160; You’re making the donation, so you get to take the tax deduction and you get the good feeling that comes when giving a donation.&lt;/p&gt;  &lt;p&gt;When I explained the idea to my publisher, Wrox, not only did they love it, they offered to pitch in.&amp;#160; On my own I would have been able to give away 50 copies of my book; Wrox has doubled this so I can give away 100!&lt;/p&gt;  &lt;p&gt;&lt;strike&gt;So, the steps are:&lt;/strike&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strike&gt;Go to &lt;/strike&gt;&lt;a title="http://www.childsplaycharity.org/" href="http://www.childsplaycharity.org/"&gt;&lt;strike&gt;http://www.childsplaycharity.org/&lt;/strike&gt;&lt;/a&gt;&lt;strike&gt; and click the PayPal donate link (just under the map) &lt;/strike&gt;&lt;/li&gt;    &lt;li&gt;&lt;strike&gt;Donate $30 (or more) &lt;/strike&gt;&lt;/li&gt;    &lt;li&gt;&lt;strike&gt;Email the PayPal reciept to &lt;/strike&gt;&lt;a href="mailto:michael.neel%2Bxna@gmail.com"&gt;&lt;strike&gt;michael.neel+xna@gmail.com&lt;/strike&gt;&lt;/a&gt;&lt;strike&gt; (yes, there is a plus sign in the email) &lt;/strike&gt;&lt;/li&gt;    &lt;li&gt;&lt;strike&gt;I will email you a (DRM-free) PDF of XNA 3D Primer (please give me a day or so, the process is manual) &lt;/strike&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strike&gt;Once these 100 copies are gone, that’s it – I’ll update this post with the remaining copies and the total raised for Child’s Play.&lt;/strike&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update: &lt;/strong&gt;The giveaway has ended.&amp;#160; I had two people take up the offer, thus proving I’m no Seth Godin!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=55134" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/vinull/archive/tags/books/default.aspx">books</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/xna/default.aspx">xna</category></item><item><title>IncaBlocks Released, Thanks AgileZen and Kanban!</title><link>http://devlicio.us/blogs/vinull/archive/2009/10/14/incablocks-released-thanks-agilezen-and-kanban.aspx</link><pubDate>Wed, 14 Oct 2009 15:21:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:52665</guid><dc:creator>Michael C. Neel</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devlicio.us/blogs/vinull/rsscomments.aspx?PostID=52665</wfw:commentRss><comments>http://devlicio.us/blogs/vinull/archive/2009/10/14/incablocks-released-thanks-agilezen-and-kanban.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d8025855032f"&gt;&lt;img style="border-right-width:0px;margin:0px 10px 10px 0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Box_cover" alt="Box_cover" src="http://www.vinull.com/Assets/Images/windowslivewriterincablocksreleasedfuncworksfirstxnagame_13492box_cover_0380a2b540504cb3b3302bc8609fbada.jpg" width="204" align="left" border="0" height="244" /&gt;&lt;/a&gt;&lt;a href="http://feelthefunc.com"&gt;FuncWorks, LLC&lt;/a&gt;&amp;rsquo;s first XNA game, &lt;a href="http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d8025855032f"&gt;IncaBlocks&lt;/a&gt;, is now available on Xbox Live Indie Games (XBLIG)!&lt;/p&gt;
&lt;p&gt;This game represents the many hours and weekends &lt;a href="http://dylanwolf.com"&gt;Dylan&lt;/a&gt;, &lt;a href="http://finsandstems.com"&gt;Cicelie&lt;/a&gt; and myself worked the past several months.&amp;nbsp; Looking back at SVN, I started this as a side project to &lt;a href="http://www.youtube.com/watch?v=RhZ03RUj_NE"&gt;ROCS&lt;/a&gt; around July 30th.&amp;nbsp; Shortly thereafter we decided to put ROCS on hold and make IncaBlocks the first game we would release.&amp;nbsp; Keeping with our belief in over delivering, we priced IncaBlocks at 80 Points ($1.00). &lt;/p&gt;
&lt;p&gt;Game play is pretty simple &amp;ndash; stack blocks following some rules, and the one with the most blocks on top at the end wins.&amp;nbsp; I recorded a short video of a game to help everyone check it out (there is also a free trial version on Xbox):&lt;/p&gt;
&lt;p align="center"&gt;
&lt;object width="580" height="360"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/Zg4OAck7rAA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed src="http://www.youtube.com/v/Zg4OAck7rAA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="360"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;IncaBlocks was also the first project that we made heavy use of &lt;a href="http://en.wikipedia.org/wiki/Kanban"&gt;Kanban&lt;/a&gt; and &lt;a href="http://agilezen.com/"&gt;AgileZen&lt;/a&gt;.&amp;nbsp; Kanban is an idea I&amp;rsquo;ve loved in theory for a while, but hadn&amp;rsquo;t had the chance to use it on a real project (meaning a project with a deadline).&amp;nbsp; We used both the online board at AgileZen, and a real board in my office.&amp;nbsp; &lt;a href="http://kohari.org/"&gt;Nate&lt;/a&gt; and &lt;a href="http://nikibeth.com/"&gt;Nicole&lt;/a&gt; have done an awesome job with AgileZen, and in my not-so-humble opinion have a better project management system than &lt;a href="http://basecamphq.com/"&gt;Basecamp&lt;/a&gt;.&amp;nbsp; As with &lt;a href="http://ninject.org/"&gt;Ninject&lt;/a&gt;, Nate has a knack for stripping away the excess and leaving only the good parts.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;That said, you cannot beat the feeling of a physical Kanban board.&amp;nbsp; Moving a work item physically through the project flow gives one a great sense of accomplishment.&amp;nbsp; We stuck to two basic rules of the board: first, you can only have one task in progress at a time, and second, you must take a task, once started, all the way to done.&amp;nbsp; I think at least 3 times I &amp;ldquo;reset&amp;rdquo; the board and moved tasks around in the ready columns to change priority.&amp;nbsp; This allowed us to keep a high velocity while reacting to change (considering this was our first XNA game to be release, we had many changes as a result of just learning XNA and XBLIG worked).&amp;nbsp; While we pruned the done items from AgileZen, we left them all up on the wall:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://www.vinull.com/Assets/Images/windowslivewriterincablocksreleasedfuncworksfirstxnagame_13492dscf6419.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Don&amp;#39;t you have a Fender Stat in your office too?" alt="Don&amp;#39;t you have a Fender Stat in your office too?" src="http://www.vinull.com/Assets/Images/windowslivewriterincablocksreleasedfuncworksfirstxnagame_13492dscf6419_thumb.jpg" width="644" border="0" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We already have ideas for our next games, though I will have to take a break from game development while I work on an ebook for &lt;a href="http://www.wrox.com"&gt;Wrox&lt;/a&gt;.&amp;nbsp; The working title is &amp;ldquo;XNA 3D Primer&amp;rdquo;, and will be a crash course in 3D game programming.&amp;nbsp; I also plan to do some post mortem posts on IncaBlocks and the lessons we learned along the way.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=52665" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/vinull/archive/tags/Featured/default.aspx">Featured</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/agile/default.aspx">agile</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/xna/default.aspx">xna</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/kanban/default.aspx">kanban</category></item></channel></rss>