<?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'><id>tag:blogger.com,1999:blog-17641627</id><updated>2009-11-25T17:33:15.122Z</updated><title type='text'>Path Constraint</title><subtitle type='html'>A 2D/3D game artist journal.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pathconstraint.blogspot.com/atom.xml'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17641627.post-3196620949264972868</id><published>2009-11-06T17:19:00.001Z</published><updated>2009-11-06T17:19:21.437Z</updated><title type='text'>Forza!!!</title><content type='html'>&lt;p&gt;Well it’s 17:13 on a Friday, I am waiting for the new version of the Editor to load, compiling the game and building assets at the same time so I can start Monday with a fresh build!&lt;/p&gt; &lt;p&gt;So here is something I did this yesterday morning, It took me about an hour on the Forza Vinyl Group Editor, and 112 Shapes. &lt;/p&gt; &lt;p&gt;Now I have a more complete version up on the Store Front, just look for Lionhead.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_-vwm4coLBrY/SvRakFm3TZI/AAAAAAAAAG0/1oVrL57B1FA/s1600-h/Lionhead%5B10%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Lionhead" border="0" alt="Lionhead" src="http://lh5.ggpht.com/_-vwm4coLBrY/SvRakg6G-UI/AAAAAAAAAG4/ZBPgcFqwptg/Lionhead_thumb%5B8%5D.jpg?imgmax=800" width="400" height="225"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_-vwm4coLBrY/SvRakxmogaI/AAAAAAAAAG8/UzLgm3qZv1I/s1600-h/Lionhead2%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Lionhead2" border="0" alt="Lionhead2" src="http://lh3.ggpht.com/_-vwm4coLBrY/SvRalRk9uOI/AAAAAAAAAHA/QC9fK31E7Oo/Lionhead2_thumb%5B2%5D.jpg?imgmax=800" width="400" height="225"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_-vwm4coLBrY/SvRal6v3oWI/AAAAAAAAAHE/eMO2P6eYN80/s1600-h/Lionhead3%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Lionhead3" border="0" alt="Lionhead3" src="http://lh4.ggpht.com/_-vwm4coLBrY/SvRamIwfgHI/AAAAAAAAAHI/bkHypAog3BE/Lionhead3_thumb%5B3%5D.jpg?imgmax=800" width="400" height="225"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-3196620949264972868?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/3196620949264972868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=3196620949264972868' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/3196620949264972868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/3196620949264972868'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/11/forza.html' title='Forza!!!'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-5709813148301704210</id><published>2009-09-05T10:25:00.002+01:00</published><updated>2009-09-05T10:26:37.517+01:00</updated><title type='text'>A long needed post about Lua</title><content type='html'>&lt;p&gt;&lt;a href="http://www.lua.org" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="lua_logo" border="0" alt="lua_logo" src="http://lh6.ggpht.com/_-vwm4coLBrY/SqIugXFW-tI/AAAAAAAAAGY/8pDX--Zupmg/lua_logo%5B8%5D.png?imgmax=800" width="200" height="196"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Lua is a scripting language created in Brazil, more specifically in the (Pontifícia Universidaded Católica do Rio, PUC-RIO).&lt;/p&gt; &lt;p&gt;Quoting their own website: “Lua is a powerful, fast, lightweight, embeddable scripting language.” Which is pretty accurate in my opinion, and probably in the opinion of everyone that works with it in a daily basis.&lt;/p&gt; &lt;p&gt;More importantly though, is that Lua is widely used as a scripting language in games. A lot of major companies use it, and a lot of well known games have published games using LUA. I worked in Fable 2 which is one of them, and I carry on working with it in Fable 3.&lt;/p&gt; &lt;p&gt;Two very important features of Lua in my opinion are the flexible variables, a Lua variable can take anything, integers, floats, strings, tables, enums, and their type can change on the fly so&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font face="cou"&gt;&lt;strong&gt;&lt;font color="#00ffff"&gt;if&lt;/font&gt;&lt;/strong&gt; &lt;font color="#ffffff"&gt;a == 1&lt;/font&gt;&lt;font color="#00ffff"&gt; &lt;strong&gt;then&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="cou"&gt;&lt;font color="#ffffff"&gt;a = &lt;/font&gt;&lt;font color="#ff80ff"&gt;”I changed the variable to contain this string”&lt;/font&gt;&lt;br&gt;&lt;font color="#00ffff"&gt;&lt;strong&gt;end&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;is perfectly valid.&lt;/p&gt; &lt;p&gt;The other one, and probably the most important feature of Lua are tables. Tables are a way of storing data, much like an Array, but a lot more powerful.&lt;/p&gt; &lt;p&gt;Tables are a sequence of Lua variables, so each entry of the table can contain a different type, and even other tables. And this is just amazing. After you used Lua tables you start wondering why the hell no other language has a feature like this.&lt;/p&gt; &lt;p&gt;I use C# for my XNA personal projects, and I was thinking about implementing a Lua style tables into it just because I miss it so much when I’m using C#.&lt;/p&gt; &lt;p&gt;Of course, these are just a couple of cool things about Lua, there are a ton more.&lt;/p&gt; &lt;p&gt;You can Download Lua &lt;a href="http://www.lua.org/download.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-5709813148301704210?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/5709813148301704210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=5709813148301704210' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5709813148301704210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5709813148301704210'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/09/long-needed-post-about-lua.html' title='A long needed post about Lua'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-5925762916039361220</id><published>2009-07-21T14:13:00.004+01:00</published><updated>2009-07-21T14:54:18.500+01:00</updated><title type='text'>New Project and doh!</title><content type='html'>I should be ashamed of myself. I have gone and shelved my last project, yes the space one I was so excited about. But I did it in favour of a much simpler and feasible one and I intend going back to it at a later date.&lt;br /&gt;&lt;br /&gt;So my new project is 2D, and is coming along nicely. The last thing I did was plugging in the &lt;a href="http://www.codeplex.com/FarseerPhysics"&gt;Farseer Physics Engine&lt;/a&gt; to it.&lt;br /&gt;&lt;br /&gt;I was thinking about writing my own physics library but then I'd be left with a complexity that I'm not really too concerned about. I took a look at the Farseer Demoes and it looks like it does pretty much I need it to do, and it has nice debug viewing library that it come in handing when trying to figure out what is going one.&lt;br /&gt;&lt;br /&gt;I plugged in the Body and Geom in my entities, and a PhysicsSimulator, and shazam, they &lt;span style="font-weight:bold;"&gt;JustWorked™&lt;/span&gt;. But something was wrong, my two entities were not coliding.&lt;br /&gt;&lt;br /&gt;After some debugging and deep thought at 8:30 in the morning, I scream DOH! (I have created a new PhysicsSimulator for each entity so they were totally unaware of each other), that's when &lt;a href="http://ana.digiduo.com"&gt;my wife&lt;/a&gt; kicked me off the room saying: "I'm trying to write here!"&lt;br /&gt;&lt;br /&gt;She is working on her PhD thesis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-5925762916039361220?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/5925762916039361220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=5925762916039361220' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5925762916039361220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5925762916039361220'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/07/new-project-and-doh.html' title='New Project and doh!'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-2470534730099647853</id><published>2009-06-01T16:35:00.001+01:00</published><updated>2009-06-01T16:35:34.432+01:00</updated><title type='text'>Watch our announcements LIVE</title><content type='html'>&lt;p&gt;&lt;a title="http://www.xbox.com/en-GB/e309/default.htm" href="http://www.xbox.com/en-GB/e309/default.htm"&gt;http://www.xbox.com/en-GB/e309/default.htm&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-2470534730099647853?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/2470534730099647853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=2470534730099647853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/2470534730099647853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/2470534730099647853'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/06/watch-our-announcements-live.html' title='Watch our announcements LIVE'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-7712546819445085751</id><published>2009-05-29T17:35:00.001+01:00</published><updated>2009-05-29T17:35:23.288+01:00</updated><title type='text'>Geek Chart</title><content type='html'>&lt;p&gt;I just added it to the blog. It is supposed to track my geeky activity and show the world how much of a geek I am, and how much time I spend with Internet Novelties. Just signed up for stumble upon just so the chart would be complete. What a total dork.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-7712546819445085751?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/7712546819445085751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=7712546819445085751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7712546819445085751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7712546819445085751'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/05/geek-chart.html' title='Geek Chart'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-5630543761287440477</id><published>2009-05-29T09:12:00.001+01:00</published><updated>2009-05-29T09:12:03.841+01:00</updated><title type='text'>It’s AAAliveeee!!!…. well sort of.</title><content type='html'>&lt;p&gt;Yesterday evening I began to inject some life into my entities by coding the Behaviour Class that goes inside the CSimpleAI Component, my first AI component in the game, which, at least for now, is the very basic Brain of my entities. The cool thing being obviously, that not every entity has a that component.&lt;/p&gt; &lt;p&gt;This morning I finished coding the very basic first behaviour to make into the game. BehaviourGoToPosition, which takes an entity, a Vector in the 3D space(&lt;font face="Courier New"&gt;target_position&lt;/font&gt;), and a speed value. The AI component takes care of passing the parent entity that it belongs to on the the Behaviour it currently has, and the values I passed as the &lt;font face="Courier New"&gt;target_position&lt;/font&gt;, and &lt;font face="Courier New"&gt;speed&lt;/font&gt; where totally hardcoded and arbitrary… calm down there! I’m just kick starting the whole thing.&lt;/p&gt; &lt;p&gt;A added this behaviour to the component as the initial Behaviour and &lt;em&gt;voilà&lt;/em&gt;!!!&lt;/p&gt; &lt;p&gt;The entity quickly went where it should be going! OH! The joy of creating “life”!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-5630543761287440477?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/5630543761287440477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=5630543761287440477' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5630543761287440477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5630543761287440477'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/05/its-aaaliveeee-well-sort-of.html' title='It’s AAAliveeee!!!…. well sort of.'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-1878017613414951910</id><published>2009-05-25T16:32:00.001+01:00</published><updated>2009-05-25T16:32:20.762+01:00</updated><title type='text'>Progress at last</title><content type='html'>&lt;p&gt;It’s bank holiday Monday so instead of slacking and playing games all day long I played a bit in the morning then had to drag myself to the front of the computer to tackle the problem I have been long stuck on.&lt;/p&gt; &lt;p&gt;I had no idea how to reference the parent Entity inside the components. It was pretty simple really.&lt;/p&gt; &lt;p&gt;All I had to do was to add a function to my IComponent interface (and implement them in the Components).&lt;/p&gt; &lt;p&gt;EntityBase GetParentEntity()&lt;br&gt;void SetParentEntity(Entitybase entity).&lt;/p&gt; &lt;p&gt;Now when I add the component that I read from the Data I have in the XML file, I also add a reference to the parent entity.&lt;/p&gt; &lt;p&gt;component.SetParentEntity(this)&lt;/p&gt; &lt;p&gt;it was very simple and it was right in front of me all along, but it took a long thread from people from work to get the idea right in my head.&lt;/p&gt; &lt;p&gt;Now on to implementing SimpleAI. Now we are moving into more complex stuff.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-1878017613414951910?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/1878017613414951910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=1878017613414951910' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/1878017613414951910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/1878017613414951910'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/05/progress-at-last.html' title='Progress at last'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-5030121364905278618</id><published>2009-05-07T11:19:00.001+01:00</published><updated>2009-05-07T11:19:33.140+01:00</updated><title type='text'>A blog by email test</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://pathconstraint.digiduo.com/uploaded_images/photo-773141-773174.jpg"&gt;&lt;img src="http://pathconstraint.digiduo.com/uploaded_images/photo-773141-773170.jpg"  border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;A bit of my desk...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-5030121364905278618?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/5030121364905278618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=5030121364905278618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5030121364905278618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5030121364905278618'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/05/blog-by-email-test.html' title='A blog by email test'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-2594599994704955898</id><published>2009-05-06T11:57:00.001+01:00</published><updated>2009-05-06T11:57:35.313+01:00</updated><title type='text'>Hiatus</title><content type='html'>&lt;p&gt;I haven’t been very good lately. Left my project untouched for a couple of months. I hit a road block on my entity building, and my brain froze. That and I had some games to go through.&lt;/p&gt; &lt;p&gt;Prince of Persia: Pretty good, most critics say is far too easy, I say is fluid. I really liked the experience. The Epilogue bit has all the nagging issues of the old Prince of Persia Games that made them frustrating. It’s almost like they tried to make up for the fact that the game was “too” user friendly. The part that I liked. Specially after playing the nearly pixel perfect jumping and thoroughly convoluted experience that is Mirror’s Edge. Don’t get me wrong, it’s a great design and with lot’s of production value but it keeps forgetting why did it came to this world, and what the fun part of the game is “free running”. It’s almost like someone that wasn’t working directly on the project gone and said… hmm… you need more combat, more enemies, there isn’t enough frustration in the game.&lt;/p&gt; &lt;p&gt;Dead Space: I decided that I had “cojones” and chose to play it on Hard from the start, just like I did with Gears of War 2, Halo 3, Bioshock and some other FPS. Damn! Dead Space is hard. Hard and scary, Yatzee forgive me but he is probably suffered from horror desensitization or something. This game scares the crap out of me and I found myself too stressed out to carry on playing. When I come back I will probably put the difficult down… maybe…I want those extra achievements.&lt;/p&gt; &lt;p&gt;And that brings me to the last one, which probably should require a post of it’s own.&lt;/p&gt; &lt;p&gt;&lt;a href="http://banjo-kazooie.com/"&gt;Banjo-Kazooie: Nuts &amp;amp; Bolts&lt;/a&gt; by my fellow colleagues at &lt;a href="http://www.rareware.com"&gt;Rare&lt;/a&gt;: God what a fantastic game! Though you really need to spend more than five hours on it to start enjoying it. It is a &lt;strong&gt;meta-linguistic-piece-of-art-of-a-game&lt;/strong&gt; if ever there was one. &lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;i&gt;“Hero Klungo Sssavesss Teh World”&lt;/i&gt;&lt;/b&gt; is the work of a genius.&lt;/p&gt; &lt;p&gt;I know the whole “Are games art?” malarkey depends on a very subjective point of view, and what is your personal conception of art, and blah, blah, blah...&amp;nbsp; and for most it’s not even worth discussing, but in my opinion, that little “fake” 8-bit platformer touches so many subjects with such subtlety that it can’t be just out of pure luck, it’s true genius. It’s like the game is an very tongue-in-cheek interactive statement about everything that was wrong with pixel-perfect platformers, while touching subjects of game programming, art, design, production, and the whole game development process. It may be that you may need to be a hardcore gamer or actually work in the games industry to get the humour of it. It’s a piece of art directed to a niche, but a piece of art nonetheless.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-2594599994704955898?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/2594599994704955898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=2594599994704955898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/2594599994704955898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/2594599994704955898'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/05/hiatus.html' title='Hiatus'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-6495997280258308284</id><published>2009-03-11T08:50:00.001Z</published><updated>2009-03-11T08:50:08.200Z</updated><title type='text'>A different approach</title><content type='html'>&lt;p&gt;I was looking at my post the other day and thinking about the whole scheduling malarkey. So I have asked for some input from a friend and colleague. We are both lucky because I give him a lift to work every day and I get to pick his brains, so, I think it’s a fair deal.&lt;/p&gt; &lt;p&gt;He said that I really shouldn’t over plan things because due to my level of experience in software engineering it is likely that I’ll get a lot of things wrong. Even experienced engineers make mistakes and have to do a lot of rework. I should try a different approach.&lt;/p&gt; &lt;p&gt;So this is basically his advice. Look to your project and think about what you need it to do, and everything you think you might need in order to get that to happen. Plan those tasks, prioritize according to the dependencies and then start coding straight away. You will get results, and your project will move forward, there will be a lot of refactoring but there would be a lot of refactoring anyways because it’s unlikely that you will stick with the first implementation of any code that you write, and Get Cracking.&lt;/p&gt; &lt;p&gt;So I chose something I need to do. I need to have a spaceship on the screen that moves around, and can be targeted, attacked, destroyed and can fight back. Doesn’t seem much. But breaking down what I need to make this happen I came across a small mountain of work.&lt;/p&gt; &lt;p&gt;So far I have a pretty busy schedule that leads up to the end of April. In total I have:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;4 Art Tasks: No big deal&lt;/li&gt; &lt;li&gt;1 Audio Task: No big deal&lt;/li&gt; &lt;li&gt;31 Code Tasks: Ahem…&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;And I can start working straight away. At least I already have a secondary viewport that draws my current target on in. Pretty neat… but I guess I’ll only put a video of it when I finish my March/April Sprint.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-6495997280258308284?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/6495997280258308284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=6495997280258308284' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/6495997280258308284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/6495997280258308284'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/03/different-approach.html' title='A different approach'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-5782371000982673128</id><published>2009-03-11T08:32:00.001Z</published><updated>2009-03-11T08:34:07.248Z</updated><title type='text'>And the winner is</title><content type='html'>&lt;p&gt;&lt;a href="http://www.bafta.org/awards/video-games/nominations,664,BA.html" target="_blank"&gt;&lt;img title="bafta" style="display: inline" height="60" alt="bafta" src="http://lh5.ggpht.com/_-vwm4coLBrY/Sbd3L4YSH9I/AAAAAAAAAFo/PEt4iPTYz3M/bafta%5B6%5D.jpg?imgmax=800" width="240"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I am thrilled that FABLE II has won the BAFTA for Action &amp;amp; Adventure Game last night!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-5782371000982673128?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/5782371000982673128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=5782371000982673128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5782371000982673128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5782371000982673128'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/03/and-winner-is.html' title='And the winner is'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-8765868340811396110</id><published>2009-03-09T13:34:00.001Z</published><updated>2009-03-09T13:34:54.687Z</updated><title type='text'>The Boring Stuff?</title><content type='html'>&lt;p&gt;I got to a point of my little XNA project that I’m quite comfortable to set myself a deadline for completion. Two years. TWO YEARS??? Well… I am working on my own after all, and it’s a little but ambitious projects.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Now, if I want to get this out of the door I need to set myself some deadlines… Let’s say, Complete my code by next March, have all the final Assets in game by next September, and have six months to fix bugs and polish. &lt;/p&gt; &lt;p&gt;It’s all fun and games when you are coding and you get visual improvements on the screen. There is a sense that things are moving forward. Up to this point I have been pretty much doing what I felt like doing. All important things that were needed in the final project but now I have reached a point when every time I want to sit down and do some work on it, I need to first spend about an hour reviewing the code I have already written trying to work out what my next step should be. And that’s wasting precious time. Especially because I might decide to work on something that isn’t as important than something else in the huge mountain of works there is to be done.&lt;/p&gt; &lt;p&gt;How big is the mountain? How many things do I have to do, what should I be working on now? The good thing about being working on the games industry is that I now have a pretty good picture of how game development works as a whole. And how much more work there is to be done than one actually would think there was, and how we go about managing the production cycles. &lt;/p&gt; &lt;p&gt;The big difference here is that I am on my own and I can’t do everything simultaneously like it’s done in the industry. But I need to take advantage of that. In the development process of a large game there is a lot of reworking, things that get changed, chucked away, designs that sprout out of nowhere in the middle of a milestone, and other things like that. Most of this is because things are done simultaneously and due to communication problems. Unless I get a split personality in the middle of the process communication with myself isn’t exactly a problem so when I tell myself I need these model to look like this, I will immediately understand what I mean and won’t spend two days working on something that does not please me. And I won’t do things simultaneously, which means it’s unlikely that things I change will have an unexpected effect, and if they do I can resolve it there an then. All and all it means that the project will move a lot slower but it should be leaner.&lt;/p&gt; &lt;p&gt;Basically, looking to the near future of the project there is little code work to be done, but lots of planning. Up until the end of the month I need to have:&lt;/p&gt; &lt;p&gt;Finished the design of the Mechanics and Systems.&lt;br&gt;Model the Code Structure&lt;br&gt;Schedule Code Tasks&lt;br&gt;Schedule the whole project.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-8765868340811396110?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/8765868340811396110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=8765868340811396110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/8765868340811396110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/8765868340811396110'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/03/boring-stuff.html' title='The Boring Stuff?'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-6161032924227014688</id><published>2009-03-04T09:32:00.001Z</published><updated>2009-03-04T11:26:08.619Z</updated><title type='text'>On the 360</title><content type='html'>&lt;p&gt;I have finally managed to deploy my project to the 360 for the first time, after a bit of a battle of wits against the XNA content Pipeline.&lt;/p&gt; &lt;p&gt;It’s an awesome Pipeline for small games but I took sometime to get my head around it. Now Inside my solution I have 5 Projects.&lt;/p&gt; &lt;p&gt;Here is how it’s roughly organized.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;A Windows Game Project containing the game code.  &lt;li&gt;A Windows Game Library that contains readers and importers. It also contains all of my Assets, this is an awesome idea given to me by a friend, which means I don’t have to build my assets every time I change something in the game code.  &lt;li&gt;A Windows Pipeline that Contains my Type Writers. This was the tricky part to get my head around, since the Content Pipeline will only run on Windows and only at build time, so you don’t created a version of it for Xbox because you don’t need to. You use a reference to the same pipeline project in both your windows and Xbox Game Libraries.  &lt;li&gt;An Xbox360 Game Library that is a copy of my Windows Game Library with some reference changes.  &lt;li&gt;A Xbox Game Project that is a copy of my windows Game project with some changes to the references.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;And now I also added Source Control to my Project, using &lt;a href="http://www.perforce.com/"&gt;Perforce&lt;/a&gt; (That is free for use with up to two clients, and I’m only one).&lt;/p&gt; &lt;p&gt;Here is a little video of it all running. Don’t mind the quality of the video because it was made using my fairly old digital camera.&lt;/p&gt; &lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8Fe2rd2F8EY&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/8Fe2rd2F8EY&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;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-6161032924227014688?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/6161032924227014688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=6161032924227014688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/6161032924227014688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/6161032924227014688'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/03/on-360.html' title='On the 360'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-4923431937534154499</id><published>2009-02-26T16:24:00.001Z</published><updated>2009-02-26T16:24:28.324Z</updated><title type='text'>Fixing UTF-8 Problems</title><content type='html'>&lt;p&gt;I have changed the encoding settings for the blog, because it was spitting out wrong characters when posting from Windows Live Writer.&lt;/p&gt; &lt;p&gt;I have changed the settings now and hopefully it should fix it… let’s put a lot’s of unusual characters for the English language like ( ç â ã á ) and see if they show up properly. Reason for this is that I want to be free to post in Portuguese (Português-BR) if I want to. Although I think this should be pretty rare.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-4923431937534154499?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/4923431937534154499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=4923431937534154499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4923431937534154499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4923431937534154499'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/02/fixing-utf-8-problems.html' title='Fixing UTF-8 Problems'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-8236436592081310998</id><published>2009-02-23T20:51:00.001Z</published><updated>2009-02-26T16:25:50.255Z</updated><title type='text'>Windows Live Writer</title><content type='html'>&lt;p&gt;There is this new tool that came in with the New Windows Live Messenger that is the Windows Live Writer. A Blog Writer that you without the need to log in into you blog’s dashboard, and you can save local drafts, and has spell checking. Probably the one that is bundle with my Microsoft office pack. Neat. Let’s see if it works… testing… now.&lt;/p&gt; &lt;p&gt;(EDIT: Fixed the weird characters)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-8236436592081310998?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/8236436592081310998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=8236436592081310998' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/8236436592081310998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/8236436592081310998'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/02/windows-live-writer.html' title='Windows Live Writer'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-7256798539608051379</id><published>2009-02-22T15:43:00.007Z</published><updated>2009-02-22T16:58:20.528Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='Particles'/><title type='text'>Progress II</title><content type='html'>After being able to write my Level Data from XSI and read it in XNA in a tidy XML form I decided to tackle a different problem: The fact that in a completely empty space you have absolutely no notion of where are you going to and from.&lt;br /&gt;&lt;br /&gt;I decided for a neat Point Sprite particle system to dot some "space dust" around you.&lt;br /&gt;&lt;br /&gt;This implementation is on it's very early stage and it's just an example of what is going to feel like. What you see in the video below is basically a "Box full of sprites". Note that their size does not change with the distance, something I can probably resolve by rewriting the ".fx" file. I will need to do that anyway to have teh Particle system deasling with things like particle life, speed, duration, render distance, etc.&lt;br /&gt;&lt;br /&gt;Then I need to write individual Particle Settings and systems for the different needs I have such as explosions, Projectiles, trails, etc.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="264"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uEZrkvUCemk&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/uEZrkvUCemk&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="264"&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/17641627-7256798539608051379?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/7256798539608051379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=7256798539608051379' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7256798539608051379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7256798539608051379'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/02/progress-ii.html' title='Progress II'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-4391572481516705395</id><published>2009-02-15T18:05:00.003Z</published><updated>2009-02-15T18:30:07.925Z</updated><title type='text'>Progress</title><content type='html'>I have to say. I am amazed at the progress I have made on my little project over the weekend. Nothing that I can post a screenshot of though because the progress was made entirely in the background.&lt;br /&gt;&lt;br /&gt;I got my bearings with XSI, I come from years of tinkering with 3Dsmax so I still prefer it, but I am confortable with the interface now and I am actually very impressed at the level of exposure that XSI offers to the end user, so scripting for it has been rather good. Not that I needed anything too complex but with Max I never even tried dwelling into MaxScript, and XSI offers an advantage here, you can script in two languages "out of the box", VBScript and JScript, and you can add Python and Perl if you can be bothered to install the Addons.&lt;br /&gt;&lt;br /&gt;I decided to go for the VBScript (which I am finding a bit convoluted) mostly because of the available documentation on it. And in two days I was able to completely write my own self-installing plug-in that exports all the Data I need from XSI into an XML document that I can parse later on on XNA.&lt;br /&gt;&lt;br /&gt;So, basically, counting the time spending googling and thinking about my pipeline I was able to create a crude, but functional, Level Editor for XNA using the XSI Mod Tool.&lt;br /&gt;&lt;br /&gt;Right now, it comprises of the amazing ability of exporting type, name, position and rotation of every Model in the Level (Scene). Later on I'll be adding functions to create specific entity types from the list of available entities. And Voilá, I got myself a neat Pipeline.&lt;br /&gt;&lt;br /&gt;Now onto working on the XML Serializer to actually use the data I churn.&lt;br /&gt;&lt;br /&gt;A little video of how the thing looked a week ago (it didn't change a lot yet)&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0fs9a29qrUc&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/0fs9a29qrUc&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;br /&gt;&lt;br /&gt;NOTE: I also managed to add support for the Xbox360 pad, so I can fly around the environment easily (much better than the keyboard).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-4391572481516705395?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/4391572481516705395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=4391572481516705395' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4391572481516705395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4391572481516705395'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/02/progress.html' title='Progress'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-7498390484367810127</id><published>2009-02-04T08:38:00.004Z</published><updated>2009-02-04T08:54:53.963Z</updated><title type='text'>Quaternion Rotations</title><content type='html'>Right.&lt;br /&gt;&lt;br /&gt;My little XNA project is moving along. Well, tripping along is more like it. I spent the past three days trying to work out proper transformations for my camera because I they were rotating (in all axes) but the rotations were relative to the world. So they didn't work properly for a flight camera.&lt;br /&gt;&lt;br /&gt;Turns out that my calculations for the camera rotation and movement were only updating the position, so the rotation was aways beeing calculated from the world Axis, using values for Yaw, Pitch and Rotation that were just virtual and were not actually changing the avatar.&lt;br /&gt;&lt;br /&gt;So I read somewhere (and by somewhere I mean &lt;a href="http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2/Quaternions.php"&gt;Riemers XNA tutorial&lt;/a&gt;) that I needed to use Quaternions to do the transformations easily.&lt;br /&gt;&lt;br /&gt;So after reading his tutorial and reading the &lt;a href="http://en.wikipedia.org/wiki/Quaternion_rotation#Visualizing_the_space_of_rotations"&gt;Wikipedia page about Quaternion Rotations&lt;/a&gt; while lying in the bed before sleeping, I ended up dreaming the solution to my problem.&lt;br /&gt;&lt;br /&gt;I had to create a Quaternion for the rotation of my invisible avatar, and use that to work out the rotation Matrix for the camera and updating the original Rotation Quaternion after the camera was updated.&lt;br /&gt;&lt;br /&gt;Now. It works, but I don't think I fully grasp what I'm doing. It's like knowing how to read out lout a spell from a grimoire without actually knowing what the words you read mean. That can lead to unforeseen and even catastrophic consequences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-7498390484367810127?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/7498390484367810127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=7498390484367810127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7498390484367810127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7498390484367810127'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/02/quaternion-rotations.html' title='Quaternion Rotations'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-3930283448105956276</id><published>2009-02-02T17:17:00.002Z</published><updated>2009-02-02T17:21:03.876Z</updated><title type='text'>Snow!!!</title><content type='html'>&lt;a href="http://pathconstraint.digiduo.com/uploaded_images/IMGP5218-733369.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://pathconstraint.digiduo.com/uploaded_images/IMGP5218-732458.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Yep... lot's of it. Seems that the UK haven't seen this much snow in 18 years. My neighbour made an igloo. How awesome is that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-3930283448105956276?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/3930283448105956276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=3930283448105956276' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/3930283448105956276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/3930283448105956276'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/02/snow.html' title='Snow!!!'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-7062086081638483654</id><published>2009-01-29T15:24:00.005Z</published><updated>2009-02-02T17:15:50.459Z</updated><title type='text'>Twitter is a bit stupid.</title><content type='html'>&lt;a href="http://twitter.com/Alyatirno"&gt;&lt;img style="border: none; display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 100px; height: 23px;" src="http://pathconstraint.digiduo.com/images/twitter_logo_s.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;So I joined the twittering world today, whatever that means, and I have started following some people, all fine and dandy and the way it's supposed to be, but now Twitter thinks I am following 9 people, 4 of them are myself.&lt;br /&gt;&lt;br /&gt;Someone has to tell the twitter devs that really, I don't need to follow myself as I'm pretty sure that I know what I am doing.&lt;br /&gt;&lt;br /&gt;Even if I had multiple personalities I'd probably set up different accounts for each one of them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-7062086081638483654?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/7062086081638483654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=7062086081638483654' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7062086081638483654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/7062086081638483654'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/01/twitter-is-bit-stupid.html' title='Twitter is a bit stupid.'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-5388135359868694659</id><published>2009-01-29T12:27:00.001Z</published><updated>2009-01-29T12:28:45.300Z</updated><title type='text'>Long</title><content type='html'>Does anyone have any idea how long does it take to Format a 1TB Hard Drive for the first time?&lt;br /&gt;&lt;br /&gt;That is right.&lt;br /&gt;&lt;br /&gt;TOO LONG!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-5388135359868694659?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/5388135359868694659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=5388135359868694659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5388135359868694659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/5388135359868694659'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/01/long.html' title='Long'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-4736625878371445363</id><published>2009-01-26T07:34:00.003Z</published><updated>2009-01-26T07:37:59.403Z</updated><title type='text'></title><content type='html'>I finally got around to creating the subdomain for this blog. Its address now is officially&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pathconstraint.digiduo.com/"&gt;http://pathconstraint.digiduo.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-4736625878371445363?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/4736625878371445363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=4736625878371445363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4736625878371445363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4736625878371445363'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/01/i-finally-got-around-to-creating.html' title=''/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-4387947260915964427</id><published>2009-01-24T08:29:00.008Z</published><updated>2009-01-24T08:47:31.648Z</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.digiduo.com/pathconstraint/uploaded_images/vista-714310.png"&gt;&lt;img style="border: none; margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 48px; height: 48px;" src="http://www.digiduo.com/pathconstraint/uploaded_images/vista-714302.png" alt="" /&gt;&lt;/a&gt;I'm moving my computer to Vista Today.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.digiduo.com/pathconstraint/uploaded_images/wii-logo-small-729580.png"&gt;&lt;img style="border:none; margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 125px; height: 82px;" src="http://www.digiduo.com/pathconstraint/uploaded_images/wii-logo-small-729577.png" alt="" border=0 /&gt;&lt;/a&gt;I other news. I'm also buying a Wii strictly for professional reasons.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-4387947260915964427?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/4387947260915964427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=4387947260915964427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4387947260915964427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4387947260915964427'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/01/im-moving-my-computer-to-vista-today.html' title=''/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-4502015230165853196</id><published>2009-01-22T12:45:00.003Z</published><updated>2009-01-22T13:48:16.077Z</updated><title type='text'>Shame on you Apple!</title><content type='html'>As I profusely advertised here I got an iPhone. And I eagerly explored the App Store in search for good apps and games. And given that the iPhone has an awesome accelerometer I thought it could be a cool thing to tinker with it and try to make and app myself.&lt;br /&gt;&lt;br /&gt;I sort of have all the skills one would want if they were to make a game on their own. I can program (would struggle a bit with the whole "making a 3D engine from scratch" but nothing I can't handle). I can draw (I'm not an awesome artist or anything but I can doodle some thingies). I can photoshop (and I'm fairly good at it). I can make 3D models, mostly with 3D studio Max, I wish autodesk had caried on developing the gmax which I they discontinnued, that means if I want something free I'll have to take the leap and start on the XSI Mod tool or something like Blender (I have tried Blender before, but I didn't quite like it). With some help I can even write my on 3D format exporter (not that I need to, well, hopefully not).&lt;br /&gt;&lt;br /&gt;So off I went to the Apple website to register myself as a Develper and get my free SDK, just to realize that I can't use Visual Studio to develp for the iPhone, oficially I can't even use a PC, it has to be a Mac with MacOS X and xCode.&lt;br /&gt;&lt;br /&gt;Well... I guess I won't be developing for the iPhone any time soon. Back to XNA and Developing for Xbox360, which is free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-4502015230165853196?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/4502015230165853196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=4502015230165853196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4502015230165853196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/4502015230165853196'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2009/01/shame-on-you-apple.html' title='Shame on you Apple!'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17641627.post-1799006653736515398</id><published>2008-12-24T19:05:00.002Z</published><updated>2008-12-24T19:08:10.980Z</updated><title type='text'>OXM Brasil</title><content type='html'>That's it! I made into the press in Brazil. A three page interview for the OXM Brasil (called Revista Oficial do Xbox360 no Brasil).&lt;br /&gt;&lt;br /&gt;The picture is there to prove, though I didn't publish a full copy of it because the Magazine is still on the shops, and I don't want to infringe any copyrights.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17641627-1799006653736515398?l=pathconstraint.digiduo.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/1799006653736515398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=17641627&amp;postID=1799006653736515398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/1799006653736515398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17641627/posts/default/1799006653736515398'/><link rel='alternate' type='text/html' href='http://pathconstraint.digiduo.com/2008/12/oxm-brasil.html' title='OXM Brasil'/><author><name>Hulshof</name><uri>http://www.blogger.com/profile/08606477755473985093</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11008970838994717655'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>
