<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://wotudo.net/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>Search results matching tag 'xna'</title><link>http://wotudo.net/search/SearchResults.aspx?o=DateDescending&amp;tag=xna&amp;orTags=0</link><description>Search results matching tag 'xna'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 (Build: 20423.869)</generator><item><title>Windows Phone 7Online Conference XNA track</title><link>http://wotudo.net/blogs/wotudo/archive/2011/03/30/windows-phone-7online-conference-xna-track.aspx</link><pubDate>Wed, 30 Mar 2011 07:25:52 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:3387</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;We had great fun presenting the XNA sessions for &lt;a href="http://blogs.msdn.com/b/mikeormond/archive/2011/03/23/don-t-forget-to-join-us-tomorrow-for-the-wp7-online-conference.aspx"&gt;Tech.Days Online Conference&lt;/a&gt; last week. From a secret location (just off the M42 J4) a crack team of XNA developers gathered to present four sessions covering Artificial Intelligence, Collision detection, Advanced Rendering and the Synapse Gaming’s Sunburn game engine for XNA on Windows Phone 7. &lt;/p&gt;  &lt;p&gt;I’ve collected together a few useful links for each of the sessions below. The session recordings and slide decks available very soon – I’ll add links when I get them.&lt;/p&gt;  &lt;p&gt;First of all, the second keynote Mike and I presented:&lt;/p&gt;  &lt;h3&gt;&lt;font style="font-weight:bold;"&gt;Tips &amp;amp; Tricks for Windows Phone 7 Applications and Marketplace&lt;/font&gt;&lt;/h3&gt;  &lt;h6&gt;Mike Ormond &lt;a href="http://twitter.com/MikeOrmond"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-36-92-metablogapi/2744.image_5F00_444F1051.png" width="41" height="39" /&gt;&lt;/a&gt; &lt;a href="http://bit.ly/mikeormond"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-36-92-metablogapi/8032.image_5F00_5B9A14C2.png" width="39" height="39" /&gt;&lt;/a&gt; &amp;amp; Paul Foster &lt;a href="http://twitter.com/Paulfo"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-36-92-metablogapi/6153.image_5F00_53A27260.png" width="41" height="39" /&gt;&lt;/a&gt; &lt;a href="http://bit.ly/paulfo"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-36-92-metablogapi/5808.image_5F00_0E89A52A.png" width="39" height="39" /&gt;&lt;/a&gt;&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://bit.ly/gaQyGT"&gt;Windows Phone 7 Application Submission Walkthrough&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://bit.ly/9PCJnL"&gt;Windows Phone 7 Application Certification Requirements [PDF]&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To over come the limitations on framerate in our broadcasts we pre-recorded videos of the demonstrations and published them on a YouTube channel: &lt;a href="http://youtube.com/wp7xna"&gt;http://youtube.com/wp7xna&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_6B41036E.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_5C49AE87.png" width="204" height="120" /&gt;&lt;/a&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_5BDD7B92.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_5B71489D.png" width="195" height="120" /&gt;&lt;/a&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_21EE38A6.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_0C90833E.png" width="195" height="121" /&gt;&lt;/a&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_6C09438B.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_230321C5.png" width="195" height="118" /&gt;&lt;/a&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_2296EED0.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_1E206E09.png" width="195" height="121" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Artificial Intelligence for XNA Games.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Most of the code samples are available from the App Hub education library &lt;a href="http://create.msdn.com/en-US/education/catalog/?contenttype=0&amp;amp;devarea=11&amp;amp;platform=0&amp;amp;sort=1"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Plus my C# Iterators example available &lt;a href="http://cid-50265e931f99d929.office.live.com/browse.aspx/XNA%20TechDays%20Talk?Bsrc=EMSHOO&amp;amp;Bpub=SN.Notifications"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;And Shawn Hargreaves original blog post on &lt;a href="http://blogs.msdn.com/b/shawnhar/archive/2010/10/01/iterator-state-machines.aspx"&gt;Iterator state machines&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The following sessions were presented by the leading lights of the &lt;a href="http://xna-uk.net/"&gt;XNA UK usergroup&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Overview of 3D Collision Detection Techniques in XNA (Ed Powell)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;Ed’s blog is &lt;a href="http://xna-uk.net/blogs/braindump/default.aspx"&gt;here&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Incorporating Advanced Render Techniques in WP7 XNA Games: Rendering a Sea (Ed Powell)&lt;/strong&gt;      &lt;br /&gt;Ed’s specific blog posts on his Battle of Trafalgar game are &lt;/font&gt;&lt;a href="http://xna-uk.net/blogs/braindump/archive/2011/03/17/battle-of-trafalgar-for-windows-phone-7-part-1-pocket-battleships.aspx"&gt;&lt;font size="4"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font size="4"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Sunburn World Lighting on Windows Phone 7 (Simon Jackson)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Simon’s blog is &lt;a href="http://xna-uk.net/blogs/darkgenesis/default.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;From my personal point of view it was fabulous to be presenting alongside such capable XNA devs. I was in awe of the level of detail both Simon and Ed where able to convey during their presentations and will be revisiting the recordings when they are available just to check out all the techniques presented. I’m already working out how I can upgrade my current Sunburn engine Professional license to the new Sunburn WP7 tool set….&lt;/p&gt;  &lt;p&gt;I would like to say a very special thank you to Simon and Ed for volunteering to present at the conference. They both had to create their presentations as well as deliver them in their own (unpaid!) time. I’d also like to extend my thanks to Simon and Ed’s employers who enabled them to both work flexibly on the Thursday of the conference so they could travel to our presentation location in time for the event.&lt;/p&gt;  &lt;p&gt;There is a wealth of information in the presentations and online at the XN UK user group site as well as the App hub education library. Go take a look - writing games for mobile devices has never been so awesome!&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2011%2f03%2f30%2fwindows-phone-7online-conference-xna-track.aspx&amp;amp;title=Windows+Phone+7Online+Conference+XNA+track"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>Midlands XAP-A-THON tonight!</title><link>http://wotudo.net/blogs/wotudo/archive/2010/09/01/midlands-xap-a-thon-tonight.aspx</link><pubDate>Wed, 01 Sep 2010 09:34:18 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:2200</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_6E9B9966.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://wotudo.net/blogs/wotudo/image_thumb_641AC546.png" width="240" height="153" /&gt;&lt;/a&gt; I am attending the XBLIG user groups first meeting with my Windows Phone 7 dev lab tonight in Coventry. If you have a Windows Phone 7 app or game then do come along – bring your projects XAP file on a memory stick so we can deployed it to a Windows Phone 7 Prototype so you can see how it runs.&lt;/p&gt;  &lt;p&gt;All event details are here: &lt;a href="http://xblig-uk.net/index.php?option=com_seminar&amp;amp;Itemid=6" target="_blank"&gt;XBLIG UG&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Oh and by the way: using the traditional ‘clapometer’ method we’ll judge the apps presented on the night. The winner will receive an XBox 360 :-)&lt;/p&gt;  &lt;p&gt;&amp;lt;Note. XBox 360 will be sent to the winner because I have enough to carry!&amp;gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2010%2f09%2f01%2fmidlands-xap-a-thon-tonight.aspx&amp;amp;title=Midlands+XAP-A-THON+tonight!"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>WP7 XNA text input</title><link>http://wotudo.net/blogs/wotudo/archive/2010/05/10/wp7-xna-text-input.aspx</link><pubDate>Mon, 10 May 2010 08:45:53 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:1211</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_04346E4D.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://wotudo.net/blogs/wotudo/image_thumb_67D7065F.png" width="126" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; I’ve seen a few queries of how to get text input into an XNA game on Windows Phone 7 – so I thought I’d show you how.&lt;/p&gt;  &lt;p&gt;It is all very simple. All you need to do is call Guide.BeginShowKeyboardInput. This uses the IAsync pattern to provide asynchronous input to game play. To get the string result from the input ‘dialog’ you call Guide.EndShowKeyboardInput putting the output into a string variable and passing in your IAsync Result object.&lt;/p&gt;  &lt;p&gt;The code for my simple demo is below:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b29bd693-ff8a-435c-aab6-7ff72d09f014" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2.5em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt;&lt;span style="color:#0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Update(&lt;span style="color:#2b91af;"&gt;GameTime&lt;/span&gt; gameTime)&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;{&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#008000;"&gt;// Allows the game to exit&lt;/span&gt;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;GamePad&lt;/span&gt;.GetState(&lt;span style="color:#2b91af;"&gt;PlayerIndex&lt;/span&gt;.One).Buttons.Back == &lt;span style="color:#2b91af;"&gt;ButtonState&lt;/span&gt;.Pressed)&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Exit();&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;(!&lt;span style="color:#2b91af;"&gt;Guide&lt;/span&gt;.IsVisible)&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;(input==&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;Guide&lt;/span&gt;.BeginShowKeyboardInput (&lt;span style="color:#2b91af;"&gt;PlayerIndex&lt;/span&gt;.One,&lt;span style="color:#a31515;"&gt;&amp;quot;Enter a string&amp;quot;&lt;/span&gt;,&lt;span style="color:#a31515;"&gt;&amp;quot;Hello world&amp;quot;&lt;/span&gt;,&lt;span style="color:#a31515;"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;,&lt;span style="color:#0000ff;"&gt;delegate&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;IAsyncResult&lt;/span&gt; result) { input = &lt;span style="color:#2b91af;"&gt;Guide&lt;/span&gt;.EndShowKeyboardInput(result); }, &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;);&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#008000;"&gt;// TODO: Add your update logic here&lt;/span&gt;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;base&lt;/span&gt;.Update(gameTime);&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;}&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/p&gt;  &lt;p&gt;The key line (excuse pun) is:&lt;/p&gt;  &lt;p&gt;Guide.BeginShowKeyboardInput (PlayerIndex.One,&amp;quot;Enter a string&amp;quot;,&amp;quot;Hello world&amp;quot;,&amp;quot;.&amp;quot;,delegate(IAsyncResult result) { input = Guide.EndShowKeyboardInput(result); }, null); &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I’m using an anonymous method to implement the callback. This purely puts the result of Guide.EndShowKeyboardInput into the app level public string ‘input’.&lt;/p&gt;  &lt;p&gt;I check for Guide.IsVisible because I am calling the Guide in the Update method for this demo – this gets called every 1/30th of a second. I only collect one input.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2010%2f05%2f10%2fwp7-xna-text-input.aspx&amp;amp;title=WP7+XNA+text+input"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>Shawn Hargreaves Mix graphics demo available</title><link>http://wotudo.net/blogs/wotudo/archive/2010/04/01/shawn-hargreaves-mix-graphics-demo-available.aspx</link><pubDate>Thu, 01 Apr 2010 09:04:51 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:978</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;Shawn gave a superb demonstration of the five effects available in XNA for Windows Phone. He has now published the demo source up on the XNA Creators Club website. &lt;a href="http://bit.ly/aYrUrE"&gt;GO GET IT HERE&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="display:inline;margin-left:0px;margin-right:0px;" alt="" align="left" src="http://creators.xna.com/assets/cms/images/minigame/ReachDemo/reachdemo1.png" width="145" height="240" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://creators.xna.com/assets/cms/images/minigame/ReachDemo/reachdemo2.png" width="143" height="240" /&gt;&lt;img alt="" src="http://creators.xna.com/assets/cms/images/minigame/ReachDemo/reachdemo3.png" width="144" height="240" /&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2010%2f04%2f01%2fshawn-hargreaves-mix-graphics-demo-available.aspx&amp;amp;title=Shawn+Hargreaves+Mix+graphics+demo+available"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>Windows Phone XNA effect demos</title><link>http://wotudo.net/blogs/wotudo/archive/2010/03/29/windows-phone-xna-effect-demos.aspx</link><pubDate>Mon, 29 Mar 2010 15:18:27 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:975</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;I’ve compiled a short video of Shawn Hargreaves’ XNA effect demos from his session at Mix (originally shown at GDC). Enjoy!&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:79b12680-6699-4d59-9ac5-58ee0f6c9904" class="wlWriterSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=O5feG9Bbwgg&amp;amp;hl=en_GB&amp;amp;fs=1&amp;amp;" target="_new"&gt;&lt;img src="http://wotudo.net/blogs/wotudo/video492758e78ed8_6517EA27.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2010%2f03%2f29%2fwindows-phone-xna-effect-demos.aspx&amp;amp;title=Windows+Phone+XNA+effect+demos"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>XNA: Windows Phone 7 Series GPU performance rocks!</title><link>http://wotudo.net/blogs/wotudo/archive/2010/03/29/xna-windows-phone-7-series-gpu-performance-rocks.aspx</link><pubDate>Mon, 29 Mar 2010 08:17:38 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:970</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;For me the best session at Mix 10 was Shawn Hargreave’s CL22 – High Performance 3D Games on Windows Phone 7 Series. Shawn is an XNA demi-god and to see what he can make the new Windows Phone do with XNA is inspiring. The session is packed with technical facts and figures you just don’t find anywhere else, and it really gives you an insight into the power and capability of the Windows Phone 7 Series. For example, did you know that at 800x480 Windows Phone has 25% more pixels to draw then the original Xbox, but having a lot less GPU power you need to take advantage of the built in hardware scaler that enables you to render your games at a lesser resolution – say 600x 340 – then have the scaler fill the screen. The scaling operation is free – because it is part of the hardware pipeline not dependant on the CPU or GPU – so you get full screen games at good frame rates. You do of course relinquish some graphics quality in using this method, but if you don’t need a high frame rate you can render at the full 800x480. Its a trade between performance and graphics quality. But take a look at these device screen shots I captured from session recording – note these are from screen captures on my machine of the video playback of the examples running on a real device but viewed via a visualiser. Yet they still look awesome!&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_008BE2C2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://wotudo.net/blogs/wotudo/image_thumb_7F73A74A.png" width="143" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_219B8D04.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://wotudo.net/blogs/wotudo/image_thumb_04FE4F8A.png" width="137" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_35D0E128.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://wotudo.net/blogs/wotudo/image_thumb_2A678151.png" width="140" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_38E27D76.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://wotudo.net/blogs/wotudo/image_thumb_5BD2A34C.png" width="144" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;XNA on Windows Phone 7 Series has 5 configurable shaders. From left&amp;#160; to right:&lt;/p&gt;  &lt;p&gt;Basic Effect – It provides some simple lighting options, and lets you get going with minimal fuss.&lt;/p&gt;  &lt;p&gt;Dual Textured Effect – Combine two textures to create sophisticated lighting effects very cheaply.&lt;/p&gt;  &lt;p&gt;Alpha Test Effect – Alpha blending on the Windows Phone hardware is free. Use to draw duplicate graphic assets in your 3D world to create the impression of lots of things when really your only having to draw one of them.&lt;/p&gt;  &lt;p&gt;Skinned Effect – Drawing characters that move. Animation occurs entirely on the GPU. &lt;/p&gt;  &lt;p&gt;(Below) Environment Map Effect – Using a texture and a reflective cube map you can great super shiny shiny elements with minimal processing costs. The four pictures show the effect of different parameters to alter the reflection on the object.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_37116608.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_6D1292BD.png" width="144" height="244" /&gt;&lt;/a&gt; &lt;a href="http://wotudo.net/blogs/wotudo/image_554B358A.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_25F8FE59.png" width="144" height="244" /&gt;&lt;/a&gt; &lt;a href="http://wotudo.net/blogs/wotudo/image_4D0397CE.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_45C40FBC.png" width="144" height="244" /&gt;&lt;/a&gt; &lt;a href="http://wotudo.net/blogs/wotudo/image_7AA0EF2C.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://wotudo.net/blogs/wotudo/image_thumb_62C96C2C.png" width="144" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You have to &lt;a href="http://live.visitmix.com/MIX10/Sessions/CL22"&gt;watch the video&lt;/a&gt; from 28:00 to really see these solutions in action, most of them are animated and the assets are originally from XNA on Windows examples – your using the same assets on the phone!!&lt;/p&gt;  &lt;p&gt;Seeing stuff like this just wants to make you start coding on your own game! So go &lt;a href="http://developer.windowsphone.com/"&gt;get the tools&lt;/a&gt; and start now!&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2010%2f03%2f29%2fxna-windows-phone-7-series-gpu-performance-rocks.aspx&amp;amp;title=XNA%3a+Windows+Phone+7+Series+GPU+performance+rocks!"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>XNA: Gaming across many platforms and the cloud</title><link>http://wotudo.net/blogs/wotudo/archive/2010/03/25/xna-gaming-across-many-platforms-and-the-cloud.aspx</link><pubDate>Thu, 25 Mar 2010 11:10:50 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:955</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;I’ve been working with UK XNA MVP &lt;a href="http://xna-uk.net/blogs/randomchaos/archive/2010/03/12/stowaways-a-zuneray-game.aspx"&gt;Charles Humphrey&lt;/a&gt; on project ZuneRay. ZuneRay is a raycasting engine built by Charles’ for the Zune HD using XNA 3.1. With Windows Phone 7 Series in the pipeline we used the Zune HD as a target test platform with the intention of porting it to WP7S once the tools became available. ZuneRay uses a classic approach to delivering a 3D experience without requiring 3D support – at the time we didn’t know if 3D support would be in the Windows Phone 7 Series XNA version – so it was a pleasant surprise to find 3D support in there, and very satisfying to see ZuneRay port to XNA 4.0 and the WP7S really easily.&lt;/p&gt;  &lt;p&gt;Well the tools CTP is now available, so Charles and I have been working away on ZuneRay with excellent results. ZuneRay is an XNA 3.1 with Zune HD extensions project. You get a Windows version ‘for free’, and an Xbox version just required the additional of Gamepad support. Moving ZuneRay to WP7S required upgrading the project to XNA 4.0. There is no ‘wizard’ to do this, the best approach is to create a new XNA 4.0 game and then pull in all your existing code and content. There are some platform specific bits in the generated Game1.CS file that you want to ensure are retained – but coming from the Zune platform originally these already existed.&lt;/p&gt;  &lt;p&gt;There are breaking changes between Xna 3.1 and Xna 4.0 – the main ones for ZuneRay being around storage API, change of screen resolution and the changes in SpriteBatch parameters – but none of these took long to sort out. Shawn Hargreaves pointed out that WP7S running at 800x480 has 25% more pixels to draw than the original Xbox – but less CPU/GPU power to do it. The WP7S has a dedicated hardware scaler which means you can render your game at lower resolutions – like 600x360 56% of pixel data - and have the device scale it to fill the screen. While developing in the emulator this scaling functionality isn’t available, but then as the emulator is just that – not a simulator – your game takes advantage of the underlying PC hardware performance.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/ZuneRay1_0C612A9C.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ZuneRay1" border="0" alt="ZuneRay1" src="http://wotudo.net/blogs/wotudo/ZuneRay1_thumb_1CF9258A.png" width="644" height="329" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Project ZuneRay&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Now I have the game running across Windows, Xbox, Windows Phone 7 Series and Zune HD – I wanted to integrate the cloud. My idea for demonstration purposes was really simple. Capture a camera image, publish it to the cloud and then have ZuneRay games acquire the image and use it in game as a wall texture.&lt;/p&gt;  &lt;p&gt;Storing my image in the cloud is very simple – the image copy to Windows Azure Blob storage just uses the &lt;a href="http://wotudo.net/blogs/wotudo/archive/2010/02/16/copying-files-to-windows-azure-blob-storage.aspx"&gt;code I posted&lt;/a&gt; a while back. To capture the web cam I used a &lt;a href="http://bit.ly/bO3jSI"&gt;WPF application&lt;/a&gt; by Geert van Horrik – all I had to add was the resizing of the image to fit with the game requirements before sending it to Azure blob storage.&lt;/p&gt;  &lt;p&gt;To retrieve the image from the blob store proved to be the tricky part. Although XNA is hugely consistent across the platforms the networking support varies enormously. The Zune has no programmatic network support. The Xbox only has networking to the Xbox&amp;#160; Live services. Windows Phone 7 Series has a good sprinkling of support in various areas and Windows of course has the lot.&lt;/p&gt;  &lt;p&gt;Looking at Windows Phone I was able to use the following code to simple make a webrequest using a known URL to the current image file.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7e6ca61e-f977-4d8a-9155-f62392523f76" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2.5em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; GetTextureFromAzure()&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;{&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;HttpWebRequest&lt;/span&gt; request;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;HttpWebResponse&lt;/span&gt; response = &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;request = (&lt;span style="color:#2b91af;"&gt;HttpWebRequest&lt;/span&gt;)&lt;span style="color:#2b91af;"&gt;WebRequest&lt;/span&gt;.Create(&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Uri&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;@&amp;quot;https://xxxx.blob.core.windows.net/publicfiles/dynamic.png&amp;quot;&lt;/span&gt;));&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response = (&lt;span style="color:#2b91af;"&gt;HttpWebResponse&lt;/span&gt;)request.BeginGetResponse(&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;AsyncCallback&lt;/span&gt;(RespCallback), request);&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; { }&lt;/li&gt; &lt;li&gt;}&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The callback function then uses Texture2D.FromStream to create a new texture from the response stream.&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:a0c518d1-d501-4192-8fd6-b749f1edbf73" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2.5em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; RespCallback(&lt;span style="color:#2b91af;"&gt;IAsyncResult&lt;/span&gt; asynchronousResult)&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;{&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;HttpWebRequest&lt;/span&gt; myRequestState = (&lt;span style="color:#2b91af;"&gt;HttpWebRequest&lt;/span&gt;)asynchronousResult.AsyncState;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;HttpWebResponse&lt;/span&gt; response = (&lt;span style="color:#2b91af;"&gt;HttpWebResponse&lt;/span&gt;)myRequestState.EndGetResponse(asynchronousResult);&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#2b91af;"&gt;Stream&lt;/span&gt; s = response.GetResponseStream();&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;map.Textures[5] = &lt;span style="color:#2b91af;"&gt;Texture2D&lt;/span&gt;.FromStream(GraphicsDevice, s);&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s.Close();&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.Close();&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (System.Net.&lt;span style="color:#2b91af;"&gt;WebException&lt;/span&gt;)&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#008000;"&gt;//if (response != null)&lt;/span&gt;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#008000;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.Close();&lt;/span&gt;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;}&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/p&gt;  &lt;p&gt;The maps.texture array contains the textures presented as walls and objects in the game. By directly replacing the texture[5] only certain walls in the game levels present the web cam image, as can be seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/ZuneRay2_351C8FE5.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="ZuneRay2" border="0" alt="ZuneRay2" src="http://wotudo.net/blogs/wotudo/ZuneRay2_thumb_08FF92F4.png" width="644" height="330" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I use a count down timer to poll for a new image every minute for the purposes of this demo. I want to upgrade this poll mechanism with a push notification using the new Push Notification service for WP7S. In this way, the web cam application will be able to publish an image and then notify WP7S phones running the game of a new game texture. The games can then go and retrieve the image based on user preference for data service usage.&lt;/p&gt;  &lt;p&gt;Charles and I intend to share more of Project ZuneRay’s code shortly.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2010%2f03%2f25%2fxna-gaming-across-many-platforms-and-the-cloud.aspx&amp;amp;title=XNA%3a+Gaming+across+many+platforms+and+the+cloud"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>MIX: Multi-screen gaming with Windows Phone Developer tools preview</title><link>http://wotudo.net/blogs/wotudo/archive/2010/03/15/mix-multi-screen-gaming-with-windows-phone-developer-tools-preview.aspx</link><pubDate>Mon, 15 Mar 2010 16:56:07 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:932</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;&lt;a href="http://wotudo.net/blogs/wotudo/image_50E795D8.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://wotudo.net/blogs/wotudo/image_thumb_689ECD3E.png" width="127" height="244" /&gt;&lt;/a&gt; Using XNA Games Studio 3.x you could build a game that would run across Windows, Xbox and Zune. Now, unless you travelled to America or lived there you were unlikely to have a Zune or Zune HD. But now with Windows Phone 7 Series we have the promise of a device far more available for our mobile gaming.&lt;/p&gt;  &lt;p&gt;With the release at Mix of the Windows Phone Developer Tools preview we now have XNA Games Studio 4.0 support in Visual Studio 2010 and the ability to build games for Windows, Xbox 360 and Windows Phone!&lt;/p&gt;  &lt;p&gt;So lets look at moving the XNA 3.x Platformer starter kit to XNA 4.0 so we can run it on our Windows Phone emulator.&lt;/p&gt;  &lt;p&gt;The easiest way to do this is to create a new Platformer game using the starter kit under XNA 3.x. Then to port it to XNA 4.0 in VS2010, you need to create a new XNA 4.0 game in VS2010 and then add to this the code and content files from your platformer XNA 3.x game.&lt;/p&gt;  &lt;p&gt;With the Zune version of the platformer game you had to have special low resolution graphics, but with Windows Phone I was able to have a playable game using the same graphics assets as the Windows and Xbox versions! The Windows Phone resolution of 800 x 480 really makes a difference.&lt;/p&gt;  &lt;p&gt;Having moved the code other there a only a small number of changes required to get the game running on Windows Phone. This is due to the changes in the XNA 4.0 API, some specific to Windows Phone support.&lt;/p&gt;  &lt;p&gt;First I had to change the screen size and target frame rate code:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:4983ae6d-f0ef-4fbe-9f8e-17a7a0f4a573" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; TargetFrameRate = 30;&lt;/li&gt; &lt;li style="background:#f3f3f3;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; BackBufferWidth = 480;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;const&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; BackBufferHeight = 800;&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Because the screen resolution had changed there are some hardcoded screen offset values in Level.cs file that need altering to fit the new screen dimensions:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e70f65f2-92ef-4fde-9cde-b637a43d27ca" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt; &lt;span style="color:#2b91af;"&gt;Vector2&lt;/span&gt; screenOffset = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Vector2&lt;/span&gt;(0, -60);&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;A value of –60 worked for ok.&lt;/p&gt;  &lt;p&gt;Then to access the file system where the text file level definitions are stored I had to change the code to use a TitleContainer instead of the StorageContainer:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:07ab9d7e-69bd-42bf-9946-ecaafb7c3569" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt;&lt;span style="color:#2b91af;"&gt;Stream&lt;/span&gt; fs = &lt;span style="color:#2b91af;"&gt;TitleContainer&lt;/span&gt;.OpenStream(&lt;span style="color:#a31515;"&gt;&amp;quot;Content/&amp;quot;&lt;/span&gt; + levelPath);&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The final change for the default game was the ability to play the sound effects. When I added the sound files to the content project, the sound effects where loaded with a content processor of Song, not soundeffect. Once I’d corrected this, the game compiled and ran.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I ported my enhanced ZuneHD platformer game which made use of Nick Gravelyn’s ZuenLib to give me landscape orientation and touch screen support. I also use the accelerators in the ZuneHD to move the player from left to right (a touch of the screen causing jump).&lt;/p&gt;  &lt;p&gt;In the Windows Phone Developer Tools preview the emulator doesn’t project a route to emulate accelerometers, although the touch screen should work if you have a touch screen pc with Windows 7!&lt;/p&gt;  &lt;p&gt;To make the accelerometer code to compile I just had to change the references to include:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:8bf54a56-1677-4a0e-ae77-14e0c166a3d4" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Devices.Sensors;&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;And then change the data type for the accelerometer data to AccelerometerReading. Not having a device yet I haven’t been able to test the code.&lt;/p&gt;  &lt;p&gt;To make the touch screen functionality compile and work under mouse emulation in the emulator I just had to change the references to:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:980686a5-bb2c-44a6-b52a-36690c7559e1" class="wlWriterSmartContent"&gt; &lt;div style="border:#000080 1px solid;color:#000;font-family:&amp;#39;Courier New&amp;#39;, Courier, Monospace;font-size:10pt;"&gt; &lt;div style="background:#ddd;max-height:500px;overflow:auto;"&gt; &lt;ol style="background:#ffffff;margin:0 0 0 2em;padding:0 0 0 5px;white-space:nowrap;" /&gt; &lt;li&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Microsoft.Xna.Framework.Input.Touch;&lt;/li&gt;  &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Now the platformer game compiles and plays on the Windows Phone emulator. The source to this point is &lt;a href="http://bit.ly/bgbb1t"&gt;here&lt;/a&gt;. Although it is still not optimised for the Windows Phone platform screen dimensions because the level definitions are a lot wider than the screen and the basic platformer game does not include horizontal scrolling. This, as well as additional pick ups and vertical scrolling, is something I implemented in my Enhanced Platformer game.&lt;/p&gt;  &lt;p&gt;And is next on my blogging to-do list.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:right;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2fwotudo.net%2fblogs%2fwotudo%2farchive%2f2010%2f03%2f15%2fmix-multi-screen-gaming-with-windows-phone-developer-tools-preview.aspx&amp;amp;title=MIX%3a+Multi-screen+gaming+with+Windows+Phone+Developer+tools+preview"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>XNA Platformer Starter Kit ported to the Windows Phone</title><link>http://wotudo.net/files/folders/how2/entry931.aspx</link><pubDate>Mon, 15 Mar 2010 16:05:57 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:931</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;The XNA Platformer Starter Kit ported very simply to the Windows Phone platform.&lt;/p&gt;</description></item><item><title>3D Space game for Windows Phone</title><link>http://wotudo.net/files/folders/how2/entry930.aspx</link><pubDate>Mon, 15 Mar 2010 16:04:03 GMT</pubDate><guid isPermaLink="false">2f2f3f54-a0d5-494d-ad23-22a6d9c85854:930</guid><dc:creator>paulfo</dc:creator><description>&lt;p&gt;A simple port of the XNA 3D Space game tutorial for the Windows Phone platform.&lt;/p&gt;</description></item></channel></rss>