<?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 : speaking</title><link>http://devlicio.us/blogs/vinull/archive/tags/speaking/default.aspx</link><description>Tags: speaking</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>CodeStock 2009 “Call for Speakers” is Open</title><link>http://devlicio.us/blogs/vinull/archive/2009/02/19/codestock-2009-call-for-speakers-is-open.aspx</link><pubDate>Thu, 19 Feb 2009 18:16:08 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:44389</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=44389</wfw:commentRss><comments>http://devlicio.us/blogs/vinull/archive/2009/02/19/codestock-2009-call-for-speakers-is-open.aspx#comments</comments><description>&lt;p&gt;&lt;a title="CodeStock 2009" href="http://codestock.org"&gt;&lt;img title="image" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;margin:0px 10px 10px 0px;border-right-width:0px;" height="155" alt="image" src="http://devlicio.us/blogs/vinull/image_715F1D0C.png" width="260" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The CodeStock 2009 Call for Speakers is open, details at &lt;a title="CodeStock 2009" href="http://codestock.org"&gt;CodeStock.org&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To make this year’s event bigger and better we’ve expanded the conference to a two-day event, June 26 and 27, 2009 in Knoxville, TN.&amp;#160; Day one will be comprised of extended deep dive and back-to-basics sessions followed by day two of regular sessions.&amp;#160; We will also expand the room for Open Spaces sessions, led by &lt;a href="http://netcave.org/"&gt;Alan Stevens&lt;/a&gt; (check out &lt;a title="Alan on .Net Rocks talking about Open Spaces" href="http://www.dotnetrocks.com/default.aspx?showNum=420"&gt;Alan on .Net Rocks talking about Open Spaces&lt;/a&gt; along side a traditional conference).&lt;/p&gt;  &lt;p&gt;This year we are also going to try out letting attendees select speakers, part of the “We Want You” theme.&amp;#160; When registrations opens in March 31st (or shortly after), those who register before May 15th will be able to cast votes for the session and speakers they would like to see.&amp;#160; The vote tallies will be used by the CodeStock Planning Committee in selecting speakers.&lt;/p&gt;  &lt;p&gt;If you are interested in speaking, please submit an application.&amp;#160; If you want to stay up to date on CodeStock info, follow us at &lt;a href="http://twitter.com/codestock"&gt;http://twitter.com/codestock&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=44389" 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/conference/default.aspx">conference</category><category domain="http://devlicio.us/blogs/vinull/archive/tags/speaking/default.aspx">speaking</category></item><item><title>Where's Mike?</title><link>http://devlicio.us/blogs/vinull/archive/2008/07/02/where-s-mike.aspx</link><pubDate>Thu, 03 Jul 2008 01:18:32 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:41191</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=41191</wfw:commentRss><comments>http://devlicio.us/blogs/vinull/archive/2008/07/02/where-s-mike.aspx#comments</comments><description>&lt;p&gt;I recently posted that everyone should read &lt;a href="http://sethgodin.typepad.com/the_dip/"&gt;The Dip&lt;/a&gt; and I try to follow Seth&amp;#39;s advice pretty closely.&amp;#160; The current &amp;quot;dip&amp;quot; I&amp;#39;m slugging through is organizing &lt;a href="http://codestock.org"&gt;CodeStock&lt;/a&gt; - which means I have to &amp;quot;quit&amp;quot; or ignore many other things to focus on getting through this dip.&amp;#160; Less time spent playing with new .Net toys, which leads to less blogging and less speaking.&lt;/p&gt;  &lt;p&gt;One thing I&amp;#39;m slightly jealous about having to pass on is helping in the &lt;a href="http://annarborgivecamp.org/"&gt;Ann Arbor Give Camp&lt;/a&gt;.&amp;#160; &lt;a href="http://timrayburn.net/"&gt;Tim Rayburn&lt;/a&gt; first told me about give camp&amp;#39;s last year at the Memphis Day of .Net, and ever since then I&amp;#39;ve wanted to be part of one (or more).&amp;#160; I am however glad to see &lt;a href="http://www.nathanblevins.com/www/Articles/GiveCamp-KnoxvilleTennessee.aspx"&gt;Nathan Blevins jump in and assemble a remote team&lt;/a&gt; so that Knoxville developer&amp;#39;s can join in the Ann Arbor Give Camp, even if I can&amp;#39;t.&lt;/p&gt;  &lt;p&gt;Fortunately however, a system has been created to allow one a temporary break from slugging through a dip - the vacation.&amp;#160; While most would imagine a vacation involves a beach and doing nothing, if we define vacation as &amp;quot;taking a break from daily routine to spend time doing an enjoyed activity&amp;quot; we see that a speaking tour is a vacation!&lt;/p&gt;  &lt;p&gt;Next week I&amp;#39;ll be staying in the New Orleans&amp;#39; French Quarter and speaking at nearby .Net user groups.&amp;#160; Below is a list of dates and groups - if you&amp;#39;re going to be in the area be sure to join in my vacation!&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;GNONUG in New Orleans, LA Mon 7/7 (topic TBD)&lt;/li&gt;    &lt;li&gt;Perficient, Inc. in New Orleans, LA 7/8 @ 11:30 - Welcome to the Church of Agile &lt;/li&gt;    &lt;li&gt;&lt;a href="http://loweraldotnet.org/"&gt;LANUG&lt;/a&gt; in Mobile, AL Tues 7/8 - From Zero to XAML&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.acadianaug.org/"&gt;Acadiana .NET UG&lt;/a&gt; in Lafayette, LA on Wed 7/9 - SOA: Building the Arch&lt;/li&gt;    &lt;li&gt;&lt;a href="http://hubcitynug.org/"&gt;Hattiesburg&lt;/a&gt;, MS on Thurs 7/10 - &amp;quot;Geek Dinner&amp;quot; (this is still in the planning stages, but there will be something happening)&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=41191" 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/speaking/default.aspx">speaking</category></item></channel></rss>