<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8050040038124630758</id><updated>2012-01-22T18:05:37.906Z</updated><category term='Description'/><category term='Performance tweaking'/><category term='Visual Studio'/><category term='currentState'/><category term='XSD'/><category term='A-Star'/><category term='Download'/><category term='characters'/><category term='Game'/><category term='Counter'/><category term='Amazon'/><category term='HiDef'/><category term='MAPS'/><category term='2D Text'/><category term='2D vs 3D'/><category term='AP'/><category term='windows phone 7'/><category term='Save Level'/><category term='NagMe'/><category term='string value'/><category term='c#'/><category term='Code'/><category term='Efilnukefesin'/><category term='MenuSystem'/><category term='Graphics'/><category term='Back button'/><category term='torrent'/><category term='sketchpad'/><category term='Load Level'/><category term='panoramic'/><category term='xbox'/><category term='Helper Class'/><category term='Video'/><category term='Movement'/><category term='Movement Grid'/><category term='Screenshot'/><category term='Sneak peak'/><category term='RenderTarget2D'/><category term='A*'/><category term='MP'/><category term='foreach'/><category term='TRPG'/><category term='Unit Test'/><category term='Input'/><category term='Site Update'/><category term='safe cracker'/><category term='Teams'/><category term='No Lives'/><category term='NoData'/><category term='DrawIndexedPrimitives'/><category term='Outside of USA'/><category term='Static'/><category term='Screen Position'/><category term='SDK'/><category term='isometric'/><category term='Map'/><category term='TileBased Engine'/><category term='Facing Direction'/><category term='Viewport.Project'/><category term='MapData'/><category term='Firefox'/><category term='purchase'/><category term='UIHelper'/><category term='Clock'/><category term='flickr'/><category term='Wrong'/><category term='Graphics Card'/><category term='GPS'/><category term='Delegation'/><category term='design'/><category term='HUD'/><category term='xbox dashboard'/><category term='View Grid'/><category term='Free'/><category term='Advanced Game State Management'/><category term='InputHelper'/><category term='subversion'/><category term='Gamestate management'/><category term='XNA Unleashed'/><category term='Re-usable Game Components V1.0'/><category term='GSM'/><category term='Attack Grid'/><category term='support'/><category term='shuttle'/><category term='eVade'/><category term='Wishlist'/><category term='GPS Postion changed'/><category term='360'/><category term='Review'/><category term='Tatics'/><category term='headless server'/><category term='contributors'/><category term='Score'/><category term='Comments'/><category term='Health bar'/><category term='photos'/><category term='ViewMap'/><category term='XNA'/><category term='Addons'/><category term='safecracker'/><category term='Sales'/><category term='tortoisesvn'/><category term='Direct3D'/><category term='Stats'/><category term='SgtPunishment'/><category term='Ratings'/><category term='HP-Bar'/><category term='spell check'/><category term='Levels'/><category term='source control'/><category term='rtorrent'/><category term='Money'/><category term='Downloads'/><category term='Book'/><category term='ActionMenu'/><category term='Animations'/><category term='Project X'/><category term='TODO'/><category term='Inheritance'/><category term='Menu'/><category term='Selector'/><category term='HP'/><category term='enum'/><category term='Joke'/><category term='Advert'/><category term='11'/><category term='Kinect'/><category term='Scroll'/><category term='Re-usable Game Components'/><category term='Video Review'/><category term='WP7'/><category term='ssh'/><category term='SRPG'/><category term='Gamestate'/><category term='Source Code'/><category term='Action'/><category term='Walk7'/><category term='A* pathfinding'/><category term='Reflection'/><category term='XMl Level'/><category term='Timer'/><category term='submitted'/><category term='Reminder'/><category term='messagebox'/><category term='playtest'/><category term='pathfinding'/><category term='premium'/><category term='Game Screens'/><category term='Bitmaps'/><category term='DrawUserIndexedPrimitives'/><category term='Silverlight'/><category term='MiniMap'/><category term='Books'/><title type='text'>XNA Turn Based Game Engine</title><subtitle type='html'>A turn based battle game engine.
Http://blog.neilreed.co.uk</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default?start-index=101&amp;max-results=100'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>146</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8452654174291956047</id><published>2012-01-22T18:05:00.000Z</published><updated>2012-01-22T18:05:37.914Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='11'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>New free wp7 game</title><content type='html'>I have just submitted my next WP7 game called 11.&lt;br /&gt;&lt;br /&gt;Its a number game where you have to make the computer end on 11.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-G1fKF0YRS1A/TxxP3oJntXI/AAAAAAAAAKE/4F1UTXMrkN8/s1600/screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-G1fKF0YRS1A/TxxP3oJntXI/AAAAAAAAAKE/4F1UTXMrkN8/s640/screenshot.png" width="384" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8452654174291956047?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8452654174291956047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8452654174291956047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8452654174291956047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8452654174291956047'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2012/01/new-free-wp7-game.html' title='New free wp7 game'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-G1fKF0YRS1A/TxxP3oJntXI/AAAAAAAAAKE/4F1UTXMrkN8/s72-c/screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2055920713091446747</id><published>2011-12-22T20:35:00.000Z</published><updated>2011-12-22T20:35:34.473Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='safecracker'/><category scheme='http://www.blogger.com/atom/ns#' term='safe cracker'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Safecracker</title><content type='html'>Safe cracker has had 520 downloads in its first 3 days.&lt;br /&gt;&lt;br /&gt;That makes it my most sucesful app to date.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-50G6scFUUiM/TvOUgI3JHAI/AAAAAAAAAJ8/ClDIT6rqL7w/s1600/screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-50G6scFUUiM/TvOUgI3JHAI/AAAAAAAAAJ8/ClDIT6rqL7w/s320/screenshot.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Link for download: &lt;a href="http://www.windowsphone.com/en-US/apps/b13f774d-da4f-4cb8-accd-35ae8d80d1ea"&gt;http://www.windowsphone.com/en-US/apps/b13f774d-da4f-4cb8-accd-35ae8d80d1ea&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2055920713091446747?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2055920713091446747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2055920713091446747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2055920713091446747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2055920713091446747'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/12/safecracker.html' title='Safecracker'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-50G6scFUUiM/TvOUgI3JHAI/AAAAAAAAAJ8/ClDIT6rqL7w/s72-c/screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-456039916252900709</id><published>2011-12-22T20:28:00.000Z</published><updated>2011-12-22T20:28:47.482Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows phone 7'/><category scheme='http://www.blogger.com/atom/ns#' term='sketchpad'/><title type='text'>Had chance to use the sketchpad</title><content type='html'>I have had chance to use the sketchpad for my new project.&lt;br /&gt;&lt;br /&gt;The overall conclusion is....&lt;br /&gt;&lt;br /&gt;... why didn't I have one sooner.&lt;br /&gt;&lt;br /&gt;Its help me get my thoughts to paper, work through code logic, and spot potential flaws.&lt;br /&gt;&lt;br /&gt;Whats more I can now use the designs for a project plan rather than "winging it".&lt;br /&gt;&lt;br /&gt;Here are some photos of it in use:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Zy44J_Eg-cM/TvOSIue0ItI/AAAAAAAAAJo/KLS-QUoevVE/s1600/SAM_2086.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-Zy44J_Eg-cM/TvOSIue0ItI/AAAAAAAAAJo/KLS-QUoevVE/s400/SAM_2086.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_HNPsXxRHUo/TvOSPS0GHRI/AAAAAAAAAJw/ZwPED5HKjG8/s1600/SAM_2087.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-_HNPsXxRHUo/TvOSPS0GHRI/AAAAAAAAAJw/ZwPED5HKjG8/s400/SAM_2087.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-456039916252900709?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/456039916252900709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=456039916252900709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/456039916252900709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/456039916252900709'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/12/had-chance-to-use-sketchpad.html' title='Had chance to use the sketchpad'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Zy44J_Eg-cM/TvOSIue0ItI/AAAAAAAAAJo/KLS-QUoevVE/s72-c/SAM_2086.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2731403101619672414</id><published>2011-12-17T15:17:00.001Z</published><updated>2011-12-22T20:30:32.584Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows phone 7'/><category scheme='http://www.blogger.com/atom/ns#' term='sketchpad'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Windows Phone 7 Sketchpad</title><content type='html'>Microsoft recently asked me to trial the new WP7 sketchpad.&lt;br /&gt;&lt;br /&gt;The pad has been designed as a means of encouraging developers to think about the UI of there apps.&lt;br /&gt;&lt;br /&gt;I haven't had chance to use it yet, but will update this post as soon as I do.&lt;br /&gt;&lt;br /&gt;The item has arrived and&amp;nbsp;I thought I would share&amp;nbsp;some photos.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_kNjRPUona4/Tuywntz-jbI/AAAAAAAAAIs/yeRMxDNEox8/s1600/SAM_2078.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-_kNjRPUona4/Tuywntz-jbI/AAAAAAAAAIs/yeRMxDNEox8/s640/SAM_2078.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UkSLhBeYwMs/TuyxCaJfXyI/AAAAAAAAAI0/QheYkqp5p5o/s1600/SAM_2079.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-UkSLhBeYwMs/TuyxCaJfXyI/AAAAAAAAAI0/QheYkqp5p5o/s400/SAM_2079.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-DzWftvjS-Kg/TuyxJZZ4jVI/AAAAAAAAAI8/nyDDcrhj2xQ/s1600/SAM_2080.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-DzWftvjS-Kg/TuyxJZZ4jVI/AAAAAAAAAI8/nyDDcrhj2xQ/s400/SAM_2080.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RGtSJpOBScM/TuyxQncnFHI/AAAAAAAAAJE/THePxwQ4ywg/s1600/SAM_2081.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-RGtSJpOBScM/TuyxQncnFHI/AAAAAAAAAJE/THePxwQ4ywg/s400/SAM_2081.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zYYoj-3K2qw/TuyxXeGOQdI/AAAAAAAAAJM/MFnplqEBCNQ/s1600/SAM_2082.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-zYYoj-3K2qw/TuyxXeGOQdI/AAAAAAAAAJM/MFnplqEBCNQ/s400/SAM_2082.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-79m3ngbbIxk/TuyxeqJVAuI/AAAAAAAAAJU/tv0tpZZXrAE/s1600/SAM_2083.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-79m3ngbbIxk/TuyxeqJVAuI/AAAAAAAAAJU/tv0tpZZXrAE/s640/SAM_2083.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-glvwgW488Q8/Tuyxl0sqJnI/AAAAAAAAAJc/-hHlBJKRXXQ/s1600/SAM_2085.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/-glvwgW488Q8/Tuyxl0sqJnI/AAAAAAAAAJc/-hHlBJKRXXQ/s640/SAM_2085.JPG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2731403101619672414?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2731403101619672414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2731403101619672414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2731403101619672414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2731403101619672414'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/12/windows-phone-7-sketchpad.html' title='Windows Phone 7 Sketchpad'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-_kNjRPUona4/Tuywntz-jbI/AAAAAAAAAIs/yeRMxDNEox8/s72-c/SAM_2078.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7968290176958428793</id><published>2011-12-07T07:43:00.001Z</published><updated>2011-12-07T07:43:59.317Z</updated><title type='text'>Xbox dashboard released</title><content type='html'>    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;The new dashboard has been released :)    &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7968290176958428793?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7968290176958428793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7968290176958428793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7968290176958428793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7968290176958428793'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/12/xbox-dashboard-released.html' title='Xbox dashboard released'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5404665532291061876</id><published>2011-12-06T20:26:00.000Z</published><updated>2011-12-06T20:26:35.921Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='xbox dashboard'/><title type='text'>xbox dashboard</title><content type='html'>Looks like the new 360 dashboard has been delayed :(&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/#!/majornelson"&gt;http://twitter.com/#!/majornelson&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5404665532291061876?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5404665532291061876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5404665532291061876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5404665532291061876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5404665532291061876'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/12/xbox-dashboard.html' title='xbox dashboard'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7501401778444556155</id><published>2011-11-23T20:39:00.000Z</published><updated>2011-11-23T20:39:03.374Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='NagMe'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='Reminder'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>NagMe</title><content type='html'>I&amp;nbsp;have created a new free Windows 7 application called NagMe.&lt;br /&gt;&lt;br /&gt;It allows&amp;nbsp;you to easily set a repeat reminder between a start and end time at intervals of 1 - 60 minutes.&lt;br /&gt;&lt;br /&gt;Download link: &lt;a href="https://www.windowsphone.com/en-US/apps/bdfccd3a-8674-4d4f-bd5e-78694b86a998/ValidatePurchase/aa923ed8-9b34-427e-98aa-388661b9ee4d?appType=Regular&amp;amp;purchaseFlowStart=App"&gt;https://www.windowsphone.com/en-US/apps/bdfccd3a-8674-4d4f-bd5e-78694b86a998/ValidatePurchase/aa923ed8-9b34-427e-98aa-388661b9ee4d?appType=Regular&amp;amp;purchaseFlowStart=App&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Screenshot:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ZTfAgaVzAtc/Ts1ZbPJPgAI/AAAAAAAAAIk/DzRVTNIJaac/s1600/nagmescreenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-ZTfAgaVzAtc/Ts1ZbPJPgAI/AAAAAAAAAIk/DzRVTNIJaac/s400/nagmescreenshot.png" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7501401778444556155?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7501401778444556155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7501401778444556155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7501401778444556155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7501401778444556155'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/11/nagme.html' title='NagMe'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-ZTfAgaVzAtc/Ts1ZbPJPgAI/AAAAAAAAAIk/DzRVTNIJaac/s72-c/nagmescreenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3383994168244477328</id><published>2011-09-08T21:32:00.001+01:00</published><updated>2011-09-08T21:33:32.133+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='support'/><category scheme='http://www.blogger.com/atom/ns#' term='photos'/><category scheme='http://www.blogger.com/atom/ns#' term='purchase'/><title type='text'>You can buy my photos</title><content type='html'>If you wish to support me you can now purchase my photos from:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.photoboxgallery.com/3047671"&gt; http://www.photoboxgallery.com/3047671&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That or my amazon wish list :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3383994168244477328?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3383994168244477328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3383994168244477328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3383994168244477328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3383994168244477328'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/09/you-can-buy-my-photos.html' title='You can buy my photos'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4423558978501922619</id><published>2011-07-23T07:31:00.000+01:00</published><updated>2011-07-23T07:31:16.192+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='View Grid'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><title type='text'>View Grid</title><content type='html'>Updated the game to use a view grid based on the direction the player is facing. It is no longer a straight line.&lt;br /&gt;&lt;br /&gt;Need to work out view rules to stop you seeing through walls etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/mJUx_vy8g_A?hl=en&amp;amp;fs=1" width="425"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4423558978501922619?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4423558978501922619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4423558978501922619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4423558978501922619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4423558978501922619'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/07/view-grid.html' title='View Grid'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/mJUx_vy8g_A/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-539291426796718073</id><published>2011-07-14T22:05:00.000+01:00</published><updated>2011-07-14T22:05:13.181+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Movement Grid'/><category scheme='http://www.blogger.com/atom/ns#' term='Attack Grid'/><title type='text'>Movement and Attack grids</title><content type='html'>Only a very small update.&lt;br /&gt;&lt;br /&gt;I have managed to refactor my code so that a character now only has one list called ActionGrid.&lt;br /&gt;&lt;br /&gt;The purpose of the grid is to provide the data of squares that should be rendered for a given action.&lt;br /&gt;&lt;br /&gt;The engine there has a variable of an enum for the current action type (Move or Attack at the moment).&lt;br /&gt;&lt;br /&gt;By using the enum I'm able to then decide what colour to render the grid (red for attack, yellow for move).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-EiWK1Se3SCI/Th9Z7Y_2yzI/AAAAAAAAAIY/fkHQyCKY0us/s1600/Grids.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="http://2.bp.blogspot.com/-EiWK1Se3SCI/Th9Z7Y_2yzI/AAAAAAAAAIY/fkHQyCKY0us/s640/Grids.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-539291426796718073?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/539291426796718073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=539291426796718073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/539291426796718073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/539291426796718073'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/07/movement-and-attack-grids_14.html' title='Movement and Attack grids'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-EiWK1Se3SCI/Th9Z7Y_2yzI/AAAAAAAAAIY/fkHQyCKY0us/s72-c/Grids.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7718873352234311829</id><published>2011-07-10T17:19:00.000+01:00</published><updated>2011-07-10T17:19:16.755+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tortoisesvn'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='source control'/><title type='text'>Version Control</title><content type='html'>I have finaly gotten around to setting up some version control at home.&lt;br /&gt;&lt;br /&gt;I have opted for &lt;a href="https://help.ubuntu.com/8.04/serverguide/C/subversion.html"&gt;subversion &lt;/a&gt;on my ubuntu shuttle (486 with 256 megs of Ram and 1tb external drive).&lt;br /&gt;&lt;br /&gt;This was very easy to setup and best of all free :)&lt;br /&gt;&lt;br /&gt;For the windows client I have opted for the good old &lt;a href="http://tortoisesvn.tigris.org/"&gt;tortoisesvn&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I can now code without the fear of loosing my code or the hassle of having to backup to a different source :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7718873352234311829?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7718873352234311829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7718873352234311829' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7718873352234311829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7718873352234311829'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/07/version-control.html' title='Version Control'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4048493745838220642</id><published>2011-07-08T09:49:00.000+01:00</published><updated>2011-07-08T09:49:30.491+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='isometric'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Movement Grid'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><category scheme='http://www.blogger.com/atom/ns#' term='Attack Grid'/><category scheme='http://www.blogger.com/atom/ns#' term='Movement'/><title type='text'>Movement and Attack grids</title><content type='html'>Project X has been updated to have attack and movement grids.&lt;br /&gt;&lt;br /&gt;Validation needs to take place if something is known to be in the way when attacking.&lt;br /&gt;&lt;br /&gt;I will try and use the same technique for view meaning the sight is no longer straight line :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/u8S8n0FT4P8?hl=en&amp;amp;fs=1" width="425"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4048493745838220642?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4048493745838220642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4048493745838220642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4048493745838220642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4048493745838220642'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/07/movement-and-attack-grids.html' title='Movement and Attack grids'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/u8S8n0FT4P8/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-557155760864774337</id><published>2011-07-06T11:52:00.001+01:00</published><updated>2011-07-06T12:23:08.991+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='isometric'/><category scheme='http://www.blogger.com/atom/ns#' term='Animations'/><title type='text'>Creating Isometric Animations</title><content type='html'>I'm at the stage of the game where I would like to start using character animations.&lt;br /&gt;&lt;br /&gt;Usually this would be a simple case of a spritesheet, but the workload vastly increases as I want isometric graphics / animations.&lt;br /&gt;&lt;br /&gt;This means generating the animation 4x for each direction :(&lt;br /&gt;&lt;br /&gt;Thankfully there would appear to be a simpler way, if I used 3D models and render out the animations to a sprite sheet the workload could be reduced.&lt;br /&gt;&lt;br /&gt;I believe this is common practice in many games such as diablo etc.&lt;br /&gt;&lt;br /&gt;I therefore need to review some 3D software and the export process.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mixamo.com/"&gt;Mixamo &lt;/a&gt;a website that allows you to use prebuilt 3D models and animate them using prebuilt poses.&lt;br /&gt;Not very cheap!&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;a href="http://www.daz3d.com/"&gt;Daz3D&lt;/a&gt; free software that allows you to animate and customermie characters on your PC. You download additional features at a cost such as outfits, props etc&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blender.org/"&gt;Blender3D&lt;/a&gt; free but very time comsuming, not for beginners&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://opengameart.org/"&gt;OpenGameArt&lt;/a&gt; free but limited to the models and animations provided by the users&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;First on the list is &lt;a href="http://www.daz3d.com/"&gt;Daz3D&lt;/a&gt;, the software is free but you need to purchase objects such as clothes, hair, animations etc.&lt;br /&gt;&lt;br /&gt;Once I have had chance to experiment with it I will post up a better review.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-557155760864774337?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/557155760864774337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=557155760864774337' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/557155760864774337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/557155760864774337'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/07/creating-isometric-animations.html' title='Creating Isometric Animations'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8139709413804879534</id><published>2011-07-02T09:59:00.000+01:00</published><updated>2011-07-02T09:59:55.415+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Addons'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Visual Studio Must have addon ons</title><content type='html'>Just thought I would share some Free addons that help me code my games in visual studio:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Style cop, ensures that your code conforms to set rules&lt;br /&gt;&lt;a href="http://stylecop.codeplex.com/"&gt;http://stylecop.codeplex.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Spell check! I'm a terrible speller so this tool really helps me:&lt;br /&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/7c8341f1-ebac-40c8-92c2-476db8d523ce"&gt;http://visualstudiogallery.msdn.microsoft.com/7c8341f1-ebac-40c8-92c2-476db8d523ce&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8139709413804879534?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8139709413804879534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8139709413804879534' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8139709413804879534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8139709413804879534'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/07/visual-studio-must-have-addon-ons.html' title='Visual Studio Must have addon ons'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8421383007893173410</id><published>2011-06-28T22:25:00.000+01:00</published><updated>2011-06-28T22:25:00.643+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='isometric'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Facing Direction'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><category scheme='http://www.blogger.com/atom/ns#' term='Movement'/><title type='text'>Project X facing direction</title><content type='html'>The isometric engine is now able to support the character changing direction without moving.&lt;br /&gt;&lt;br /&gt;Not sure if changing direction should be action points or movement points?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Video:&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WE06v9o15qs?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WE06v9o15qs?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8421383007893173410?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8421383007893173410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8421383007893173410' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8421383007893173410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8421383007893173410'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/project-x-facing-direction.html' title='Project X facing direction'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-9161494991427866504</id><published>2011-06-24T09:02:00.000+01:00</published><updated>2011-06-24T09:02:42.757+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Project X on WP7</title><content type='html'>A quick sneak peak of the game running on wp7. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DZzETrQU_T8/TgRD773F3qI/AAAAAAAAAIQ/Pj3Leun6MSo/s1600/Capture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="340" src="http://3.bp.blogspot.com/-DZzETrQU_T8/TgRD773F3qI/AAAAAAAAAIQ/Pj3Leun6MSo/s640/Capture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have tested the game engine and create a simple Wp7 XNA front end that passes in the user input.&lt;br /&gt;&lt;br /&gt;This was easier than I suspected, all I had to do is detect where the user is clicking on the screen, check if it falls in the bounds of a button and that the last state was released.&lt;br /&gt;&lt;br /&gt;For those of you that&amp;nbsp; maybe intrested&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--TYTQO4c16U/TgREkASGwwI/AAAAAAAAAIU/TRtN0LX4KY8/s1600/Code.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="448" src="http://3.bp.blogspot.com/--TYTQO4c16U/TgREkASGwwI/AAAAAAAAAIU/TRtN0LX4KY8/s640/Code.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DZzETrQU_T8/TgRD773F3qI/AAAAAAAAAIQ/Pj3Leun6MSo/s1600/Capture.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-9161494991427866504?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/9161494991427866504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=9161494991427866504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/9161494991427866504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/9161494991427866504'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/project-x-on-wp7.html' title='Project X on WP7'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-DZzETrQU_T8/TgRD773F3qI/AAAAAAAAAIQ/Pj3Leun6MSo/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3921189279350634955</id><published>2011-06-23T14:07:00.000+01:00</published><updated>2011-06-23T14:07:17.105+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ViewMap'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='MiniMap'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><title type='text'>Mini Map</title><content type='html'>I have got a mini map system working off the Squads cached view map.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kzP0QosR9YQ?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/kzP0QosR9YQ?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3921189279350634955?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3921189279350634955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3921189279350634955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3921189279350634955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3921189279350634955'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/mini-map.html' title='Mini Map'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3167977131993990801</id><published>2011-06-15T12:23:00.002+01:00</published><updated>2011-06-15T12:23:32.010+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Map'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><category scheme='http://www.blogger.com/atom/ns#' term='Scroll'/><title type='text'>Project X Scrollable Map</title><content type='html'>The game now support scrollable map based on the selected characters position&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/llG8uk_mfbE?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/llG8uk_mfbE?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3167977131993990801?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3167977131993990801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3167977131993990801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3167977131993990801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3167977131993990801'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/project-x-scrollable-map.html' title='Project X Scrollable Map'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-9057577825118369055</id><published>2011-06-14T23:19:00.002+01:00</published><updated>2011-06-15T08:34:15.236+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Movement Grid'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Project X Movement grid</title><content type='html'>I have got the movement grid calculating on the fly from the current MP of the selected character.&lt;br /&gt;&lt;br /&gt;In order to do this I had to work out a simple function, to calculate what cells should be rendered.&lt;br /&gt;&lt;br /&gt;I wanted the grid to be centered on the characters position therefore I knew I would have to negativly and positively from the orgin.&lt;br /&gt;&lt;br /&gt;For this example lets take it that the character is at 10,10 and the movement points were 3.&lt;br /&gt;&lt;br /&gt;Using a foreach loop you can easily iterate through and create a grid.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5rh1MeLykQ8/Tfhbl0NWPTI/AAAAAAAAAII/0iuA-j2NnoY/s1600/loop.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-5rh1MeLykQ8/Tfhbl0NWPTI/AAAAAAAAAII/0iuA-j2NnoY/s1600/loop.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Now that the loop has been created you need a way of checking that the distance is within range.&lt;br /&gt;&lt;br /&gt;The image below shows x + y cell values when the - and + are dropped.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QHaMSviAoJo/TfhX2N-858I/AAAAAAAAAIA/zIYsrxzMFLE/s1600/movementgrid.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-QHaMSviAoJo/TfhX2N-858I/AAAAAAAAAIA/zIYsrxzMFLE/s1600/movementgrid.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;In c# there is a built in function called ABS (Math.Abs) that allows you to get the absolute value from a number allowing -3 to be the same as +3.&lt;br /&gt;&lt;br /&gt;This allows for the following loop:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vngaUoPKr-w/TfhbG9VQHsI/AAAAAAAAAIE/ft1vc5gXx8Y/s1600/foreach.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-vngaUoPKr-w/TfhbG9VQHsI/AAAAAAAAAIE/ft1vc5gXx8Y/s1600/foreach.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here is the working code from my game:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Syg61mMFxoo/TfhgYcjdgyI/AAAAAAAAAIM/gy0Qn8lrhWA/s1600/workingLoop.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Syg61mMFxoo/TfhgYcjdgyI/AAAAAAAAAIM/gy0Qn8lrhWA/s1600/workingLoop.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a video of it working. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AuACtkjT1ME?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/AuACtkjT1ME?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-9057577825118369055?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/9057577825118369055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=9057577825118369055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/9057577825118369055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/9057577825118369055'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/project-x-movement-grid.html' title='Project X Movement grid'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5rh1MeLykQ8/Tfhbl0NWPTI/AAAAAAAAAII/0iuA-j2NnoY/s72-c/loop.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8397634309003765162</id><published>2011-06-14T12:01:00.002+01:00</published><updated>2011-06-14T12:01:42.272+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Teams'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Project X Team selection and movement</title><content type='html'>I have updated the engine to support team members and selection.&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hRhxInSCS4U?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hRhxInSCS4U?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8397634309003765162?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8397634309003765162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8397634309003765162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8397634309003765162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8397634309003765162'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/project-x-team-selection-and-movement.html' title='Project X Team selection and movement'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6534159823947971695</id><published>2011-06-13T09:07:00.000+01:00</published><updated>2011-06-13T09:07:16.411+01:00</updated><title type='text'>Project X Isometric Wall test</title><content type='html'>I have now got wall colison detection and rendering working.&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ip3uDY3oO9I?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ip3uDY3oO9I?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6534159823947971695?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6534159823947971695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6534159823947971695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6534159823947971695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6534159823947971695'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/project-x-isometric-wall-test.html' title='Project X Isometric Wall test'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8873622148869801257</id><published>2011-06-10T08:44:00.001+01:00</published><updated>2011-06-10T08:44:35.542+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Save Level'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='MapData'/><category scheme='http://www.blogger.com/atom/ns#' term='Levels'/><category scheme='http://www.blogger.com/atom/ns#' term='MAPS'/><title type='text'>Map file size 70k to 3k to 1k</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-Hxfu7ognV4k/TfHLO2X_jtI/AAAAAAAAAH8/EBahHnlaDx8/s1600/CaptureLarge.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;Whilst working on project X I have refactored the object format several times.&lt;br /&gt;&lt;br /&gt;The reference data is a 10x 10 map grid. &lt;br /&gt;&lt;br /&gt;The original format was a map object containing an array of layers with each layer containing an array of Map rows, and each map row containing a Map Col that had a member of TileType.&lt;br /&gt;&lt;br /&gt;Snippet of file format below (not full file) &lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-Hxfu7ognV4k/TfHLO2X_jtI/AAAAAAAAAH8/EBahHnlaDx8/s1600/CaptureLarge.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="392" src="http://1.bp.blogspot.com/-Hxfu7ognV4k/TfHLO2X_jtI/AAAAAAAAAH8/EBahHnlaDx8/s640/CaptureLarge.JPG" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The file when saved was 70K, now this is not that big but it will soon mount up as the maps got bigger in size.&lt;br /&gt;&lt;br /&gt;For the second file format I decide to use the same method from eVade, &lt;br /&gt;&lt;br /&gt;I created an Array of int to store all the map rows and cols. I then store the row size and col size as variables allowing me to do some simple math to access each cell.&lt;br /&gt;&lt;br /&gt;Example if I wanted to access row 2 col 3 it would be&lt;br /&gt;&lt;br /&gt;Map[(2*10) + 3]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-AJyH0O1VtsM/TfHLCYa50zI/AAAAAAAAAH4/prebh75qf5A/s1600/CaptureMed.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-AJyH0O1VtsM/TfHLCYa50zI/AAAAAAAAAH4/prebh75qf5A/s640/CaptureMed.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The file came to 3k a big improvement but still not good enough.&lt;br /&gt;&lt;br /&gt;As you can see I'm storing allot of repetitive data, why am I serializing all the 0 if they are the default tile?&lt;br /&gt;&lt;br /&gt;Attempt number 3:&lt;br /&gt;&lt;br /&gt;Store the total row, col and layers as int for calculations, and declare a default Tile value (0).&lt;br /&gt;&lt;br /&gt;This means I only have to now store the tiles that are not the default value.&lt;br /&gt;&lt;br /&gt;In order to do this I created an array of Tile where tile contains definition for Type, Row, Col and Layer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-KY9CWjpapGg/TfHKwuic0lI/AAAAAAAAAH0/Aqsv6N5eqXc/s1600/CaptureSmall.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="435" src="http://3.bp.blogspot.com/-KY9CWjpapGg/TfHKwuic0lI/AAAAAAAAAH0/Aqsv6N5eqXc/s640/CaptureSmall.JPG" width="640" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8873622148869801257?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8873622148869801257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8873622148869801257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8873622148869801257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8873622148869801257'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/map-file-size-70k-to-3k-to-1k.html' title='Map file size 70k to 3k to 1k'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Hxfu7ognV4k/TfHLO2X_jtI/AAAAAAAAAH8/EBahHnlaDx8/s72-c/CaptureLarge.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6779476479080657053</id><published>2011-06-09T09:08:00.000+01:00</published><updated>2011-06-09T09:08:35.208+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='isometric'/><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><title type='text'>Project X</title><content type='html'>Project X is now able to:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Save map to file&lt;/li&gt;&lt;li&gt;Load map from file&lt;/li&gt;&lt;li&gt;Use custom textures&lt;/li&gt;&lt;li&gt;Collision detection for walkable tiles&lt;/li&gt;&lt;li&gt;Move player&lt;/li&gt;&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Uu6g9_U_I-Y/TfB_b45nCsI/AAAAAAAAAHw/7GM7t6q470w/s1600/Capture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="386" src="http://1.bp.blogspot.com/-Uu6g9_U_I-Y/TfB_b45nCsI/AAAAAAAAAHw/7GM7t6q470w/s640/Capture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6779476479080657053?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6779476479080657053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6779476479080657053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6779476479080657053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6779476479080657053'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/project-x.html' title='Project X'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Uu6g9_U_I-Y/TfB_b45nCsI/AAAAAAAAAHw/7GM7t6q470w/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5553847769999101158</id><published>2011-06-06T12:40:00.002+01:00</published><updated>2011-06-06T12:40:40.921+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project X'/><title type='text'>Another update on my next project</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-F3Si_Zfk5uE/Tey8rYzWdKI/AAAAAAAAAHs/lBcpyeYfsBk/s1600/Capture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="382" src="http://2.bp.blogspot.com/-F3Si_Zfk5uE/Tey8rYzWdKI/AAAAAAAAAHs/lBcpyeYfsBk/s640/Capture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5553847769999101158?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5553847769999101158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5553847769999101158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5553847769999101158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5553847769999101158'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/another-update-on-my-next-project.html' title='Another update on my next project'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-F3Si_Zfk5uE/Tey8rYzWdKI/AAAAAAAAAHs/lBcpyeYfsBk/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7969123123444972945</id><published>2011-06-03T15:48:00.000+01:00</published><updated>2011-06-03T15:48:08.413+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video Review'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><title type='text'>eVade video review</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=8QD_UUwp8t4"&gt;http://www.youtube.com/watch?v=8QD_UUwp8t4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7969123123444972945?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7969123123444972945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7969123123444972945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7969123123444972945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7969123123444972945'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/evade-video-review.html' title='eVade video review'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6920965649515889583</id><published>2011-06-03T14:00:00.002+01:00</published><updated>2011-06-03T14:00:33.316+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Sneak peak'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Sneak peak at new project.....</title><content type='html'>Here is a sneak peak of my next project :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CR9pQap_pyk/Teja10RU03I/AAAAAAAAAHo/TVlMQsnbJDI/s1600/Capture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="344" src="http://1.bp.blogspot.com/-CR9pQap_pyk/Teja10RU03I/AAAAAAAAAHo/TVlMQsnbJDI/s640/Capture.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6920965649515889583?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6920965649515889583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6920965649515889583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6920965649515889583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6920965649515889583'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/sneak-peak-at-new-project.html' title='Sneak peak at new project.....'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-CR9pQap_pyk/Teja10RU03I/AAAAAAAAAHo/TVlMQsnbJDI/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7260953403549336876</id><published>2011-06-03T08:40:00.000+01:00</published><updated>2011-06-03T08:40:24.189+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Ratings'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Wp7 rating site</title><content type='html'>I have found the following site that lets you check the world ranking for your app and more intrestingly for me lets you contact the people that have left feedback :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sorokoletov.com/ztop/#FreeGames"&gt;http://sorokoletov.com/ztop/#FreeGames &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7260953403549336876?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7260953403549336876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7260953403549336876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7260953403549336876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7260953403549336876'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/wp7-rating-site.html' title='Wp7 rating site'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-1493348069308026608</id><published>2011-06-02T08:30:00.000+01:00</published><updated>2011-06-02T08:30:37.718+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><title type='text'>eVade reaches 1000+ downloads</title><content type='html'>eVade has finaly made it past the 1000 downloads mark (1,006)&lt;br /&gt;&lt;br /&gt;Unfortantly it is now only averaging about 7 downloads a day :( &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nfVdxNO_URA/Tec70N1DqEI/AAAAAAAAAHk/vPq82AXQd_o/s1600/Downloads.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="395" src="http://2.bp.blogspot.com/-nfVdxNO_URA/Tec70N1DqEI/AAAAAAAAAHk/vPq82AXQd_o/s640/Downloads.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-1493348069308026608?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/1493348069308026608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=1493348069308026608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1493348069308026608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1493348069308026608'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/evade-reaches-1000-downloads.html' title='eVade reaches 1000+ downloads'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-nfVdxNO_URA/Tec70N1DqEI/AAAAAAAAAHk/vPq82AXQd_o/s72-c/Downloads.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-1578453309460341011</id><published>2011-06-01T08:59:00.000+01:00</published><updated>2011-06-01T08:59:37.240+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GPS Postion changed'/><category scheme='http://www.blogger.com/atom/ns#' term='currentState'/><category scheme='http://www.blogger.com/atom/ns#' term='GPS'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><category scheme='http://www.blogger.com/atom/ns#' term='NoData'/><title type='text'>WP7 and GPS</title><content type='html'>There have been few posts recently on the MS forum about how the GPS status behaves.&lt;br /&gt;&lt;br /&gt;As a result of this I have decided to share some of the code logic from Walk7.&lt;br /&gt;&lt;br /&gt;As always there are many ways to solve the problem:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I use the following logic:&lt;br /&gt;&lt;br /&gt;Create a local variable to store the Apps current GPS Position Status, this will allow you to perform a comparison once the a new GPS status is detected.&lt;br /&gt;&lt;br /&gt;I default this var to disabled when the application starts.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; GeoPositionStatus currentState = GeoPositionStatus.Disabled;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You will also need a GeoCoordinateWatcher var for handling the GPS data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GeoCoordinateWatcher watcher;&lt;br /&gt;&lt;br /&gt;In your code logic (you can do this in the constructor if you wish) you need to setup the watcher.&lt;br /&gt;&lt;br /&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; watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); // using high accuracy;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; watcher.MovementThreshold = 10.0f; // meters of change before "PositionChanged"&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // wire up event handlers&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; watcher.StatusChanged += new&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EventHandler&amp;lt;GeoPositionStatusChangedEventArgs&amp;gt;(watcher_StatusChanged);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; watcher.PositionChanged += new&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EventHandler&amp;lt;GeoPositionChangedEventArgs&amp;lt;GeoCoordinate&amp;gt;&amp;gt;(watcher_PositionChanged);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // start up LocServ in the background; watcher_StatusChanged will be called when complete.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Thread(startLocServInBackground).Start();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you can see from the code above the event handler&amp;nbsp; watcher_StatusChanged will be called at each time&amp;nbsp; the GPS status changes.&lt;br /&gt;&lt;br /&gt;Within the code logic of&amp;nbsp; watcher_StatusChanged you can do you comparison against the watcher_StatusChanged and the new state allowing you to make business / code logic decessions.&lt;br /&gt;&lt;br /&gt;This allows you the ability to warn the user when GPS signal has been lost. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (e.Status)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case GeoPositionStatus.Disabled:&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The Location Service is disabled or unsupported.&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Check to see if the user has disabled the Location Service.&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (watcher.Permission == GeoPositionPermission.Denied)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The user has disabled the Location Service on their device.&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GSPStatus.Fill = new SolidColorBrush(Colors.Red);&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("Location Service is not functioning on this device.");&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GSPStatus.Fill = new SolidColorBrush(Colors.Red);&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (currentState == GeoPositionStatus.Ready)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("Warning GPS signal lost");&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case GeoPositionStatus.Initializing:&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GSPStatus.Fill = new SolidColorBrush(Colors.Orange);&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (currentState == GeoPositionStatus.Ready)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("Warning GPS signal was lost now re-initializing");&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The Location Service is initializing.&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case GeoPositionStatus.NoData:&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The Location Service is working, but it cannot get location data.&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GSPStatus.Fill = new SolidColorBrush(Colors.Red);&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (currentState == GeoPositionStatus.Ready)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("Warning GPS signal was lost no data available");&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case GeoPositionStatus.Ready:&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The Location Service is working and is receiving location data.&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GSPStatus.Fill = new SolidColorBrush(Colors.Yellow);&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myMap.ZoomLevel = 16.0f;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetLocation();&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentState = e.Status;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("watcher_StatusChanged:" + ex.Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In addition to the above logic I also use the currentState status in the GPS postion changing as I do not wish to record the postion if the GPS signal has been lost.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I hope this helps someone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-1578453309460341011?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/1578453309460341011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=1578453309460341011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1578453309460341011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1578453309460341011'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/wp7-and-gps.html' title='WP7 and GPS'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7247293851357215944</id><published>2011-06-01T08:41:00.000+01:00</published><updated>2011-06-01T08:41:44.977+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GPS'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><category scheme='http://www.blogger.com/atom/ns#' term='Walk7'/><title type='text'>Walk7</title><content type='html'>My second&amp;nbsp; free windows 7 app / game has been approved and is now available for download.&lt;br /&gt;&lt;br /&gt;The app is called Walk7 and allows the user to record there route as well as storing points of interest.&lt;br /&gt;&lt;br /&gt;The aim of the app is to build a database of walks that can be shared for free.&lt;br /&gt;&lt;br /&gt;Download link:&lt;a href="http://social.zune.net/redirect?type=phoneApp&amp;amp;id=195afc46-c886-e011-986b-78e7d1fa76f8"&gt; &lt;span class="content grayText"&gt;http://social.zune.net/redirect?type=phoneApp&amp;amp;id=195afc46-c886-e011-986b-78e7d1fa76f8&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7247293851357215944?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7247293851357215944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7247293851357215944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7247293851357215944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7247293851357215944'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/06/walk7.html' title='Walk7'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3255153592569655106</id><published>2011-05-16T13:05:00.003+01:00</published><updated>2011-05-16T13:15:49.096+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><title type='text'>eVade has been reviewed :)</title><content type='html'>eVade has had its first external review:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bestwp7games.com/forum/threads/114-eVade-a-free-game-with-built-in-level-editor"&gt;http://www.bestwp7games.com/forum/threads/114-eVade-a-free-game-with-built-in-level-editor&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some worldwide comments that I hadn't even seen as my phone only shows UK reviews?!?!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wp7applist.com/app/15776/eVade"&gt;http://wp7applist.com/app/15776/eVade&lt;/a&gt;&lt;br /&gt;Looks like someone has spotted a bug that needs fixing, just wish I had a way to contact them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; margin-bottom: 14px; padding-bottom: 6px;"&gt;&lt;span class="user"&gt;&lt;img src="http://wp7applist.com/img/comment.gif" /&gt;&lt;strong&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #1ba1e2;"&gt;  &lt;/span&gt;&lt;span style="color: #555555;"&gt;WildThought&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="float: right; margin-top: 9px; width: 50px;"&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-empty_s.png" title="" width="7" /&gt; &lt;/div&gt;May 8, 2011&lt;br /&gt;&lt;span class="reviewText"&gt;&lt;span style="font-size: x-small;"&gt;Fun little puzzle game. More puzzle games need level editors.  It adds a lot of value! &lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; margin-bottom: 14px; padding-bottom: 6px;"&gt;&lt;span class="user"&gt;&lt;img src="http://wp7applist.com/img/comment.gif" /&gt;&lt;strong&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #1ba1e2;"&gt;  &lt;/span&gt;&lt;span style="color: #555555;"&gt;Player217209413&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="float: right; margin-top: 9px; width: 50px;"&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-empty_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-empty_s.png" title="" width="7" /&gt; &lt;/div&gt;May 8, 2011&lt;br /&gt;&lt;span class="reviewText"&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; margin-bottom: 14px; padding-bottom: 6px;"&gt;&lt;span class="user"&gt;&lt;img src="http://wp7applist.com/img/comment.gif" /&gt;&lt;strong&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #1ba1e2;"&gt;  &lt;/span&gt;&lt;span style="color: #555555;"&gt;ColumnBreak&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="float: right; margin-top: 9px; width: 50px;"&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-full_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-empty_s.png" title="" width="7" /&gt;&lt;img alt="" src="http://wp7applist.com/img/star-empty_s.png" title="" width="7" /&gt; &lt;/div&gt;May 7, 2011&lt;br /&gt;&lt;span class="reviewText"&gt;&lt;span style="font-size: x-small;"&gt;Interesting game with cute, simple graphics. Not too terribly  challenging, but including the level editor is a nice idea... However, it  doesn't work properly. I created a level and when I saved it, it add a bunch of  other land squares. Then when I went to play it, most of the land squares were  gone and I started in the water. That's about the only thing that needs to be  fixed in this game. &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3255153592569655106?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3255153592569655106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3255153592569655106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3255153592569655106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3255153592569655106'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/05/evade-has-been-reviewed.html' title='eVade has been reviewed :)'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6867637623532459318</id><published>2011-05-16T09:07:00.000+01:00</published><updated>2011-05-16T09:07:40.100+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Stats'/><title type='text'>As expected......</title><content type='html'>I have just checked the stats for downloads of eVade for 4/5/2011 - 10/5/2011 and the downloads have continued to drop. &lt;br /&gt;&lt;br /&gt;This is no surprise as the game is no longer on the "new" page therefore downloads will be generated only by word of mouth and people searching for games.&lt;br /&gt;&lt;br /&gt;The total number of downloads is now at 768, lets see if it can hit the 1000 mark.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JPWLHZ9b2a8/TdDaSqkc4QI/AAAAAAAAAHg/_lNSDvsV_yw/s1600/eVadeGraph.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="384" src="http://2.bp.blogspot.com/-JPWLHZ9b2a8/TdDaSqkc4QI/AAAAAAAAAHg/_lNSDvsV_yw/s640/eVadeGraph.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;My next experiment is to see what types of free advertisement help increase the downloads and how effective they are.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6867637623532459318?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6867637623532459318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6867637623532459318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6867637623532459318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6867637623532459318'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/05/as-expected.html' title='As expected......'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-JPWLHZ9b2a8/TdDaSqkc4QI/AAAAAAAAAHg/_lNSDvsV_yw/s72-c/eVadeGraph.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5201280862978291925</id><published>2011-05-12T08:20:00.000+01:00</published><updated>2011-05-13T21:43:05.677+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Stats'/><category scheme='http://www.blogger.com/atom/ns#' term='Advert'/><title type='text'>Another day another stat</title><content type='html'>Well eVade was downloaded over&amp;nbsp;507 times in the first two days of being available.&lt;br /&gt;&lt;br /&gt;Below is the chart of total downloads from first day until 6th of May.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-waN3mT1pEDc/TcuM8jUj3JI/AAAAAAAAAHc/i68-4KraIbk/s1600/4-6thDownloads.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="396" src="http://2.bp.blogspot.com/-waN3mT1pEDc/TcuM8jUj3JI/AAAAAAAAAHc/i68-4KraIbk/s640/4-6thDownloads.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As expected the initial downloads were on day 1 then dropping to 106 downloads for day two.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I'm hopping the trend doesn't continue to drop but instead sits as a steady&amp;nbsp;50~ downloads a day.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Also after changing the advert provider settings to drop ring network the fill% has vastly increased:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-U4alzYROoFk/TcuL9jzbHsI/AAAAAAAAAHY/JLoPyxoTWOY/s1600/AdvertStats.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/-U4alzYROoFk/TcuL9jzbHsI/AAAAAAAAAHY/JLoPyxoTWOY/s640/AdvertStats.JPG" width="550" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5201280862978291925?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5201280862978291925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5201280862978291925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5201280862978291925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5201280862978291925'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/05/another-day-another-stat.html' title='Another day another stat'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-waN3mT1pEDc/TcuM8jUj3JI/AAAAAAAAAHc/i68-4KraIbk/s72-c/4-6thDownloads.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2430898195580188146</id><published>2011-05-11T08:35:00.000+01:00</published><updated>2011-05-11T08:35:59.452+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sales'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloads'/><category scheme='http://www.blogger.com/atom/ns#' term='Stats'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>eVade First day download stats</title><content type='html'>The first day download stats are available for eVade.&lt;br /&gt;&lt;br /&gt;141 Downloads on day one, it will be interesting to see what the rest of the days show.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-tvUMtHj-FO4/Tco79e_Z2OI/AAAAAAAAAHU/mNE2ZmSfq4I/s1600/4-5thDownloads.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="358" src="http://4.bp.blogspot.com/-tvUMtHj-FO4/Tco79e_Z2OI/AAAAAAAAAHU/mNE2ZmSfq4I/s640/4-5thDownloads.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2430898195580188146?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2430898195580188146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2430898195580188146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2430898195580188146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2430898195580188146'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/05/evade-first-day-download-stats.html' title='eVade First day download stats'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-tvUMtHj-FO4/Tco79e_Z2OI/AAAAAAAAAHU/mNE2ZmSfq4I/s72-c/4-5thDownloads.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-598518839653046968</id><published>2011-05-10T13:27:00.003+01:00</published><updated>2011-05-11T08:38:51.390+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows phone 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Money'/><category scheme='http://www.blogger.com/atom/ns#' term='Sales'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Stats'/><category scheme='http://www.blogger.com/atom/ns#' term='Advert'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>eVade Advert Stats</title><content type='html'>I thought I would share with the world the advert stats for my game.&lt;br /&gt;&lt;br /&gt;It was released on 5/5/2011 and as you can see peaked at 555 advert request a day.&lt;br /&gt;&lt;br /&gt;I believe the peak was due to the game being listed on the new releases.&lt;br /&gt;&lt;br /&gt;What is more concerning is the low fill%, this means that although my app is requesting adverts only a small percentage of the time I'm getting an advert back to display to the user.&lt;br /&gt;&lt;br /&gt;Investigation shows that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ring network are failing to provide adverts &lt;/li&gt;&lt;li&gt;Admob only provide adverts a 1/4 of the time.&lt;/li&gt;&lt;li&gt;Millennial media provide adverts over 50% of the time.&lt;/li&gt;&lt;/ul&gt;This shows why its important to get a decent advert provider. There is no point making a request if no adverts will be returned!&lt;br /&gt;I have since updated the advert request settings to exclude the ring network as every request from them has failed and to favour the Millennial media network :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I shall post an update next week and let you know how the figures have been effected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-I1LOEDLDjYc/Tckt_nvoKJI/AAAAAAAAAHQ/qf4qL_a1hPw/s1600/AdvertStats.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/-I1LOEDLDjYc/Tckt_nvoKJI/AAAAAAAAAHQ/qf4qL_a1hPw/s640/AdvertStats.JPG" width="584" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-598518839653046968?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/598518839653046968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=598518839653046968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/598518839653046968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/598518839653046968'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/05/evade-advert-stats.html' title='eVade Advert Stats'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-I1LOEDLDjYc/Tckt_nvoKJI/AAAAAAAAAHQ/qf4qL_a1hPw/s72-c/AdvertStats.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6042911200678889702</id><published>2011-05-04T18:59:00.000+01:00</published><updated>2011-05-04T18:59:53.580+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows phone 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>eVade has been published</title><content type='html'>eVade has been approved and is now available for download (for free).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://social.zune.net/redirect?type=phoneApp&amp;amp;id=80bb5db8-8371-e011-81d2-78e7d1fa76f8"&gt;http://social.zune.net/redirect?type=phoneApp&amp;amp;id=80bb5db8-8371-e011-81d2-78e7d1fa76f8&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6042911200678889702?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6042911200678889702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6042911200678889702' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6042911200678889702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6042911200678889702'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/05/evade-has-been-published.html' title='eVade has been published'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5011796635592837682</id><published>2011-05-03T12:12:00.000+01:00</published><updated>2011-05-03T12:12:35.889+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enum'/><category scheme='http://www.blogger.com/atom/ns#' term='string value'/><category scheme='http://www.blogger.com/atom/ns#' term='Description'/><title type='text'>enums</title><content type='html'>Have you ever used enums and wanted to use spaces in the .ToString() method?&lt;br /&gt;&lt;br /&gt;If the answer is yes, you now can.....&lt;br /&gt;&lt;br /&gt;Above each enum type place the following code:&lt;br /&gt;enum Test&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af; font-size: 13px;"&gt;Description&lt;/span&gt;&lt;span style="font-size: 13px;"&gt;(&lt;/span&gt;&lt;span style="color: #a31515; font-size: 13px;"&gt;"My Test Text"&lt;/span&gt;&lt;span style="font-size: 13px;"&gt;)]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 13px;"&gt;option1 = 0,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 13px;"&gt;When wanting the text value of the enum create a helper function, if no description tag is found the default enum value is return instead.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 13px;"&gt;This function is very helpful for UI sections of code where the enum name would not always be user friendly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 13px;"&gt;&lt;span style="color: blue; font-size: 13px;"&gt;public&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: 13px;"&gt;static&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: 13px;"&gt;string&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; StringValueOf(&lt;/span&gt;&lt;span style="color: #2b91af; font-size: 13px;"&gt;Enum&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; value)  &lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FieldInfo&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; fi = value.GetType().GetField(value.ToString());  &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue; font-size: 13px;"&gt;var&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; attributes = (&lt;/span&gt;&lt;span style="color: #2b91af; font-size: 13px;"&gt;DescriptionAttribute&lt;/span&gt;&lt;span style="font-size: 13px;"&gt;[])fi.GetCustomAttributes(&lt;/span&gt;&lt;span style="color: blue; font-size: 13px;"&gt;typeof&lt;/span&gt;&lt;span style="font-size: 13px;"&gt;(&lt;/span&gt;&lt;span style="color: #2b91af; font-size: 13px;"&gt;DescriptionAttribute&lt;/span&gt;&lt;span style="font-size: 13px;"&gt;), &lt;/span&gt;&lt;span style="color: blue; font-size: 13px;"&gt;false&lt;/span&gt;&lt;span style="font-size: 13px;"&gt;);  &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue; font-size: 13px;"&gt;if&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; (attributes.Length &amp;gt; 0)  &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue; font-size: 13px;"&gt;return&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; attributes[0].Description;  &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else  &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 13px;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue; font-size: 13px;"&gt;return&lt;/span&gt;&lt;span style="font-size: 13px;"&gt; value.ToString();  &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5011796635592837682?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5011796635592837682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5011796635592837682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5011796635592837682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5011796635592837682'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/05/enums.html' title='enums'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3650895055387947961</id><published>2011-04-28T11:56:00.000+01:00</published><updated>2011-04-28T11:56:30.172+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='submitted'/><title type='text'>eVade Submited</title><content type='html'>I have submitted my first game to the WP7 market place.&lt;br /&gt;&lt;br /&gt;Currently awaiting approval :) &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jGUPegWxEjQ/TblHzHwjmsI/AAAAAAAAAHI/MmvFpxfxuCE/s1600/Screen1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-jGUPegWxEjQ/TblHzHwjmsI/AAAAAAAAAHI/MmvFpxfxuCE/s320/Screen1.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-cA7lXFDmQkQ/TblHzW6DoGI/AAAAAAAAAHM/_Ec_V-010uY/s1600/Screen2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-cA7lXFDmQkQ/TblHzW6DoGI/AAAAAAAAAHM/_Ec_V-010uY/s320/Screen2.png" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3650895055387947961?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3650895055387947961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3650895055387947961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3650895055387947961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3650895055387947961'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/04/evade-submited.html' title='eVade Submited'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-jGUPegWxEjQ/TblHzHwjmsI/AAAAAAAAAHI/MmvFpxfxuCE/s72-c/Screen1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8346460383173864579</id><published>2011-04-18T17:12:00.000+01:00</published><updated>2011-04-18T17:12:39.537+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Load Level'/><category scheme='http://www.blogger.com/atom/ns#' term='XMl Level'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>eVade Levels</title><content type='html'>I have change the level object to allow auto serilazation of my levels.&lt;br /&gt;&lt;br /&gt;The issue was with 2D arrays, instead I have opted for a 1D array that I manaly split by having an attribute for rows and cols.&lt;br /&gt;&lt;br /&gt;Level Object listed below:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class LevelData&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Rows { get; set; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Cols { get; set; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int[] Map { get; set; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Moves;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&lt;character&gt; lstCharacters { get; set; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public LevelData()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public LevelData(int rows, int cols)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rows = rows;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cols = cols;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map = new int[Rows * Cols];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lstCharacters = new List&lt;character&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/character&gt;&lt;/character&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8346460383173864579?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8346460383173864579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8346460383173864579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8346460383173864579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8346460383173864579'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/04/evade-levels.html' title='eVade Levels'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8845637025951520938</id><published>2011-04-18T17:08:00.000+01:00</published><updated>2011-04-18T17:08:56.217+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows phone 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>eVade In Game Video</title><content type='html'>Been a long time since I posted so I thought I would do a small video of the game.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FIT_LISETqA?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/FIT_LISETqA?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8845637025951520938?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8845637025951520938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8845637025951520938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8845637025951520938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8845637025951520938'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/04/evade-in-game-video.html' title='eVade In Game Video'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2738840402494279700</id><published>2011-03-15T13:16:00.000Z</published><updated>2011-03-15T13:16:35.416Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Load Level'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='XMl Level'/><title type='text'>Reading level data from XML file</title><content type='html'>Now that I have got the basics of my game working I have decided its time to put the logic in to load a level.&lt;br /&gt;&lt;br /&gt;I use a 2D int array to store the map tile data and a list of Characters for the enemys and playable character.&lt;br /&gt;&lt;br /&gt;I have chosen to store the level in an XML format.&lt;br /&gt;&lt;br /&gt;&amp;lt;LevelData&amp;gt;&lt;br /&gt;&amp;lt;Map&amp;gt;&lt;br /&gt;&amp;lt;row&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;1&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;1&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;0&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;0&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;1&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;1&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;1&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;1&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;col&amp;gt;1&amp;lt;/col&amp;gt;&lt;br /&gt;&amp;lt;/row&amp;gt;&lt;br /&gt;&amp;lt;/Map&amp;gt;&lt;br /&gt;&amp;lt;Characters&amp;gt;&lt;br /&gt;&amp;lt;enemy&amp;gt;&lt;br /&gt;&amp;lt;Row&amp;gt;10&amp;lt;/Row&amp;gt;&lt;br /&gt;&amp;lt;Col&amp;gt;2&amp;lt;/Col&amp;gt;&lt;br /&gt;&amp;lt;/enemy&amp;gt;&lt;br /&gt;&amp;lt;/Characters&amp;gt;&lt;br /&gt;&lt;br /&gt;I have written my own custom level loader&lt;br /&gt;&lt;br /&gt;public void LoadLevel(string Name)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;#region load the level&lt;br /&gt;XElement appDataXml;&lt;br /&gt;StreamResourceInfo xml = Application.GetResourceStream(new Uri("Levels/1.xml", UriKind.Relative));&lt;br /&gt;appDataXml = XElement.Load(xml.Stream);&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;NumRows = appDataXml.Descendants("row").Count();&lt;br /&gt;NumCols = appDataXml.Descendants("col").Count() / NumRows;&lt;br /&gt;&lt;br /&gt;Map = new int[NumRows, NumCols];&lt;br /&gt;&lt;br /&gt;int row = 0;&lt;br /&gt;foreach (var c in appDataXml.Descendants("row"))&lt;br /&gt;{&lt;br /&gt;int col = 0;&lt;br /&gt;foreach (var a in c.Descendants("col"))&lt;br /&gt;{&lt;br /&gt;Map[row, col] = int.Parse(a.Value);&lt;br /&gt;col++;&lt;br /&gt;}&lt;br /&gt;row++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#region Load the Characters&lt;br /&gt;&lt;br /&gt;foreach (var a in appDataXml.Descendants("Characters"))&lt;br /&gt;{&lt;br /&gt;foreach (var c in a.Descendants("enemy"))&lt;br /&gt;{&lt;br /&gt;row = int.Parse(c.Element("Row").Value);&lt;br /&gt;int col = int.Parse(c.Element("Col").Value);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Here is a picture of the rendered level:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-RpJjb9kePu8/TX9moSvWTeI/AAAAAAAAAHA/AnUSG0NtgTU/s1600/LevelRendered.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://1.bp.blogspot.com/-RpJjb9kePu8/TX9moSvWTeI/AAAAAAAAAHA/AnUSG0NtgTU/s400/LevelRendered.JPG" width="229" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2738840402494279700?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2738840402494279700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2738840402494279700' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2738840402494279700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2738840402494279700'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/03/reading-level-data-from-xml-file.html' title='Reading level data from XML file'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-RpJjb9kePu8/TX9moSvWTeI/AAAAAAAAAHA/AnUSG0NtgTU/s72-c/LevelRendered.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6675200321389487410</id><published>2011-03-10T12:39:00.000Z</published><updated>2011-03-10T12:39:44.582Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Screenshot'/><title type='text'>eVade in game screen shot</title><content type='html'>Heres an in game screen shot of the new control system and graphics in action:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-0p7WS-UGjlo/TXjGXJB8QhI/AAAAAAAAAG8/ardFR8ZJh50/s1600/eVadeInGame.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="https://lh5.googleusercontent.com/-0p7WS-UGjlo/TXjGXJB8QhI/AAAAAAAAAG8/ardFR8ZJh50/s640/eVadeInGame.JPG" width="340" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6675200321389487410?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6675200321389487410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6675200321389487410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6675200321389487410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6675200321389487410'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/03/evade-in-game-screen-shot.html' title='eVade in game screen shot'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-0p7WS-UGjlo/TXjGXJB8QhI/AAAAAAAAAG8/ardFR8ZJh50/s72-c/eVadeInGame.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6942773428470006685</id><published>2011-03-08T15:51:00.001Z</published><updated>2011-03-08T15:51:35.659Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><title type='text'>Amazon Wishlist</title><content type='html'>Updated my amazon wishlist to include some WP7 books :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6942773428470006685?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6942773428470006685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6942773428470006685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6942773428470006685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6942773428470006685'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/03/amazon-wishlist.html' title='Amazon Wishlist'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2831247786976217167</id><published>2011-02-22T16:03:00.000Z</published><updated>2011-02-22T16:03:20.161Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Test'/><title type='text'>Unit tests</title><content type='html'>Whilst unit testing you may need to check that a function throws an error when a condition is met.&lt;br /&gt;&lt;br /&gt;This can be achieved easily by: &lt;br /&gt;&lt;br /&gt;&amp;nbsp; Exception exception = null;&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Act&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service.TestFunc(It.IsAny&lt;int&gt;());&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception tempException)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exception = tempException;&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assert.IsNotNull(exception, "The expected exception was not thrown.");&lt;/int&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2831247786976217167?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2831247786976217167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2831247786976217167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2831247786976217167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2831247786976217167'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/02/unit-tests.html' title='Unit tests'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2356426607119395174</id><published>2011-01-25T12:44:00.006Z</published><updated>2011-05-05T14:55:26.825+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TODO'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>eVade TODO list</title><content type='html'>This is a list of outstanding tasks for the eVade Game I'm working on:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strike&gt;Make count down start after first turn &lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Load high scores&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Display high scores &lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Save high scores&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Design levels&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Level validation logic (make sure level is playable)&lt;/strike&gt; &lt;/li&gt;&lt;li&gt; &lt;strike&gt;Save levels to readable file format&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Load levels&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Unlock levels&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Test advert SDK&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;Sound effects&lt;/li&gt;&lt;li&gt;Music&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Graphics&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Testing&lt;/strike&gt;&lt;/li&gt;&lt;li&gt; &lt;strike&gt;User testing&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;Submit game&lt;/strike&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2356426607119395174?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2356426607119395174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2356426607119395174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2356426607119395174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2356426607119395174'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/evade-todo-list.html' title='eVade TODO list'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7803974897503445306</id><published>2011-01-24T12:30:00.000Z</published><updated>2011-01-24T12:30:13.677Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gamestate management'/><category scheme='http://www.blogger.com/atom/ns#' term='Gamestate'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Silverlight GameState</title><content type='html'>As some of you may or may not be aware WP7 apps are required to take you back / exit after 3 back button clicks.&lt;br /&gt;&lt;br /&gt;This can create a challenge if you haven't taken this into consideration when designing your app / game (opps).&lt;br /&gt;&lt;br /&gt;luckily its an easy fix taken from XNA....&lt;br /&gt;&lt;br /&gt;On the main page of my app I have created an enum to store all the states my game needs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public enum GameState&lt;br /&gt;    {&lt;br /&gt;        MainMenu = 0,&lt;br /&gt;        LevelSelect = 1,&lt;br /&gt;        GamePlay = 2,&lt;br /&gt;        GameOver = 3,&lt;br /&gt;        HighScore = 4,&lt;br /&gt;        About = 5,&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;I then have a private and public variable for the current game state.&lt;br /&gt;&lt;br /&gt;        private GameState _CurrentState;&lt;br /&gt;&lt;br /&gt;        public GameState CurrentState&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            get { return _CurrentState; }&lt;br /&gt;            set { &lt;br /&gt;                &lt;br /&gt;                _CurrentState = value;&lt;br /&gt;                GameStateChanged();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;When ever the Public variable CurrentState has its state changed it triggers a call to  GameStateChanged();&lt;br /&gt;&lt;br /&gt;This is where my game state logic kicks in.&lt;br /&gt;&lt;br /&gt;I have a switch statement of doom that loads the relivent control dependent upon state.&lt;br /&gt;&lt;br /&gt;This means I can have one XAML page with multiple controls.&lt;br /&gt;&lt;br /&gt;        private void GameStateChanged()&lt;br /&gt;        {&lt;br /&gt;            //Remove the previous controls&lt;br /&gt;            ContentPanel.Children.Clear();&lt;br /&gt;           &lt;br /&gt;            //Handle the state being changed&lt;br /&gt;            switch (CurrentState)&lt;br /&gt;            {&lt;br /&gt;                case GameState.MainMenu:&lt;br /&gt;                    {&lt;br /&gt;                        ContentPanel.Children.Add(new MainMenu());&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                case GameState.LevelSelect:&lt;br /&gt;                    {&lt;br /&gt;                        ContentPanel.Children.Add(new LevelSelect());&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                case GameState.HighScore:&lt;br /&gt;                    {&lt;br /&gt;                        ContentPanel.Children.Add(new HighScore());&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                case GameState.GamePlay:&lt;br /&gt;                    {&lt;br /&gt;                        ContentPanel.Children.Add(new GamePlay(_Level));&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                case GameState.GameOver:&lt;br /&gt;                    {&lt;br /&gt;                        ContentPanel.Children.Add(new GameOver(_Level, _Score));&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                case GameState.About:&lt;br /&gt;                    {&lt;br /&gt;                        ContentPanel.Children.Add(new About());&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;            }&lt;br /&gt;         &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;As you will note the first thing the function does is remove the children controls from the "Content Panel", for my logic to work it is important that you don't place anything but the user controls here (otherwise bye bye button / images etc.).&lt;br /&gt;&lt;br /&gt;Now when the user pushes the back key they will exit the app striaght away.&lt;br /&gt;&lt;br /&gt;Oh no I hear you cry, what if they push it by mistake?&lt;br /&gt;&lt;br /&gt;The solution to this is to override the back key action.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If on main menu allow exit otherwise set the current state back to main menu.&lt;br /&gt;&lt;br /&gt;You could of course go as far as having a messagebox show warning the user if they click "ok" they will exit.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        protected override void onBackKeyPress(System.ComponentModel.CancelEventArgs e)&lt;br /&gt;        {&lt;br /&gt;          &lt;br /&gt;            if (CurrentState == GameState.MainMenu)&lt;br /&gt;            {&lt;br /&gt;&lt;br /&gt;                base.OnBackKeyPress(e);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                e.Cancel = true;&lt;br /&gt;                CurrentState = GameState.MainMenu;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7803974897503445306?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7803974897503445306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7803974897503445306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7803974897503445306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7803974897503445306'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/silverlight-gamestate.html' title='Silverlight GameState'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3748025732995018139</id><published>2011-01-21T17:17:00.004Z</published><updated>2011-01-24T19:27:10.631Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Money'/><category scheme='http://www.blogger.com/atom/ns#' term='Outside of USA'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='Advert'/><title type='text'>WP7 (Windows Phone 7) and Adverts outside of the USA</title><content type='html'>Hello all,&lt;br /&gt;&lt;br /&gt;As you maybe aware I have been working on a game for the WP7 in Silverlight.&lt;br /&gt;&lt;br /&gt;I was hoping to support a free version of my game by using in game adverts, but unfortunately Microsoft are only allowing access to the SDK for users in the USA.&lt;br /&gt;&lt;br /&gt;I have search the net and tried several different solutions and finally have settled on Millennial Media SDK.&lt;br /&gt;&lt;br /&gt;Its a painless process to add the code to your application / game.&lt;br /&gt;&lt;br /&gt;1) Browse to: &lt;a href="http://developer.millennialmedia.com/"&gt;http://developer.millennialmedia.com/&lt;/a&gt;&lt;br /&gt;2) Sign up for a free account&lt;br /&gt;3) Login and select SDK downloads &amp;gt; Windows phone 7 or (&lt;a href="http://developer.millennialmedia.com/profile/SDK/winmo.php"&gt;http://developer.millennialmedia.com/profile/SDK/winmo.php&lt;/a&gt;)&lt;br /&gt;4) Download the SDK&lt;br /&gt;5) Follow the onscreen instructions on the site:&lt;br /&gt;&lt;br /&gt;Create an app on the site to get your app ID&lt;br /&gt;&lt;br /&gt;1) Browse to: &lt;a href="http://developer.millennialmedia.com/"&gt;http://developer.millennialmedia.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2) Click manage apps&lt;br /&gt;3) Fill form in and get your appID (you will need this later)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once downloaded add reference&lt;br /&gt;&lt;br /&gt;1) Extract the WP7SDK.dll from the download&lt;br /&gt;2) Right click and select properties (and make sure the file is unblocked)&lt;br /&gt;3) Open you Visual studio project&lt;br /&gt;4) Select Add reference&lt;br /&gt;5) Browse to the dll&lt;br /&gt;6) Click ok&lt;br /&gt;&lt;br /&gt;On the page&lt;br /&gt;&lt;br /&gt;1) view the xaml&lt;br /&gt;2) Paste this code where you want the add to be:&lt;br /&gt;&lt;br /&gt;&amp;lt;my2:MMAdView x:Name="mmAdView" Background="Black" Height="80" Width="480" VerticalAlignment="Top" Apid="34404" RefreshTimer="60" AdType="MMBannerAdTop"&amp;gt; &lt;br /&gt;&lt;br /&gt;3) At the top of the page add a reference to the dll &lt;br /&gt;&lt;br /&gt;xmlns:my2="clr-namespace:mmiWP7SDK;assembly=WP7SDK"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4) Build and view the add on your app :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3748025732995018139?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3748025732995018139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3748025732995018139' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3748025732995018139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3748025732995018139'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/wp7-windows-phone-7-and-adverts-outside.html' title='WP7 (Windows Phone 7) and Adverts outside of the USA'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4028420348607006032</id><published>2011-01-17T09:06:00.002Z</published><updated>2011-01-17T09:06:44.176Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><category scheme='http://www.blogger.com/atom/ns#' term='Back button'/><title type='text'>Back button woes</title><content type='html'>I have a new hatred of the back button on WP7 when developing games.&lt;br /&gt;&lt;br /&gt;It appears you are only every suppose to be 3 back clicks away from exiting the game.&lt;br /&gt;&lt;br /&gt;Unfortunately silverlight doesn't support away of exiting your game (unlike XNA).&lt;br /&gt;&lt;br /&gt;This means I need to re-think my xaml pages and game layout.&lt;br /&gt;&lt;br /&gt;Updates to follow....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4028420348607006032?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4028420348607006032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4028420348607006032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4028420348607006032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4028420348607006032'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/back-button-woes.html' title='Back button woes'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-1110428784611151777</id><published>2011-01-14T18:10:00.000Z</published><updated>2011-01-14T18:10:20.588Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Score'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>eVade With Score</title><content type='html'>Here a video of the eVade game with working countdown and score:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QEpj-j8aOqk?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/QEpj-j8aOqk?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-1110428784611151777?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/1110428784611151777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=1110428784611151777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1110428784611151777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1110428784611151777'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/evade-with-score.html' title='eVade With Score'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-9004136264861939521</id><published>2011-01-14T17:57:00.000Z</published><updated>2011-01-14T17:57:28.950Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Timer'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Simple Timer in Silverlight</title><content type='html'>I have added a simple timer to my Silverlight game.&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;public void TimeTest() &lt;br /&gt;&amp;nbsp;{&lt;br /&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; DispatcherTimer tmr = new DispatcherTimer();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmr.Interval = TimeSpan.FromSeconds(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmr.Tick += new EventHandler(tmr_Tick);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmr.Start();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void tmr_Tick(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ts.TotalSeconds == 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; NavigationService.Navigate(new Uri("/GameOver.xam",&amp;nbsp; UriKind.Relative));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; ts =&amp;nbsp; ts.Subtract(TimeSpan.FromSeconds(1));&lt;br /&gt;&lt;br /&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; this.txtTime.Text = ts.ToString();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-9004136264861939521?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/9004136264861939521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=9004136264861939521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/9004136264861939521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/9004136264861939521'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/simple-timer-in-silverlight.html' title='Simple Timer in Silverlight'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6289139990959673549</id><published>2011-01-14T13:20:00.000Z</published><updated>2011-01-14T13:20:26.366Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>New eVade Video</title><content type='html'>Another work in progress video of the evade game.&lt;br /&gt;&lt;br /&gt;The bad guys have crude logic of locking in on your position.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-8085db68f4097943" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v21.nonxt8.googlevideo.com/videoplayback?id%3D8085db68f4097943%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329993335%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D38E18E85DF1381A1FF4DE7403FED469F20A9660.7A1AD95EA9F2E0E23456DA22530817598621E425%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D8085db68f4097943%26offsetms%3D5000%26itag%3Dw160%26sigh%3DS1HkDtmZI6l_gR5fwr33kbkTOfY&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v21.nonxt8.googlevideo.com/videoplayback?id%3D8085db68f4097943%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329993335%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D38E18E85DF1381A1FF4DE7403FED469F20A9660.7A1AD95EA9F2E0E23456DA22530817598621E425%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D8085db68f4097943%26offsetms%3D5000%26itag%3Dw160%26sigh%3DS1HkDtmZI6l_gR5fwr33kbkTOfY&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6289139990959673549?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6289139990959673549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6289139990959673549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6289139990959673549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6289139990959673549'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/new-evade-video.html' title='New eVade Video'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8149733927038239965</id><published>2011-01-11T15:14:00.000Z</published><updated>2011-01-11T15:14:57.376Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows phone 7'/><category scheme='http://www.blogger.com/atom/ns#' term='eVade'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>eVade WP7 game</title><content type='html'>Video of my WIP WP7 game called eVade:&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wMnMKqLSoKM?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/wMnMKqLSoKM?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8149733927038239965?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8149733927038239965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8149733927038239965' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8149733927038239965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8149733927038239965'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/evade-wp7-game.html' title='eVade WP7 game'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6368198308871378410</id><published>2011-01-11T10:48:00.000Z</published><updated>2011-01-11T10:48:24.009Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>WP7 (Windows Phone 7)</title><content type='html'>Well now I have a WP7 I have decided to try and create a game for that.&lt;br /&gt;&lt;br /&gt;Unfortunately my netbook doesn't have a graphics card capable for emulating WP7 with XNA.&lt;br /&gt;&lt;br /&gt;So I'm left with the choice of publish each time to my phone or develop using Silverlight.&lt;br /&gt;&lt;br /&gt;As you have probably guessed I decided to have a go at Silverlight.&lt;br /&gt;&lt;br /&gt;Expect some videos and screen shots to follow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6368198308871378410?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6368198308871378410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6368198308871378410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6368198308871378410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6368198308871378410'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2011/01/wp7-windows-phone-7.html' title='WP7 (Windows Phone 7)'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6740209743487261272</id><published>2010-12-07T08:36:00.002Z</published><updated>2010-12-07T08:36:55.139Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='photos'/><title type='text'>Uploaded my photos</title><content type='html'>Decided to upload some of my photos to Flickr&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/moltione"&gt;http://www.flickr.com/photos/moltione&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6740209743487261272?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6740209743487261272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6740209743487261272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6740209743487261272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6740209743487261272'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/12/uploaded-my-photos.html' title='Uploaded my photos'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-55546711988130534</id><published>2010-12-02T15:01:00.002Z</published><updated>2010-12-02T19:45:22.865Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Advanced Game State Management'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='GSM'/><title type='text'>GSM progress video</title><content type='html'>I have been working on my GSM template and decided to upload a video :)&lt;br /&gt;&lt;br /&gt;I have found a free video capturing software available at: &lt;a href="http://camstudio.org/"&gt;http://camstudio.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/n2BH_4AVE0A?fs=1&amp;amp;hl=en_GB"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/n2BH_4AVE0A?fs=1&amp;amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-55546711988130534?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/55546711988130534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=55546711988130534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/55546711988130534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/55546711988130534'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/12/gsm-progress-video.html' title='GSM progress video'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4153787022292279177</id><published>2010-12-01T20:20:00.000Z</published><updated>2010-12-01T20:20:00.457Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Advanced Game State Management'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><title type='text'>Advance Game State Management update</title><content type='html'>I have decided to use &lt;span id="search" style="visibility: visible;"&gt;Chad Carters &lt;em&gt;XNA&lt;/em&gt;  unleashed XELibary and Game state framework for the foundation for my GSM.&lt;/span&gt;&lt;br /&gt;&lt;span id="search" style="visibility: visible;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="search" style="visibility: visible;"&gt;The first alteration I have made to the code is the addition of a variable to contain the controlling player.&lt;/span&gt;&lt;br /&gt;&lt;span id="search" style="visibility: visible;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="search" style="visibility: visible;"&gt;Splash screen:&lt;br /&gt;&lt;br /&gt;Push start&lt;br /&gt;Loop through all inputs until start detected and set variable to this player.&lt;/span&gt;&lt;br /&gt;&lt;span id="search" style="visibility: visible;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="search" style="visibility: visible;"&gt;The second change I have made to the project is to include my Menu library (you may remember this from my past posts).&lt;br /&gt;&lt;br /&gt;This will allow me to have a menu screen that references the Menu library allowing for a dynamic menu to be created per game :)&lt;br /&gt;&lt;br /&gt;I will try and upload a video soon to show the progress and with permission of chad charter I will publish up the template.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4153787022292279177?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4153787022292279177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4153787022292279177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4153787022292279177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4153787022292279177'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/12/advance-game-state-management-update.html' title='Advance Game State Management update'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-1309450530622848822</id><published>2010-11-30T09:48:00.000Z</published><updated>2010-11-30T09:48:34.418Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><title type='text'>Free graphics</title><content type='html'>I have found another free graphics website:&lt;br /&gt;&lt;br /&gt;You need to add a reference in your credits to them :) &lt;br /&gt;&lt;br /&gt;&lt;a href="http://reinerstileset.4players.de/englisch.html"&gt;http://reinerstileset.4players.de/englisch.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-1309450530622848822?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/1309450530622848822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=1309450530622848822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1309450530622848822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1309450530622848822'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/11/free-graphics.html' title='Free graphics'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-616461712389232804</id><published>2010-11-26T13:49:00.001Z</published><updated>2011-05-11T08:41:03.456+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Direct3D'/><category scheme='http://www.blogger.com/atom/ns#' term='HiDef'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics Card'/><title type='text'>No Suitable Graphics Card Found</title><content type='html'>When trying to debug a XNA 4.0 game on my laptop I got the following error is VS2010 express:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/TO-59iJFYoI/AAAAAAAAAGs/dhoyor1XxJQ/s1600/NoSuitableGraphicsCard.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/TO-59iJFYoI/AAAAAAAAAGs/dhoyor1XxJQ/s640/NoSuitableGraphicsCard.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;XNA 3.0 works fine on my laptop so I was slightly disapointed, fortantaly there is a solution :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_kuxcyPElqwQ/TO-6kKvv-OI/AAAAAAAAAGw/D-bVzzpOae0/s1600/NoSuitableGraphicsCardSolution.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://1.bp.blogspot.com/_kuxcyPElqwQ/TO-6kKvv-OI/AAAAAAAAAGw/D-bVzzpOae0/s640/NoSuitableGraphicsCardSolution.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Inside visual studio select project properties&lt;/li&gt;&lt;li&gt;Under XNA Game studio select Use Reach&lt;/li&gt;&lt;li&gt;Recompile&lt;/li&gt;&lt;li&gt;Enjoy :)&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-616461712389232804?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/616461712389232804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=616461712389232804' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/616461712389232804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/616461712389232804'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/11/no-suitable-graphics-card-found.html' title='No Suitable Graphics Card Found'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kuxcyPElqwQ/TO-59iJFYoI/AAAAAAAAAGs/dhoyor1XxJQ/s72-c/NoSuitableGraphicsCard.JPG' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7522724460738537799</id><published>2010-11-14T15:13:00.000Z</published><updated>2010-11-14T15:13:15.324Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Advanced Game State Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Gamestate management'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='GSM'/><title type='text'>Advance Game State Management</title><content type='html'>As I'm about to start my new game project I decided I might as well use the Game State Management template.&lt;br /&gt;&lt;br /&gt;The problem is this template is somewhat lacking, so my idea is to create my own template.&lt;br /&gt;&lt;br /&gt;From the books I have read and viewing existing published XNA games it is very important to establish the controling player as soon as possible.&lt;br /&gt;&lt;br /&gt;You can't presume that control pad 1 is always player one! The user could have a guitar connect via USB as device 1, therefore your game would fail.&lt;br /&gt;&lt;br /&gt;The secound observation I have noted is that the GSM doesnt allow for a splash screen, this is idealy where you establish player 1 is controler X. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Splash Screen&lt;/li&gt;&lt;li&gt;Detect the controling player (push start / a to begin)&lt;/li&gt;&lt;li&gt; Allow all functionality in existing GSM template.&lt;/li&gt;&lt;/ol&gt;Hopefuly this should be an easy task and if requested I will upload the template (XNA 4.0).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7522724460738537799?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7522724460738537799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7522724460738537799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7522724460738537799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7522724460738537799'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/11/advance-game-state-management.html' title='Advance Game State Management'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8290682238583504416</id><published>2010-11-10T22:37:00.001Z</published><updated>2010-11-10T22:47:27.053Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kinect'/><title type='text'>Kinect</title><content type='html'>Well finaly got my Kinect and found out that Kinect means losing your xbox to your wife!&lt;br /&gt;&lt;br /&gt;My wife loves the Kinect, so much so that we have brought the fitness game and I have to fight her to use my Xbox!!!!&lt;br /&gt;&lt;br /&gt;My first impressions of the Kinect is its a very good peice of hardware, its like buying a WII for your xbox.&lt;br /&gt;&lt;br /&gt;Its a shame that the Kinect doesnt come with a TV mount but some bluetack soon solves that problem.&lt;br /&gt;&lt;br /&gt;I refuse to pay £35 for a mount!&lt;br /&gt;&lt;br /&gt;The games are very clever, you dont relaise that your exercising, and before you know it you have a sweat on!?!?&lt;br /&gt;&lt;br /&gt;I hope that the allow XNA to use Kinect, however time shall see.&lt;br /&gt;&lt;br /&gt;Heres a video of me and friend playing Kinect Adventures:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-3f24559ab465cf94" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v7.nonxt6.googlevideo.com/videoplayback?id%3D3f24559ab465cf94%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329993335%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D19F24B260BF57C48A369F238090129F8C9FF2B96.82A48C86F85436A6872F8EA2CF058CE18FC70E63%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D3f24559ab465cf94%26offsetms%3D5000%26itag%3Dw160%26sigh%3DPX6nqiSYqE2JMVL_pV1TAeBaKtc&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v7.nonxt6.googlevideo.com/videoplayback?id%3D3f24559ab465cf94%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329993335%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D19F24B260BF57C48A369F238090129F8C9FF2B96.82A48C86F85436A6872F8EA2CF058CE18FC70E63%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D3f24559ab465cf94%26offsetms%3D5000%26itag%3Dw160%26sigh%3DPX6nqiSYqE2JMVL_pV1TAeBaKtc&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8290682238583504416?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8290682238583504416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8290682238583504416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8290682238583504416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8290682238583504416'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/11/kinect.html' title='Kinect'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5273880967238376699</id><published>2010-11-04T08:35:00.000Z</published><updated>2010-11-04T08:35:34.066Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SRPG'/><title type='text'>Long time no blog</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:DontVertAlignCellWithSp/&gt;    &lt;w:DontBreakConstrainedForcedTables/&gt;    &lt;w:DontVertAlignInTxbx/&gt;    &lt;w:Word11KerningPairs/&gt;    &lt;w:CachedColBalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"  DefSemiHidden="true" DefQFormat="false" DefPriority="99"  LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"   UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;}&lt;/style&gt; &lt;![endif]--&gt;  Sorry for the lack of updates on my blog.&lt;br /&gt;&lt;br /&gt;I have decided to shelf the SRPG game and work on a different game idea.&lt;br /&gt;&lt;br /&gt;The time spent developing the SRPG has been a very useful learning process and I may one day return and complete the project.&lt;br /&gt;&lt;br /&gt;However for now I believe my time is best spent making a smaller simple game and hopeful earn myself a £ on the way. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5273880967238376699?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5273880967238376699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5273880967238376699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5273880967238376699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5273880967238376699'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/11/long-time-no-blog.html' title='Long time no blog'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5217257101791959882</id><published>2010-09-21T12:26:00.002+01:00</published><updated>2010-09-21T12:26:29.610+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='playtest'/><category scheme='http://www.blogger.com/atom/ns#' term='premium'/><title type='text'>Premium Membership</title><content type='html'>&lt;div class="western" style="margin-bottom: 0cm;"&gt;I have finally upgraded my account to premium and shall be play-testing some games shortly :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5217257101791959882?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5217257101791959882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5217257101791959882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5217257101791959882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5217257101791959882'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/09/premium-membership.html' title='Premium Membership'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4224408960814341059</id><published>2010-07-28T21:39:00.001+01:00</published><updated>2010-07-29T13:13:33.627+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Input'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='InputHelper'/><title type='text'>InputHelper</title><content type='html'>I have been signed off sick by the Dr so decided to do some recoational coding.&lt;br /&gt;&lt;br /&gt;This has taken the form of an input helper.&lt;br /&gt;&lt;br /&gt;The important thing to remember with input devices is that gamepad one doesnt always mean player one!!&lt;br /&gt;This means each device needs a property stating the controling player.&lt;br /&gt;&lt;br /&gt;The helper contains an array of 4 generic input devices (xbox only supports 4 controlers so didnt seem the point making this any larger).&lt;br /&gt;&lt;br /&gt;I created a generic InputDevice to handle the basic requirements and then allow each device to inherit from that. This way the array of devices is really an array of generic devices.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;_Device[0].GetType() = Keyboard&lt;br /&gt;_Device[1].GetType() = Gamepad&lt;br /&gt;&lt;br /&gt;_Device[2] = new GamepadDevice(playerindex.three);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The helper class has public methods allowing:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Adding Device&lt;/li&gt;&lt;li&gt;Removing Device&lt;/li&gt;&lt;li&gt;Checking if a button has been pushed by a player&lt;/li&gt;&lt;li&gt;Getting the trigger values&lt;/li&gt;&lt;li&gt;Getting the analougue values&lt;/li&gt;&lt;li&gt;Assigning custom key mappings&lt;/li&gt;&lt;li&gt;Retriving key mappings&lt;/li&gt;&lt;/ul&gt;At the moment I fighting over in my mind if this needs to be a gamecomponent or a gameservice.&lt;br /&gt;&lt;br /&gt;I would much perfer a game service as you would just need to add it once and call it where required to intergigate the current players input.&lt;br /&gt;&lt;br /&gt;However the issue im having is with the automatic call of update().&lt;br /&gt;&lt;br /&gt;Im sure I will figure it out sooner or later.&lt;br /&gt;&lt;br /&gt;As always once the code is complete I will publish it for you lot to download.&lt;br /&gt;&lt;br /&gt;EDIT&lt;br /&gt;&lt;br /&gt;I have deciced the following solution is best:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Game1()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graphics = new GraphicsDeviceManager(this);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Content.RootDirectory = "Content";&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputHelper IHelper = new InputHelper(this);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IHelper.AddDevice(PlayerIndex.One, InputTypes.GamePad);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IHelper.AddDevice(PlayerIndex.Two, InputTypes.Keyboard);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.Components.Add(IHelper);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the IHelper construtor it checks to see if its already been registered as a service, if not it is added as a game service meaning that you can access it from anywhere in your code :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4224408960814341059?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4224408960814341059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4224408960814341059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4224408960814341059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4224408960814341059'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/07/inputhelper.html' title='InputHelper'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3562090778720681408</id><published>2010-06-28T08:27:00.000+01:00</published><updated>2010-06-28T08:27:24.159+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='panoramic'/><category scheme='http://www.blogger.com/atom/ns#' term='photos'/><title type='text'>Panoramic Photos</title><content type='html'>Sorry this is not a code related post, thought I would share some panoramic photos I have taken&lt;br /&gt;&lt;br /&gt;Warning the images are very large!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.neil.copperstream.co.uk/Photos/panophotos/"&gt;http://www.neil.copperstream.co.uk/Photos/panophotos/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3562090778720681408?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3562090778720681408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3562090778720681408' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3562090778720681408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3562090778720681408'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/panoramic-photos.html' title='Panoramic Photos'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4163876526089098808</id><published>2010-06-28T08:21:00.000+01:00</published><updated>2010-06-28T08:21:22.554+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Efilnukefesin'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA Unleashed'/><title type='text'>XNA Unleashed</title><content type='html'>Just a quick post to say I'm still here.&lt;br /&gt;&lt;br /&gt;I have been reading the XNA Unleashed book that was purchased for me (thanks again Efilnukefesin :) )&lt;br /&gt;&lt;br /&gt;I'm up-to page 100 (slow reader) and have got to say its an interesting read and I don't like reading!!&lt;br /&gt;&lt;br /&gt;The chapter I'm on explains about game component library and I concede that this is a very useful and good idea. Much like the menu and re-usable game components I have already created.&lt;br /&gt;&lt;br /&gt;The main areas that I wish to concentrate on are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Camera&lt;/li&gt;&lt;li&gt; FPS&lt;/li&gt;&lt;li&gt; Input handler&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Basically everything covered in the chapter.&lt;br /&gt;&lt;br /&gt;Hopefully if I invest enough time in this It will mean I can re-use it will minimum change :)&lt;br /&gt;&lt;br /&gt;As always I will make this available for download if there is demand.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4163876526089098808?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4163876526089098808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4163876526089098808' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4163876526089098808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4163876526089098808'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/xna-unleashed.html' title='XNA Unleashed'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6886083984408129142</id><published>2010-06-17T08:57:00.000+01:00</published><updated>2010-06-17T08:57:08.371+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game Screens'/><title type='text'>Game screens</title><content type='html'>This morning I have tried to work out the required screens for my game.&lt;br /&gt;&lt;br /&gt;This is illustrated in the diagram below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_kuxcyPElqwQ/TBnVE3bnFKI/AAAAAAAAAGc/w8PBuQHdKK8/s1600/GameScreens.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="460" src="http://2.bp.blogspot.com/_kuxcyPElqwQ/TBnVE3bnFKI/AAAAAAAAAGc/w8PBuQHdKK8/s640/GameScreens.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6886083984408129142?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6886083984408129142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6886083984408129142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6886083984408129142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6886083984408129142'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/game-screens.html' title='Game screens'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kuxcyPElqwQ/TBnVE3bnFKI/AAAAAAAAAGc/w8PBuQHdKK8/s72-c/GameScreens.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2973929216522783479</id><published>2010-06-16T12:41:00.000+01:00</published><updated>2010-06-16T12:41:02.027+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Teams'/><title type='text'>Team Selection</title><content type='html'>Now I have the very basics of my game working I have decided I need to get the team selection working.&lt;br /&gt;&lt;br /&gt;This is unfortunately going to involve some code re-factoring (Most of my game logic code currently resides in one class). &lt;br /&gt;&lt;br /&gt;It will be no surprise to most of you that I'm using the Game State management system off the XNA site for the core management of my game.&lt;br /&gt;&lt;br /&gt;I have the following screens:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Splash screen&lt;/li&gt;&lt;li&gt;Main Menu&lt;/li&gt;&lt;li&gt;Player Select &lt;/li&gt;&lt;li&gt;GameScreen&lt;/li&gt;&lt;/ul&gt;My intention is that once the player chooses a mode single player,or vs they will be taken to a screen that will allow the team selection.&lt;br /&gt;&lt;br /&gt;A team could be 2 human players, or 1 Human vs AI.&lt;br /&gt;&lt;br /&gt;There will be other settings that come into effect, such as the amount of points the player can spend, the max number of units, and where the teams are positioned.&lt;br /&gt;&lt;br /&gt;To overcome this issue I believe I need to load the level data first with its pre-defined start / spawn points.&lt;br /&gt;&lt;br /&gt;The level data and team can then be passed into the constructor the for screen game.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The team class:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class Team&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// This list holds all the Characters that are part of the team.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&lt;character&gt; Members = new List&lt;character&gt;();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //If NULL the AI controls the player&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public PlayerIndex? ControllingPlayer = null;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// The highlight colour for the team. This can be used to frame the squares&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// occupied by the Team's members or to shade/colour a part of their sprite&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// in order to clearly indicate at a glance which team a given character is &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// on.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Color Highlight;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Team(PlayerIndex? Player, Color TeamHighlight)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ControllingPlayer = Player;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Highlight = TeamHighlight;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/character&gt;&lt;/character&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2973929216522783479?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2973929216522783479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2973929216522783479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2973929216522783479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2973929216522783479'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/team-selection.html' title='Team Selection'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7454905192935197863</id><published>2010-06-11T16:17:00.000+01:00</published><updated>2010-06-11T16:17:07.595+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='isometric'/><category scheme='http://www.blogger.com/atom/ns#' term='Source Code'/><title type='text'>Old Isometric code</title><content type='html'>I managed to locate my old isometric source code.&lt;br /&gt;&lt;br /&gt;I thought it might be of use to someone :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.neil.copperstream.co.uk/xna/IsoTest.zip"&gt;http://www.neil.copperstream.co.uk/xna/IsoTest.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PPmXe-38Pls&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/PPmXe-38Pls&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7454905192935197863?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7454905192935197863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7454905192935197863' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7454905192935197863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7454905192935197863'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/old-isometric-code.html' title='Old Isometric code'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4518849533068844059</id><published>2010-06-09T15:31:00.000+01:00</published><updated>2010-06-09T15:31:42.510+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reflection'/><title type='text'>Reflection</title><content type='html'>On the XNA forum someone was asking how to create an instance of an object dynamically from the objects name.&lt;br /&gt;&lt;br /&gt;Reflection sprung to mind :)&lt;br /&gt;&lt;br /&gt;Here is some code that you can use in a console app to test the logic.&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; Assembly CurrentAssembly = Assembly.GetExecutingAssembly();&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; object MyOb =&amp;nbsp;&amp;nbsp; CurrentAssembly.CreateInstance("int");&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyOb = 31;&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; int test = 10;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; test = (int)MyOb;&lt;br /&gt;&lt;br /&gt;The test object value should be 31.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4518849533068844059?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4518849533068844059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4518849533068844059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4518849533068844059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4518849533068844059'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/reflection.html' title='Reflection'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-1155093873160209139</id><published>2010-06-07T08:47:00.000+01:00</published><updated>2010-06-07T08:47:28.110+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><title type='text'>Taking a break</title><content type='html'>I apologise in advance for the lack of updates.&lt;br /&gt;&lt;br /&gt;I'm taking a small break from my game to read through the XNA books and learn the best techniques / practices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-1155093873160209139?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/1155093873160209139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=1155093873160209139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1155093873160209139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1155093873160209139'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/taking-break.html' title='Taking a break'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7743330820576638708</id><published>2010-06-02T12:44:00.001+01:00</published><updated>2010-06-02T12:45:21.090+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TODO'/><title type='text'>TODO List</title><content type='html'>This post will be the TODO list for my game.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Input handler&lt;/li&gt;&lt;li&gt;Team selection&lt;/li&gt;&lt;li&gt;Level selection&lt;/li&gt;&lt;li&gt;Load levels from file&lt;/li&gt;&lt;li&gt;Save game progress&lt;/li&gt;&lt;li&gt;Sounds effects&lt;/li&gt;&lt;li&gt;Music&lt;/li&gt;&lt;li&gt;Character graphics&lt;/li&gt;&lt;li&gt;Improve path-finding for 3D maps&lt;/li&gt;&lt;li&gt;Multiplayer support&lt;/li&gt;&lt;li&gt;Single player story&lt;/li&gt;&lt;li&gt;Improve performance for large maps&lt;/li&gt;&lt;li&gt;Shadows and light&lt;/li&gt;&lt;li&gt;Overworld&lt;/li&gt;&lt;li&gt;AI &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7743330820576638708?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7743330820576638708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7743330820576638708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7743330820576638708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7743330820576638708'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/06/todo-list.html' title='TODO List'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-667810072290063602</id><published>2010-05-28T08:44:00.000+01:00</published><updated>2010-05-28T08:44:34.493+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Joke'/><title type='text'>Compiling.......</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://imgs.xkcd.com/comics/compiling.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://imgs.xkcd.com/comics/compiling.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-667810072290063602?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/667810072290063602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=667810072290063602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/667810072290063602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/667810072290063602'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/05/compiling.html' title='Compiling.......'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4471728717313789034</id><published>2010-05-25T12:27:00.001+01:00</published><updated>2010-05-25T12:31:49.158+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wishlist'/><category scheme='http://www.blogger.com/atom/ns#' term='Efilnukefesin'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Book'/><title type='text'>New XNA Book :)</title><content type='html'>A big thank you to&amp;nbsp;&lt;span dir="ltr"&gt;&lt;b&gt;Efilnukefesin &lt;/b&gt;for purchasing XNA Game Studio Unleashed from my Amazon wish-list.&lt;br /&gt;&lt;/span&gt;Its nice to know that people appreciate my blog!&lt;span dir="ltr"&gt;&lt;br /&gt;&lt;br /&gt;This is my 2nd XNA book, &lt;/span&gt;I'm currently reading Riemer's XNA 3.0 games programming book, once I complete that I shall start the Unleashed book.&lt;br /&gt;&lt;span dir="ltr"&gt;&lt;br /&gt;Hopefully from reading both books I will have a better understanding of XNA and be able to post more useful code.&lt;/span&gt;&lt;br /&gt;&lt;dl id="comments-block"&gt;&lt;dd&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4471728717313789034?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4471728717313789034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4471728717313789034' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4471728717313789034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4471728717313789034'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/05/new-xna-book.html' title='New XNA Book :)'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-2191063719796571743</id><published>2010-05-20T08:59:00.000+01:00</published><updated>2010-05-20T08:59:23.705+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='MenuSystem'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>As requested free menu system</title><content type='html'>I have uploaded the source code for my menu system and a simple test app.&lt;br /&gt;&lt;br /&gt;Unfortunately I have not had as much time as I would like polishing the code / comments.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I would like to hear back from anyone that uses the code.&lt;br /&gt;&lt;br /&gt;(hint) My Amazon wish list is on the side of this site..... (/hint)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Download&lt;/b&gt;: &lt;a href="http://www.neil.copperstream.co.uk/xna/MenuLibaray.zip"&gt;http://www.neil.copperstream.co.uk/xna/MenuLibaray.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please note the code is still work in progress!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Class diagram&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_kuxcyPElqwQ/S_TrljwAHII/AAAAAAAAAFo/zM_py7sw28E/s1600/menuSystem.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_kuxcyPElqwQ/S_TrljwAHII/AAAAAAAAAFo/zM_py7sw28E/s640/menuSystem.JPG" width="384" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-2191063719796571743?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/2191063719796571743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=2191063719796571743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2191063719796571743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/2191063719796571743'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/05/as-requested-free-menu-system.html' title='As requested free menu system'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kuxcyPElqwQ/S_TrljwAHII/AAAAAAAAAFo/zM_py7sw28E/s72-c/menuSystem.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7182904469655758553</id><published>2010-05-14T12:55:00.000+01:00</published><updated>2010-05-14T12:55:42.974+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Action'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionMenu'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>Action menu is working</title><content type='html'>Managed to get a few minutes to get the action menu working from within my game.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Video:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EbulyW5F03U&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EbulyW5F03U&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7182904469655758553?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7182904469655758553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7182904469655758553' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7182904469655758553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7182904469655758553'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/05/action-menu-is-working.html' title='Action menu is working'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7713367521176067576</id><published>2010-05-13T20:29:00.000+01:00</published><updated>2010-05-13T20:29:33.964+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='SRPG'/><category scheme='http://www.blogger.com/atom/ns#' term='TRPG'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>Game and Menu system</title><content type='html'>I have finaly got my menu system to a stage where it can be used in my game :)&lt;br /&gt;&lt;br /&gt;So far I have written a delegate for the menu item being chosen.&lt;br /&gt;&lt;br /&gt;The event checks the menu items Text value and then does a switch to the appropiate game call.&lt;br /&gt;&lt;br /&gt;switch((MenuItem)sender.Vaue)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "Cancel":&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActionMenu.Visible = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Over the next week or two I will integrate it into my game and if there is enough demand I will release the source for the menu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7713367521176067576?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7713367521176067576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7713367521176067576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7713367521176067576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7713367521176067576'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/05/game-and-menu-system.html' title='Game and Menu system'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-1235635405977704727</id><published>2010-05-05T17:10:00.000+01:00</published><updated>2010-05-05T17:10:41.735+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Re-usable Game Components'/><title type='text'>Re-Usable Games components 1.1</title><content type='html'>Having started to read Rimers XNA 3.0 book I decided to update the Re-Usable Games components to implement drawable games component class.&lt;br /&gt;&lt;br /&gt;This means you no longer have to manually call draw and update methods providing you register the game components to your game.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Bar HealthBar;&lt;br /&gt;&lt;br /&gt;public Game1()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graphics = new GraphicsDeviceManager(this);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Content.RootDirectory = "Content";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Components.Add(HealthBar = new Bar(this));&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code + Source &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.neil.copperstream.co.uk/xna/NeilsGameComponents.zip"&gt;http://www.neil.copperstream.co.uk/xna/NeilsGameComponents.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-1235635405977704727?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/1235635405977704727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=1235635405977704727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1235635405977704727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1235635405977704727'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/05/re-usable-games-components-11.html' title='Re-Usable Games components 1.1'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8793111232201383228</id><published>2010-04-26T15:27:00.004+01:00</published><updated>2010-06-17T16:46:58.120+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SgtPunishment'/><category scheme='http://www.blogger.com/atom/ns#' term='Re-usable Game Components V1.0'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><title type='text'>Re-Usable Games components Example</title><content type='html'>As some of you maybe aware, SgtPunishment has recently started to use my Re-Usable Games components for his own game.&lt;br /&gt;&lt;br /&gt;Its always nice to hear and see when someone else uses the code/library/components I have created :)&lt;br /&gt;&lt;br /&gt;The code library: &lt;a href="http://moltione.codeplex.com/"&gt;http://moltione.codeplex.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is the video for you all to see:&lt;br /&gt;&lt;br /&gt;Video:&lt;br /&gt;&lt;br /&gt;&lt;object height="392.5" width="520"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8saawUkWikQ&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8saawUkWikQ&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="392.5"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8793111232201383228?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8793111232201383228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8793111232201383228' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8793111232201383228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8793111232201383228'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/04/re-usable-games-components-example.html' title='Re-Usable Games components Example'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4115661633029631592</id><published>2010-04-21T10:11:00.001+01:00</published><updated>2010-04-21T10:14:01.050+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>Inheritance</title><content type='html'>Whilst creating my generic menu system I came across an a scenario where I wanted an action to happen when the list of menu items was increased or decreased.&lt;br /&gt;&lt;br /&gt;List&lt;menuitem&gt; Items = new List&lt;menuitem&gt;();&lt;/menuitem&gt;&lt;/menuitem&gt;&lt;br /&gt;&lt;menuitem&gt; MyMenu.Items.Add(new &lt;/menuitem&gt;MenuItem());&lt;br /&gt;&lt;br /&gt;As with all things code related there are many different ways to achieve this.&lt;br /&gt;&lt;br /&gt;I could store the list size and check it on each update or......&lt;br /&gt;&lt;br /&gt;I could use Inheritance and implement my own System.Collections.CollectionBase (Thank you Drilian for pointing me in the correct direction) :)&lt;br /&gt;&lt;br /&gt;By inheriting the Collection base I get access to a List (container for my menu items) and I need to implement my own methods for Add, Accessing and removal of items.&lt;br /&gt;&lt;br /&gt;Within the Add and Remove Functions I then call the original method I wish to be executed ( WorkOutMenuSize();)&lt;br /&gt;&lt;br /&gt;See the screen shot below of the code for the methods:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/S87BFPfvXtI/AAAAAAAAAFg/JuTH4ypRU7o/s1600/MenuMethods.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="587" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/S87BFPfvXtI/AAAAAAAAAFg/JuTH4ypRU7o/s640/MenuMethods.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4115661633029631592?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4115661633029631592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4115661633029631592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4115661633029631592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4115661633029631592'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/04/inheritance.html' title='Inheritance'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kuxcyPElqwQ/S87BFPfvXtI/AAAAAAAAAFg/JuTH4ypRU7o/s72-c/MenuMethods.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7460970091810719576</id><published>2010-04-15T08:46:00.000+01:00</published><updated>2010-04-15T08:46:58.112+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>Menu System is working</title><content type='html'>My menu system is now working!&lt;br /&gt;&lt;br /&gt;You can activate and de-activate sub menus as well as the ability to know what item was selected.&lt;br /&gt;&lt;br /&gt;Video:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qJiApRLU6dg&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/qJiApRLU6dg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7460970091810719576?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7460970091810719576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7460970091810719576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7460970091810719576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7460970091810719576'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/04/menu-system-is-working.html' title='Menu System is working'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5365324234739953045</id><published>2010-04-14T08:35:00.001+01:00</published><updated>2010-04-14T08:39:26.747+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>Menu System Update #2</title><content type='html'>I have got the rendering working better on the menu system.&lt;br /&gt;&lt;br /&gt;You can now choose if you want the Title to display or not.&lt;br /&gt;&lt;br /&gt;I have also uploaded the class diagram for those of you that maybe interested.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/S8VxE_1psNI/AAAAAAAAAFY/JaNln0Ir2xA/s1600/MenuClass.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="424" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/S8VxE_1psNI/AAAAAAAAAFY/JaNln0Ir2xA/s640/MenuClass.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_kuxcyPElqwQ/S8Vv6POGQWI/AAAAAAAAAFI/4M2BfcuI69U/s1600/menuSystem.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_kuxcyPElqwQ/S8Vv6POGQWI/AAAAAAAAAFI/4M2BfcuI69U/s320/menuSystem.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_kuxcyPElqwQ/S8VwBaokWOI/AAAAAAAAAFQ/V-8fzwcm1Aw/s1600/menuSystem2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_kuxcyPElqwQ/S8VwBaokWOI/AAAAAAAAAFQ/V-8fzwcm1Aw/s320/menuSystem2.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5365324234739953045?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5365324234739953045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5365324234739953045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5365324234739953045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5365324234739953045'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/04/menu-system-update-2.html' title='Menu System Update #2'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kuxcyPElqwQ/S8VxE_1psNI/AAAAAAAAAFY/JaNln0Ir2xA/s72-c/MenuClass.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5311519987077873756</id><published>2010-04-13T08:57:00.002+01:00</published><updated>2010-04-13T08:57:54.150+01:00</updated><title type='text'>Menu System Update</title><content type='html'>Small update on the menu system.&lt;br /&gt;&lt;br /&gt;Got the main menu system rendering, just need to get the sub menus to line up.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/S8Qj8oETbKI/AAAAAAAAAFA/HSenR7_8eZw/s1600/Capture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/S8Qj8oETbKI/AAAAAAAAAFA/HSenR7_8eZw/s320/Capture.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5311519987077873756?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5311519987077873756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5311519987077873756' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5311519987077873756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5311519987077873756'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/04/menu-system-update.html' title='Menu System Update'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kuxcyPElqwQ/S8Qj8oETbKI/AAAAAAAAAFA/HSenR7_8eZw/s72-c/Capture.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-1467158314794274798</id><published>2010-04-09T16:20:00.000+01:00</published><updated>2010-04-09T16:20:29.826+01:00</updated><title type='text'>Over 1000 Visits</title><content type='html'>This blog has now had over 1000 visits since I added the site counter :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-1467158314794274798?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/1467158314794274798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=1467158314794274798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1467158314794274798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/1467158314794274798'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/04/over-1000-visits.html' title='Over 1000 Visits'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-414962353101667974</id><published>2010-03-31T16:24:00.000+01:00</published><updated>2010-03-31T16:24:55.347+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comments'/><title type='text'>Your comments</title><content type='html'>I have noticed from the stats on this Blog that quite alot of people are reading the pages :)&lt;br /&gt;&lt;br /&gt;However very few of you are leaving comments or subscribing.&lt;br /&gt;&lt;br /&gt;I'm very interested to read your comments and find out if my posts have been of use to you or things I could change to make them better.&lt;br /&gt;&lt;br /&gt;So please leave comments!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-414962353101667974?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/414962353101667974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=414962353101667974' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/414962353101667974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/414962353101667974'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/03/your-comments.html' title='Your comments'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6763328616533126139</id><published>2010-03-23T08:18:00.001Z</published><updated>2010-03-23T20:47:52.208Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='No Lives'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><title type='text'>Player has run out of lives</title><content type='html'>Someone on youtube asked me the question:&lt;br /&gt;&lt;br /&gt;"How can I make X happen when a character has 0 lives left".&lt;br /&gt;&lt;br /&gt;For me the solution I would use is to create a Lives variable on the playable character and have a method I call.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int _Lives;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Lives&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return _Lives; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (value&amp;nbsp; &amp;lt;= 0)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CallGameIverMethod();&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _Lives = value;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;I hope this helps someone :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6763328616533126139?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6763328616533126139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6763328616533126139' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6763328616533126139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6763328616533126139'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/03/player-has-run-out-of-lives.html' title='Player has run out of lives'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3917874326873751454</id><published>2010-03-15T16:55:00.000Z</published><updated>2010-03-15T16:55:23.030Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>Menus Menus Menus</title><content type='html'>Just a small update so people know I'm still working on the project... &lt;br /&gt;&lt;br /&gt;I need to create a menu for my game for "in-game" action selection.&lt;br /&gt;&lt;br /&gt;So far I have managed to create a menu project that my main game can reference.&lt;br /&gt;&lt;br /&gt;You have a Menu List and Menu Items (Most of the ideas have been borrowed from the game state management code).&lt;br /&gt;&lt;br /&gt;Picture here:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_kuxcyPElqwQ/S55l1jEcx9I/AAAAAAAAAE4/HgmSs75y0Zo/s1600-h/Menu.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_kuxcyPElqwQ/S55l1jEcx9I/AAAAAAAAAE4/HgmSs75y0Zo/s320/Menu.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As you can see my project also allows for Menu titles :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3917874326873751454?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3917874326873751454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3917874326873751454' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3917874326873751454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3917874326873751454'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/03/menus-menus-menus.html' title='Menus Menus Menus'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_kuxcyPElqwQ/S55l1jEcx9I/AAAAAAAAAE4/HgmSs75y0Zo/s72-c/Menu.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7102270579454011140</id><published>2010-03-01T09:26:00.000Z</published><updated>2010-03-01T09:26:21.519Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Re-usable Game Components V1.0'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Source Code'/><title type='text'>Re-usable Game Components Source Code</title><content type='html'>The source code can now be found at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://moltione.codeplex.com"&gt;http://moltione.codeplex.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7102270579454011140?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7102270579454011140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7102270579454011140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7102270579454011140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7102270579454011140'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/03/re-usable-game-components-source-code.html' title='Re-usable Game Components Source Code'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4730351744025793317</id><published>2010-02-26T12:33:00.001Z</published><updated>2010-06-17T16:49:45.793+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Re-usable Game Components V1.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='Source Code'/><title type='text'>Source code release for Re-usable Game Components</title><content type='html'>I have decided to release the source code for the Re-usable Game Components.&lt;br /&gt;&lt;br /&gt;However you can not claim the work as your own and any updates / fixes you make you must email to me so I can update the source for everyone!! &lt;br /&gt;&lt;br /&gt;I will upload the code over the weekend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4730351744025793317?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4730351744025793317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4730351744025793317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4730351744025793317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4730351744025793317'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/02/source-code-release-for-re-usable-game.html' title='Source code release for Re-usable Game Components'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6871924828596434745</id><published>2010-02-10T02:26:00.003Z</published><updated>2010-06-17T16:48:32.813+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Health bar'/><category scheme='http://www.blogger.com/atom/ns#' term='Re-usable Game Components V1.0'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Counter'/><category scheme='http://www.blogger.com/atom/ns#' term='Clock'/><category scheme='http://www.blogger.com/atom/ns#' term='Timer'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-Bar'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='Free'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Re-usable Game Components V1.0</title><content type='html'>Whilst on the airplane to New York and San Fran I found myself with some time on my hands.&lt;br /&gt;&lt;br /&gt;The flight entertainment wasn't that good so I decided to create a reusable library of commonly used game components.&lt;br /&gt;&lt;br /&gt;The components in release 1.0 are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Counter for use as Score, Ammo, Lifes etc&lt;/li&gt;&lt;li&gt;Timer for use for level time, powerup count down etc&lt;/li&gt;&lt;li&gt;Bar for use as Health bar, shields etc&lt;/li&gt;&lt;/ul&gt;I have also included over-ridable events for Max and Min values being reached, this can be useful for detecting when a character has no life's left, our shields have ran out, engines at full power etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ammo.AtMaxValue += new EventHandler(Ammo_MaxValue);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Image of Library in use&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_kuxcyPElqwQ/S3IXh1g_osI/AAAAAAAAAEw/1NxFj8_9TxQ/s1600-h/libraryTest.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_kuxcyPElqwQ/S3IXh1g_osI/AAAAAAAAAEw/1NxFj8_9TxQ/s320/libraryTest.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Video:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iD138e8JYEU&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/iD138e8JYEU&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to use the library&lt;/b&gt; &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download from&amp;nbsp; &lt;a href="http://moltione.codeplex.com/"&gt;http://moltione.codeplex.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Unzip the DLL&lt;/li&gt;&lt;li&gt;Add it as a reference to your game project&lt;/li&gt;&lt;li&gt;Create an instance of the object that you wish to use e.g. Counter Score = new Counter();&lt;/li&gt;&lt;li&gt;Set the properties for the object to customise it position, value / look e.g. Score.Value = 100;&lt;/li&gt;&lt;li&gt;Include a call to the object Draw method in your games draw call e.g Score.Draw(_SpriteBatch);&lt;/li&gt;&lt;/ol&gt;I have tried to comment each components properties but sure I have missed a few! &lt;br /&gt;&lt;br /&gt;When I get some more spare time I will try and run it through doxygen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Feedback &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Please provide constructive feedback, on the things you like or hate or the features / components you would like to see!&lt;br /&gt;&lt;br /&gt;Please note: this is just version 1.0 but if people find it useful I will continue to update it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I haven't received any feedback so presume either no-one has used it or understands it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have generated some extra documentation:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.neil.copperstream.co.uk/XNA/NeilsGameComponents"&gt;http://www.neil.copperstream.co.uk/XNA/NeilsGameComponents&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Your feedback is important!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6871924828596434745?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6871924828596434745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6871924828596434745' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6871924828596434745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6871924828596434745'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/02/re-usable-game-components-v10.html' title='Re-usable Game Components V1.0'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_kuxcyPElqwQ/S3IXh1g_osI/AAAAAAAAAEw/1NxFj8_9TxQ/s72-c/libraryTest.JPG' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4933722161676686314</id><published>2010-02-07T21:17:00.000Z</published><updated>2010-02-07T21:19:16.741Z</updated><title type='text'>New York</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_kuxcyPElqwQ/S28uVPckq_I/AAAAAAAAAEg/3mgWxJOL5ek/s1600-h/SAM_0017+Stitch-756742.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_kuxcyPElqwQ/S28uVPckq_I/AAAAAAAAAEg/3mgWxJOL5ek/s320/SAM_0017+Stitch-756742.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5435614217717984242" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;BR&gt;&lt;BR&gt; 		 	   		  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4933722161676686314?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4933722161676686314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4933722161676686314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4933722161676686314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4933722161676686314'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/02/new-york.html' title='New York'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kuxcyPElqwQ/S28uVPckq_I/AAAAAAAAAEg/3mgWxJOL5ek/s72-c/SAM_0017+Stitch-756742.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-6605169471717484647</id><published>2010-02-02T16:03:00.002Z</published><updated>2010-02-02T16:48:31.428Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Site Update'/><title type='text'>Site Update</title><content type='html'>Just a few things: &lt;br /&gt;&lt;br /&gt;Some of you may or may not be aware that the blog URL has now changed (&lt;a href="http://blog.neilreed.co.uk/"&gt;http://blog.neilreed.co.uk&lt;/a&gt;)&lt;br /&gt;So please update your bookmarks.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/S2hPMhvX9QI/AAAAAAAAAEY/rfJ5jx7QR8Y/s1600-h/SietVistorMap.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="277" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/S2hPMhvX9QI/AAAAAAAAAEY/rfJ5jx7QR8Y/s400/SietVistorMap.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;I have also added a site counter that is providing some very interesting figures, I'm surprised by the amount of different people that visit and return to my site, along with the keywords they use to find it.&lt;br /&gt;&lt;br /&gt;If you have a static IP let me know and I can label you on the map!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Secondary, I shall be off on my honeymoon (going to the USA) as of Thursday so doubt there will be many if any updates for the rest of Feb (sorry).&lt;br /&gt;&lt;br /&gt;Thirdly please provide feedback as to the articles I post:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Do I go into enough depth?&lt;/li&gt;&lt;li&gt;Do I provide too much info&lt;/li&gt;&lt;li&gt;Are the samples helpful&lt;/li&gt;&lt;li&gt;Do I need to put more videos up&lt;/li&gt;&lt;li&gt;Are there any areas of my game you would like to know more about?&lt;/li&gt;&lt;/ul&gt;Finally please subscribe to my blog if you find it interesting / helpful.&lt;br /&gt;&lt;br /&gt;I'm trying to get a good following for my Blog :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-6605169471717484647?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/6605169471717484647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=6605169471717484647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6605169471717484647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/6605169471717484647'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/02/site-update.html' title='Site Update'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kuxcyPElqwQ/S2hPMhvX9QI/AAAAAAAAAEY/rfJ5jx7QR8Y/s72-c/SietVistorMap.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-194904791880708791</id><published>2010-01-29T09:11:00.000Z</published><updated>2010-01-29T09:11:33.249Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Static'/><category scheme='http://www.blogger.com/atom/ns#' term='Helper Class'/><title type='text'>Helper Classes</title><content type='html'>Whilst working on my game I have found common functions that are needed time and time again.&lt;br /&gt;&lt;br /&gt;Looking at the RPG starter kit they use a FONTS class, this is very useful at it gives a central point for all the fonts and make its easier to update the look of the game. (Almost like CSS). &lt;br /&gt;&lt;br /&gt;Im pro code re-use so decided to do something similar in my game.&lt;br /&gt;&lt;br /&gt;So far I have a UI Helper and a copy of the RPG FONTS class.&lt;br /&gt;&lt;br /&gt;Both classes have been made Static, the advantage being is it can be called from anywhere within my game, you just have to make sure its been initiated before its first use!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-194904791880708791?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/194904791880708791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=194904791880708791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/194904791880708791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/194904791880708791'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/helper-classes.html' title='Helper Classes'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8541716954035431064</id><published>2010-01-26T08:10:00.002Z</published><updated>2010-01-26T17:08:54.510Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Health bar'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><title type='text'>Health Bar Issue</title><content type='html'>It appears my health bar technique has an issue.&lt;br /&gt;&lt;br /&gt;When you zoom in and out the bar size seems to change!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Video:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fLLu7X3YRew&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/fLLu7X3YRew&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I seem to have resolved the bar postioning issue by factoring in the zoom for the Y coordinates.&lt;br /&gt;&lt;br /&gt;My camera object has a Distance attribute 1 - 100 (100 being fully zoomed out)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.SaveState);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int ZoomCorrection = ((int)(1000 / Distance));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int Width = (int)(25 * (100 / Distance));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int Height = (int)(3 * (100 / Distance));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x = (int)ScreenCoordinates.X - (Width / 2);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int y = (int)(ScreenCoordinates.Y + ZoomCorrection);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.Draw(HealthBar, new Rectangle(x, y, Width, Height), null, Color.White);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Video of it working&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BsKz9ocHwHk&amp;hl=en_GB&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BsKz9ocHwHk&amp;hl=en_GB&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8541716954035431064?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8541716954035431064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8541716954035431064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8541716954035431064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8541716954035431064'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/health-bar-issue.html' title='Health Bar Issue'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4694057269126537634</id><published>2010-01-25T10:28:00.003Z</published><updated>2010-01-25T10:35:50.833Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Health bar'/><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='UIHelper'/><title type='text'>Health Bar</title><content type='html'>I have created a method in my UI helper class that will allow for generation of a health bar by passing in the Current and Max values.&lt;br /&gt;&lt;br /&gt;The method could be used to generate a health or MP bars etc.&lt;br /&gt;&lt;br /&gt;Image:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/S11yx_Y1vFI/AAAAAAAAAEI/m0yPqnOKzVM/s1600-h/HealthBars.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/S11yx_Y1vFI/AAAAAAAAAEI/m0yPqnOKzVM/s320/HealthBars.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CUsers%5CNEIL%7E1.REE%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CUsers%5CNEIL%7E1.REE%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CUsers%5CNEIL%7E1.REE%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;/link&gt;&lt;style&gt;&lt;!-- /* Font Definitions */ @font-face	{font-family:"Cambria Math";	panose-1:2 4 5 3 5 4 6 3 2 4;	mso-font-charset:0;	mso-generic-font-family:roman;	mso-font-pitch:variable;	mso-font-signature:-1610611985 1107304683 0 0 159 0;}@font-face	{font-family:Calibri;	panose-1:2 15 5 2 2 2 4 3 2 4;	mso-font-charset:0;	mso-generic-font-family:swiss;	mso-font-pitch:variable;	mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal	{mso-style-unhide:no;	mso-style-qformat:yes;	mso-style-parent:"";	margin-top:0cm;	margin-right:0cm;	margin-bottom:10.0pt;	margin-left:0cm;	line-height:115%;	mso-pagination:widow-orphan;	font-size:11.0pt;	font-family:"Calibri","sans-serif";	mso-ascii-font-family:Calibri;	mso-ascii-theme-font:minor-latin;	mso-fareast-font-family:Calibri;	mso-fareast-theme-font:minor-latin;	mso-hansi-font-family:Calibri;	mso-hansi-theme-font:minor-latin;	mso-bidi-font-family:"Times New Roman";	mso-bidi-theme-font:minor-bidi;	mso-fareast-language:EN-US;}.MsoChpDefault	{mso-style-type:export-only;	mso-default-props:yes;	mso-ascii-font-family:Calibri;	mso-ascii-theme-font:minor-latin;	mso-fareast-font-family:Calibri;	mso-fareast-theme-font:minor-latin;	mso-hansi-font-family:Calibri;	mso-hansi-theme-font:minor-latin;	mso-bidi-font-family:"Times New Roman";	mso-bidi-theme-font:minor-bidi;	mso-fareast-language:EN-US;}.MsoPapDefault	{mso-style-type:export-only;	margin-bottom:10.0pt;	line-height:115%;}@page Section1	{size:595.3pt 841.9pt;	margin:72.0pt 72.0pt 72.0pt 72.0pt;	mso-header-margin:35.4pt;	mso-footer-margin:35.4pt;	mso-paper-source:0;}div.Section1	{page:Section1;}--&gt;&lt;/style&gt;  &lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;///&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: grey; font-size: x-small;"&gt;&lt;summary&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/summary&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; This function returns a texture 2D representing a bar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; showing the current value in proportion to the max value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; This function uses RenderTarget2D therefore must be called before any&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; other UI drawing otherwise you will get a purple screen!&lt;o:p&gt;&lt;/o:p&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&lt;span style="color: grey;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&lt;span style="color: grey;"&gt;&lt;param name="Max" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&lt;span style="color: grey;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;author&gt;&lt;/author&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Neil Reed&lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;date&gt;&lt;/date&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;25-01-2010&lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;version&gt;&lt;/version&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;1.0&lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: grey;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;Texture2D to be used to draw a health / magic bar&lt;/span&gt;&lt;span style="color: grey;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Texture2D&lt;/span&gt; GenerateBar(&lt;span style="color: blue;"&gt;int&lt;/span&gt; Current, &lt;span style="color: blue;"&gt;int&lt;/span&gt; Max)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt; Vars&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;int&lt;/span&gt; BarWidth = 50;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;int&lt;/span&gt; BarHeight = 5;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;int&lt;/span&gt; BoarderOffSet = 2;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="color: #2b91af;"&gt;Double&lt;/span&gt; PercentToDraw = (&lt;span style="color: #2b91af;"&gt;Double&lt;/span&gt;)Current / Max;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Double&lt;/span&gt; EachPercentWidth = (&lt;span style="color: #2b91af;"&gt;Double&lt;/span&gt;)BarWidth / Max;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt; rectangle setup&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Boarder Rectangle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Rectangle&lt;/span&gt; RecBoarder = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Rectangle&lt;/span&gt;(0, 0, BarWidth + (BoarderOffSet * 2), BarHeight + (BoarderOffSet * 2));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Bar Background Rectangle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Rectangle&lt;/span&gt; RecBackGround = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Rectangle&lt;/span&gt;(BoarderOffSet, BoarderOffSet, BarWidth, BarHeight);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Fill Rectangle&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Rectangle&lt;/span&gt; RecFill = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Rectangle&lt;/span&gt;(BoarderOffSet, BoarderOffSet, (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)((PercentToDraw * 100) * EachPercentWidth), BarHeight);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt; draw the bar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;GraphicsDevice&lt;/span&gt; device = &lt;span style="color: #2b91af;"&gt;Tactics&lt;/span&gt;.Game.GraphicsDevice;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;RenderTarget2D&lt;/span&gt; renderTarget = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;RenderTarget2D&lt;/span&gt;(device, RecBoarder.Width,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RecBoarder.Height, 1, device.DisplayMode.Format,&lt;o:p&gt;&lt;/o:p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.PresentationParameters.MultiSampleType,&lt;o:p&gt;&lt;/o:p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.PresentationParameters.MultiSampleQuality, &lt;span style="color: #2b91af;"&gt;RenderTargetUsage&lt;/span&gt;.DiscardContents);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.SetRenderTarget(0, renderTarget);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.Begin(&lt;span style="color: #2b91af;"&gt;SpriteBlendMode&lt;/span&gt;.AlphaBlend,&amp;nbsp; &lt;span style="color: #2b91af;"&gt;SpriteSortMode&lt;/span&gt;.Immediate, &lt;span style="color: #2b91af;"&gt;SaveStateMode&lt;/span&gt;.None);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.Draw(BlankTexture, RecBoarder, &lt;span style="color: #2b91af;"&gt;Color&lt;/span&gt;.Black);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.Draw(BlankTexture, RecBackGround , &lt;span style="color: #2b91af;"&gt;Color&lt;/span&gt;.Gray);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.Draw(BlankTexture, RecFill, &lt;span style="color: #2b91af;"&gt;Color&lt;/span&gt;.Red);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.End();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; device.SetRenderTarget(0, &lt;span style="color: blue;"&gt;null&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; renderTarget.GetTexture();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//TODO generic error handling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: x-small; line-height: 115%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4694057269126537634?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4694057269126537634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4694057269126537634' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4694057269126537634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4694057269126537634'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/health-bar.html' title='Health Bar'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kuxcyPElqwQ/S11yx_Y1vFI/AAAAAAAAAEI/m0yPqnOKzVM/s72-c/HealthBars.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-8446891408725688000</id><published>2010-01-24T00:18:00.001Z</published><updated>2010-01-24T00:18:31.950Z</updated><title type='text'>Concept Art #2</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_kuxcyPElqwQ/S1uR2MscoiI/AAAAAAAAADw/mwHbVplI93M/s1600-h/IMAGE_128-711951.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_kuxcyPElqwQ/S1uR2MscoiI/AAAAAAAAADw/mwHbVplI93M/s320/IMAGE_128-711951.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5430094136031879714" /&gt;&lt;/a&gt;&lt;/p&gt;Concept art #2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-8446891408725688000?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/8446891408725688000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=8446891408725688000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8446891408725688000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/8446891408725688000'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/concept-art-2.html' title='Concept Art #2'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kuxcyPElqwQ/S1uR2MscoiI/AAAAAAAAADw/mwHbVplI93M/s72-c/IMAGE_128-711951.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-3579909699304189699</id><published>2010-01-24T00:15:00.001Z</published><updated>2010-01-24T00:15:46.378Z</updated><title type='text'>Concept Art</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_kuxcyPElqwQ/S1uRMgLWd_I/AAAAAAAAADo/hoSsyNjSFKA/s1600-h/IMAGE_130-746379.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_kuxcyPElqwQ/S1uRMgLWd_I/AAAAAAAAADo/hoSsyNjSFKA/s320/IMAGE_130-746379.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5430093419707267058" /&gt;&lt;/a&gt;&lt;/p&gt;Concept art for game&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-3579909699304189699?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/3579909699304189699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=3579909699304189699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3579909699304189699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/3579909699304189699'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/concept-art.html' title='Concept Art'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kuxcyPElqwQ/S1uRMgLWd_I/AAAAAAAAADo/hoSsyNjSFKA/s72-c/IMAGE_130-746379.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5984127487085877879</id><published>2010-01-21T16:01:00.000Z</published><updated>2010-01-21T16:01:14.784Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='characters'/><category scheme='http://www.blogger.com/atom/ns#' term='AP'/><category scheme='http://www.blogger.com/atom/ns#' term='MP'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><title type='text'>What makes up a character?</title><content type='html'>This is more of a FYI post for people following the game progress. &lt;br /&gt;&lt;br /&gt;Patrick (the other person I'm working with) and myself have came to a point of development where we need to start defining what makes up character "jobs/classes".&lt;br /&gt;&lt;br /&gt;Getting the balance correct can make a huge difference to a game. &lt;br /&gt;&lt;br /&gt;Patrick has done an excellent job of creating the diagrams below:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_kuxcyPElqwQ/S1h5dlgF4aI/AAAAAAAAADA/6Y4e_AQy9AM/s1600-h/image002.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_kuxcyPElqwQ/S1h5dlgF4aI/AAAAAAAAADA/6Y4e_AQy9AM/s320/image002.jpg" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_kuxcyPElqwQ/S1h5t-9hHMI/AAAAAAAAADg/iu8o2f632K8/s1600-h/image007.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_kuxcyPElqwQ/S1h5t-9hHMI/AAAAAAAAADg/iu8o2f632K8/s320/image007.jpg" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/S1h5smpTSSI/AAAAAAAAADY/vjkykyJJNEk/s1600-h/image006.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/S1h5smpTSSI/AAAAAAAAADY/vjkykyJJNEk/s320/image006.png" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_kuxcyPElqwQ/S1h5ptamHmI/AAAAAAAAADI/X__sepADFOo/s1600-h/image004.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_kuxcyPElqwQ/S1h5ptamHmI/AAAAAAAAADI/X__sepADFOo/s320/image004.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5984127487085877879?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5984127487085877879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5984127487085877879' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5984127487085877879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5984127487085877879'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/what-makes-up-character.html' title='What makes up a character?'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kuxcyPElqwQ/S1h5dlgF4aI/AAAAAAAAADA/6Y4e_AQy9AM/s72-c/image002.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-5589146985369976590</id><published>2010-01-19T12:07:00.000Z</published><updated>2010-01-19T12:07:28.621Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='2D Text'/><category scheme='http://www.blogger.com/atom/ns#' term='Viewport.Project'/><category scheme='http://www.blogger.com/atom/ns#' term='RenderTarget2D'/><category scheme='http://www.blogger.com/atom/ns#' term='Screen Position'/><category scheme='http://www.blogger.com/atom/ns#' term='2D vs 3D'/><title type='text'>Drawing text above selected characters head</title><content type='html'>I have decided that I want to be able to display information above the characters head.&lt;br /&gt;&lt;br /&gt;The method I'm using is: RenderTarget2D to create a texture containing the information/ image I require. This could be simple text or a health bar etc. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public Texture2DGetAboveCharacterText()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int width = (int)font.MeasureString("This is a test").X;&lt;br /&gt;int height = (int)font.MeasureString("This is a test").Y;&lt;br /&gt;&lt;br /&gt;GraphicsDevice device = Tactics.Game.GraphicsDevice;&lt;br /&gt;&lt;br /&gt;RenderTarget2D renderTarget = new RenderTarget2D(device, width,&lt;br /&gt;height, 1, device.DisplayMode.Format,&lt;br /&gt;device.PresentationParameters.MultiSampleType,&lt;br /&gt;device.PresentationParameters.MultiSampleQuality, RenderTargetUsage.DiscardContents);&lt;br /&gt;&lt;br /&gt;device.SetRenderTarget(0, renderTarget);&lt;br /&gt;&lt;br /&gt;spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None);&lt;br /&gt;&lt;br /&gt;spriteBatch.DrawString(font, "This is a test", new Vector2(0, 0), Color.Red);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;spriteBatch.End();&lt;br /&gt;&lt;br /&gt;device.SetRenderTarget(0, null);&lt;br /&gt;return renderTarget.GetTexture();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once I have the texture I save it and draw that image. Upon character statistics changing I re-generate the image.&lt;br /&gt;&lt;br /&gt;To draw the image in the correct position I use the Viewport.Project() method.&lt;br /&gt;&lt;br /&gt;I pass in the position of the 3D object (vector3) and the cameras Project, View and World.&lt;br /&gt;&lt;br /&gt;GraphicsDevice device = Tactics.Game.GraphicsDevice;&lt;br /&gt;&lt;br /&gt;Vector3 ScreenCoordinates = device.Viewport.Project(base.Position, camera.Projection, camera.View, camera.World); &lt;br /&gt;&lt;br /&gt;spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.SaveState);&lt;br /&gt;&lt;br /&gt;spriteBatch.Draw(txYourText, new Rectangle((int)ScreenCoordinates.X, (int)ScreenCoordinates.Y, txYourText.Width, txYourText.Height), Color.White);&lt;br /&gt;&lt;br /&gt;spriteBatch.End();&lt;br /&gt;&lt;br /&gt;Of cause I need to alter the position to make the image drawn centre and above the characters head.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_kuxcyPElqwQ/S1Wf4NZkLsI/AAAAAAAAAC4/aNWQ2BSZvzE/s1600-h/ImageAboveHead.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_kuxcyPElqwQ/S1Wf4NZkLsI/AAAAAAAAAC4/aNWQ2BSZvzE/s320/ImageAboveHead.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-5589146985369976590?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/5589146985369976590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=5589146985369976590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5589146985369976590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/5589146985369976590'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/drawing-text-above-selected-characters.html' title='Drawing text above selected characters head'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kuxcyPElqwQ/S1Wf4NZkLsI/AAAAAAAAAC4/aNWQ2BSZvzE/s72-c/ImageAboveHead.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-7097033513133202397</id><published>2010-01-14T08:51:00.001Z</published><updated>2010-01-14T10:21:16.042Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='foreach'/><category scheme='http://www.blogger.com/atom/ns#' term='Delegation'/><title type='text'>Delegation and foreach loops</title><content type='html'>I'm sure at some point we have all had to use a foreach loop to locate an item from a collection where a condition is true.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;Egg GoldenEgg = null;&lt;br /&gt;&lt;br /&gt;foreach(Egg objEgg in Basket)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(objEgg.isGolden)&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GoldenEgg= objEgg; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Whilst the above method is perfectly acceptable it is deem more efficient to use a delegate:&lt;br /&gt;&lt;br /&gt;Egg GoldenEgg = Basket.Find(delegate(Egg objEgg) { return (objEgg.isGolden== true); });&lt;br /&gt;&lt;br /&gt;Then you just need to do a simple check if the GoldenEggis null.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Warning &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It appears for xna the above method would create unwanted garbage collection so do not use for anywhere that FPS needs to be high!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-7097033513133202397?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/7097033513133202397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=7097033513133202397' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7097033513133202397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/7097033513133202397'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/delegation-and-foreach-loops.html' title='Delegation and foreach loops'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8050040038124630758.post-4901718839778456433</id><published>2010-01-14T08:42:00.000Z</published><updated>2010-01-14T08:42:46.252Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='spell check'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox spell check no longer working</title><content type='html'>After updating firefox I noted my spell check was no longer working.&lt;br /&gt;&lt;br /&gt;If your anything like me you will miss the active spell checking as you type!&lt;br /&gt;&lt;br /&gt;It turns out that after the update it no longer had the required dictionary.&lt;br /&gt;&lt;br /&gt;To fix this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open Firefox&lt;/li&gt;&lt;li&gt;Find a text box that you can type in and right click it&lt;/li&gt;&lt;li&gt;Click Add Dictonary (this should take you to:&lt;a href="https://addons.mozilla.org/en-US/firefox/browse/type:3"&gt; https://addons.mozilla.org/en-US/firefox/browse/type:3)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Choose your language, and install.&lt;/li&gt;&lt;li&gt;Restart Firefox &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8050040038124630758-4901718839778456433?l=blog.neilreed.co.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.neilreed.co.uk/feeds/4901718839778456433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8050040038124630758&amp;postID=4901718839778456433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4901718839778456433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8050040038124630758/posts/default/4901718839778456433'/><link rel='alternate' type='text/html' href='http://blog.neilreed.co.uk/2010/01/firefox-spell-check-no-longer-working.html' title='Firefox spell check no longer working'/><author><name>Neil</name><uri>http://www.blogger.com/profile/11886122937038059966</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://2.bp.blogspot.com/_kuxcyPElqwQ/SugcKjvZ9hI/AAAAAAAAABs/uMVe48hlcOI/S220/cookie-monster3-776987.jpg'/></author><thr:total>0</thr:total></entry></feed>
