<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://bphelpsdev.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fbphelpsdev.spaces.live.com%2fcategory%2fXNA%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Bryan's space: XNA</title><description /><link>http://bphelpsdev.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catXNA</link><language>en-US</language><pubDate>Thu, 24 Jul 2008 02:54:41 GMT</pubDate><lastBuildDate>Thu, 24 Jul 2008 02:54:41 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://bphelpsdev.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>6928811135990455328</live:id><live:alias>bphelpsdev</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Third XNA Game : WiiSnowball</title><link>http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!187.entry</link><description>&lt;div&gt;&lt;font size=4&gt;WiiSnowball&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;[Requires XNA 2.0]&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;Game Type : &amp;quot;Family Friendly&amp;quot; First Person Shooter&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;Project Status: Incomplete / To be completed later&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;Team: Myself (coding / 2d artwork) &amp;amp; My brother (3d modelling)&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;WiiSnowball was a project my brother and I came up with over spring break. Originally, for my WiiMotion major design project, we wanted to have a few different games to showcase the potential of the platform. So most of my time over spring break I spent coding this game - and my brother did artwork (the player models, the nice looking level). &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;Technically, the development time was about 2 weeks - but this leveraged the engine I had already started using. I thought it was going to be a fairly easy project, but it turned out to have some nuances that made it more challenging. It turned out to be fairly fun, however, there wasn't a lot of dynamic to really keep it interesting. Running around and throwing snowballs at other players or bots got old after a while, and my brother and I didn't really have any ideas on how to increase the fun factor. We did try adding a snowmobile vehicle, but it didn't work so great and didn't add much.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;In addition, I could leverage the Wiimote library as well, although you can play with the keyboard and mouse too. The game is meant to be played with a Wiimote, and headtracking, although the headtracking was never implemented fully for this game.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;The biggest challenges for me were:&lt;/font&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font size=1&gt;fixing some bugs in the engine - this project was valuable in tracking down bugs but there were also some frustrations. In the end, it was totally worth it, because these bugs would've caused problems for shattered metal as well!&lt;/font&gt;
&lt;li&gt;&lt;font size=1&gt;Designing a flexible user interface that was menu-driven. We were kind of going for an old school look and feel, and the menus had to be dynamic (ie, for teamplay/deathmatch, you had to have different options). It took me a little while to settle on a design I was happy with.&lt;/font&gt;
&lt;li&gt;&lt;font size=1&gt;Implementing split screen - this was the first game I have made multiplayer on the same machine. There were some issues with this that were interesting to figure out.&lt;/font&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font size=1&gt;All in all it was a pretty fun project. Maybe there will be a Snowball Game 2.0 coming out in the near future, utilizing my new engine in development!&lt;/font&gt;
&lt;p&gt;&lt;font size=1&gt;A download is not available because it is unfinished, however, here are some screenshots:&lt;br&gt;&lt;a href="http://byfiles.storage.live.com/y1pXAEZpZ-26Metbtl226Zx2Yq2XtsGNW0GQMW9KtBhNh4Ny0kvtz2mIz4geGKVLmx9VwAgKhe7hFo" target="_blank"&gt;&lt;img height=200 alt=snowball1 src="http://byfiles.storage.live.com/y1pXAEZpZ-26Metbtl226Zx2Yq2XtsGNW0GQMW9KtBhNh4Ny0kvtz2mIz4geGKVLmx9VwAgKhe7hFo" width=258&gt;&lt;/a&gt;&lt;a href="http://byfiles.storage.live.com/y1pXAEZpZ-26MdfcIk23kb7NCTPo8Tbe_o7D5fvNkNqqgOAuAdvluWtjh6ksjGBQkczZMABcjwCCpM" target="_blank"&gt;&lt;img height=200 alt=snowball2 src="http://byfiles.storage.live.com/y1pXAEZpZ-26MdfcIk23kb7NCTPo8Tbe_o7D5fvNkNqqgOAuAdvluWtjh6ksjGBQkczZMABcjwCCpM" width=258&gt;&lt;/a&gt;&lt;a href="http://byfiles.storage.live.com/y1pXAEZpZ-26MfintMH7vVIjy2GzdHOxTePXovlZLChbAAmCXiirHrRP_0N9vwM8_U6yYyv602Buis" target="_blank"&gt;&lt;img height=200 alt="snowball_gamepaly1" src="http://byfiles.storage.live.com/y1pXAEZpZ-26MfintMH7vVIjy2GzdHOxTePXovlZLChbAAmCXiirHrRP_0N9vwM8_U6yYyv602Buis" width=255&gt;&lt;/a&gt;&lt;a href="http://byfiles.storage.live.com/y1pXAEZpZ-26Mfv_YjbtETXb8te5rUSQZI-PVqsiice1a81r_mdRbPlPx_Mc9YCz_rGF-DL4EW6ILc" target="_blank"&gt;&lt;img height=200 alt="snowball_gamepaly2" src="http://byfiles.storage.live.com/y1pXAEZpZ-26Mfv_YjbtETXb8te5rUSQZI-PVqsiice1a81r_mdRbPlPx_Mc9YCz_rGF-DL4EW6ILc" width=258&gt;&lt;/a&gt;&lt;a href="http://byfiles.storage.live.com/y1pXAEZpZ-26MdzkVW_g4vaOot961D_S_zbBayuE9jMA-qMtdm-ou8m5zeEa980LWQXU5fj5DWHySw" target="_blank"&gt;&lt;img height=200 alt="snowball_gamepaly4" src="http://byfiles.storage.live.com/y1pXAEZpZ-26MdzkVW_g4vaOot961D_S_zbBayuE9jMA-qMtdm-ou8m5zeEa980LWQXU5fj5DWHySw" width=259&gt;&lt;/a&gt;&lt;a href="http://byfiles.storage.live.com/y1pXAEZpZ-26Mf8RyEJwurezpt0ZhkR_8zQyvyg5zAIIiHUU9ruSuPinMq4u3HOI-1MN52ww5J_Du0" target="_blank"&gt;&lt;img height=200 alt="snowball_gamepaly3" src="http://byfiles.storage.live.com/y1pXAEZpZ-26Mf8RyEJwurezpt0ZhkR_8zQyvyg5zAIIiHUU9ruSuPinMq4u3HOI-1MN52ww5J_Du0" width=256&gt;&lt;/a&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size=1&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font size=1&gt;&lt;/font&gt; 
&lt;div&gt;&lt;font size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=1&gt;&lt;/font&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=6928811135990455328&amp;page=RSS%3a+Third+XNA+Game+%3a+WiiSnowball&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=bphelpsdev.spaces.live.com&amp;amp;GT1=bphelpsdev"&gt;</description><comments>http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!187.entry#comment</comments><guid isPermaLink="true">http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!187.entry</guid><pubDate>Thu, 01 May 2008 17:55:42 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://bphelpsdev.spaces.live.com/blog/cns!602815048C7B5C20!187/comments/feed.rss</wfw:commentRss><wfw:comment>http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!187.entry#comment</wfw:comment><dcterms:modified>2008-05-01T17:55:42Z</dcterms:modified></item><item><title>XNA Content Pipeline Issues</title><link>http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!173.entry</link><description>&lt;div&gt;In the past week I've been trying to get familiar with XNA's content pipeline. I've found it really confusing to try and get a grasp on what is going on with it. &lt;/div&gt;
&lt;div&gt;At first, I had difficult understanding the process. But it seems to make sense:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;First, you import the object and output it as a common Document Object Model.&lt;br&gt;Then, you process that output into a format that gets written to a .xnb&lt;/div&gt;
&lt;div&gt;Finally, you write a reader to read back the data from the xnb&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;This makes sense, and having a common Object Model for importing could definitely save time. I'm writing a BSP importer, and currently targetting Quake 3 BSPs, but if I make a standard DOM, then I should be able to easily add support for other types of BSPs as well, as long as they fit the requirements of my DOM.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The problem I have with the content pipeline so far is that I don't understand exactly how to create a vertexbuffercontent. My Q3BSP loader worked great when I could just make an array of my custom vertex format (with the position, normal, binormal, texture coord, and lightmap coord) and use SetData&amp;lt;&amp;gt; to load the data into the buffer. It was pretty easy. But now I have to deal with all this other stuff, a NodeContent object and a GeometryContent object and specifying all the vertex channels.... It seems kind of silly to me that it has to be so much more convoluted. Why can't I have more control over how the vertex buffer gets created?&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I'm almost tempted to just write out the data as an array to the xnb, and read it back in, and then populate the vertex buffer using SetData again... But i'm going to give this stuff a chance, I'm sure I just am ignorant about how powerful it is and how much easier it could make my life.. I'm always frustrated at first when I don't understand something &lt;img title=Open-mouthed style="vertical-align:middle" alt=Open-mouthed src="http://shared.live.com/HjKMzTS-xzcms40!CabizA/emoticons/smile_teeth.gif"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=6928811135990455328&amp;page=RSS%3a+XNA+Content+Pipeline+Issues&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=bphelpsdev.spaces.live.com&amp;amp;GT1=bphelpsdev"&gt;</description><comments>http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!173.entry#comment</comments><guid isPermaLink="true">http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!173.entry</guid><pubDate>Sun, 13 Apr 2008 04:59:46 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://bphelpsdev.spaces.live.com/blog/cns!602815048C7B5C20!173/comments/feed.rss</wfw:commentRss><wfw:comment>http://bphelpsdev.spaces.live.com/Blog/cns!602815048C7B5C20!173.entry#comment</wfw:comment><dcterms:modified>2008-04-13T04:59:46Z</dcterms:modified></item></channel></rss>