<?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-728022631004774403</id><updated>2011-07-31T04:12:28.642-07:00</updated><category term='My Digital Life'/><category term='My Game Development'/><title type='text'>Penhalion's Post</title><subtitle type='html'>You boldly enter the forum. The screen is pitch black save for a flashing cursor.

What Now? Type "I am a programmer"

You are immediately set upon by a pack of hungry Noobs and eaten alive...

Do you want to load your last saved digital life? Yes</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-3152651889578277165</id><published>2011-03-11T18:08:00.000-08:00</published><updated>2011-03-11T18:11:41.457-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>IOS Upgrades and Cocos2D</title><content type='html'>I've started converting some of my iphone ideas to cocos2d. I'm hoping that they will be simple enough to make the transition quick and painless. Of course we all know that converting stuff to objective C is never painless.&lt;br /&gt;&lt;br /&gt;So far I have a couple of solid projects to do but, I'm starting with a few nice casino style games.&lt;br /&gt;&lt;br /&gt;Yadddaaaaaaa!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-3152651889578277165?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/3152651889578277165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=3152651889578277165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/3152651889578277165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/3152651889578277165'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2011/03/ios-upgrades-and-cocos2d.html' title='IOS Upgrades and Cocos2D'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-4992534602732705742</id><published>2011-03-07T15:59:00.000-08:00</published><updated>2011-03-07T16:07:49.623-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Digital Life'/><title type='text'>Time to re-equip! Part 2.</title><content type='html'>I've done the deed at last and have re-equipped with a nice 128gb macbook air 11. It turns out to be ideal for mobile development as it's reasonably fast and once I'd installed xcode, was a dream to use.&lt;br /&gt;&lt;br /&gt;The screen resolution is great. I didn't realise that it was so much higher than the standard macbook 13.&lt;br /&gt;&lt;br /&gt;So now the macbook pro is relegated to the desktop, where it's plugged into a 1920 * 1080 display and acts as my general flash dev machine. The air is now my road companion and my ios and android app dev machine.&lt;br /&gt;&lt;br /&gt;If anyone is on the fence about these little beauties I would say get one if you want an ultra portable office. I now have my reference library on my ipad. I can carry both for pretty much the same weight as carrying just the 13 inch macbook pro!&lt;br /&gt;&lt;br /&gt;My productivity has gone through the roof!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-4992534602732705742?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/4992534602732705742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=4992534602732705742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/4992534602732705742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/4992534602732705742'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2011/03/time-to-re-equip-part-2.html' title='Time to re-equip! Part 2.'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-2288468637474888662</id><published>2011-02-23T14:24:00.000-08:00</published><updated>2011-02-23T14:29:19.834-08:00</updated><title type='text'>Time to re-equip!</title><content type='html'>Apple have decided to update their laptops again and, while my Macbook is still going strong, I'm starting to tire of the weight of the 13 inch marvel.&lt;br /&gt;&lt;br /&gt;I had hoped that the new 13 inch macbook pro would follow the new air's design and be a slim, light but, powerful piece of kit. Instead they seem to have only shaved a slight amount off the weight while adding features that simply don't interest me at all.&lt;br /&gt;&lt;br /&gt;I guess I'm going to get an air 11 after all.&lt;br /&gt;&lt;br /&gt;As for the macbook. I'm going to relegate it to the desktop and simply plug it into a monitor. It can then act as a desktop dev machine while the air becomes my traveling companion. After all I seem to do most of my best work while watching life go by in a starbucks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-2288468637474888662?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/2288468637474888662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=2288468637474888662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/2288468637474888662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/2288468637474888662'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2011/02/time-to-re-equip.html' title='Time to re-equip!'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-6004637456022827974</id><published>2009-11-27T01:52:00.001-08:00</published><updated>2009-11-27T01:52:25.837-08:00</updated><title type='text'>This independent thingy is hard!</title><content type='html'>&lt;p&gt;Ok so I’m now creating games for myself and looking to subsidise my income with contract work. It’s looking ok so far, though the knots in my stomach don’t seem to want to go away just yet.&lt;/p&gt;  &lt;p&gt;It’s all about getting those first few products out there. Once you do that, you are a real indie developer and can then start planning things around that.&lt;/p&gt;  &lt;p&gt;Currently I’m using unity to create my masterpieces. It’s a good engine, though they recently stiched everyone who bought the basic license by suddenly making the latest version free and they have a really stupid sales policy whereby you need to but a totally unrelated product in order to even be allowed to get the iphone advanced license. Needless to say I’m not using their iphone advanced license at this time. It wouldn’t even be so bad except that the iphone stuff is 100% independent of the other stuff so why the heck do you need to buy the other stuff at all!&lt;/p&gt;  &lt;p&gt;Sometimes companies can be rediculously stupid. Anywho back to the coding.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-6004637456022827974?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/6004637456022827974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=6004637456022827974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/6004637456022827974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/6004637456022827974'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2009/11/this-independent-thingy-is-hard.html' title='This independent thingy is hard!'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-5473955106427545247</id><published>2009-07-09T14:17:00.000-07:00</published><updated>2009-07-09T14:27:14.342-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Digital Life'/><title type='text'>Leaving the old behind</title><content type='html'>I always keep feeling that I really should keep this blog updated more regularly. Well now it looks like I may be getting the time to do so. Thanks to circumstances beyond my control, I am being made redundant. My old job involved working from home and they now want me to move up to manchester. Needless to say I declined the offer.&lt;br /&gt;&lt;br /&gt;So here I am going through the motions as they make me redundant and I finally have to go look for another job.&lt;br /&gt;&lt;br /&gt;Even though times are hard in the economic sense, I am viewing this as a possitive thing. The guy I was working with in Manchester really didn't have much of a clue about good development practices and pretty much seems to have been passing off my work as his own anyway. I'm going to spend some time getting an iPhone portfolio going and looking for a new job. It's scary but, life needs a shake up every now and again. I think I was getting complacent and starting to stagnate. This move forces me to start thinking again.&lt;br /&gt;&lt;br /&gt;So here is to new things. To better things and to the future, whatever it holds :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-5473955106427545247?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/5473955106427545247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=5473955106427545247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/5473955106427545247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/5473955106427545247'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2009/07/leaving-old-behind.html' title='Leaving the old behind'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-3410230209073871856</id><published>2009-04-24T11:51:00.001-07:00</published><updated>2009-04-24T11:56:37.065-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>Creating my first app</title><content type='html'>I've been fairly busy lately, what with learning to program for the iPhone and all that. I finally have my app idea ready and work on finishing it is progressing nicely. The only issue at present is that I still have programmer art.&lt;br /&gt;&lt;br /&gt;I hope to get a few shots of the game up on the net soon. I just want to make sure that I am far enough along that I don't get my idea nicked. Hopefully people will like it but, you can never tell and it is quite frightening to have your work judged by others.&lt;br /&gt;&lt;br /&gt;Once I have finished the game I will be doing a full postmortem of the project so that others can hopefully learn from my triumphs and failures along the way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-3410230209073871856?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/3410230209073871856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=3410230209073871856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/3410230209073871856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/3410230209073871856'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2009/04/creating-my-first-app.html' title='Creating my first app'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-1741385178123656306</id><published>2009-03-18T01:04:00.000-07:00</published><updated>2009-03-18T01:12:20.575-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>IPhones and IPods</title><content type='html'>Now that I have a mac I have been starting to learn how to code for the IPhone. This turned out to be a lot simpler than I first thought. The SDK is easy to get into and I found a great little book that talks you through creating a first real application for the platform.&lt;br /&gt;&lt;br /&gt;I'm hoping to get a few apps out there soon, so that I can start to earn a little cash and move onto the self employed road. It's not going to be easy but, I'm really starting to hate working for the man. Not that my boss is annoying or anything. I just hate being at someone elses mercy.&lt;br /&gt;&lt;br /&gt;Currently the only thing stopping me is that bills need to be paid and I need to atart seeing an income before I can confidently hang up the old day job hat.&lt;br /&gt;&lt;br /&gt;Here's to hopes and dreams.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-1741385178123656306?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/1741385178123656306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=1741385178123656306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/1741385178123656306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/1741385178123656306'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2009/03/iphones-and-ipods.html' title='IPhones and IPods'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-1487454326391451735</id><published>2009-01-29T07:29:00.000-08:00</published><updated>2009-01-29T13:43:50.136-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>Quaternian Cameras and rotation</title><content type='html'>I have just had one of the most annoying coding sessions in recent days. It all started when I wanted to create a simple quaternian free roaming camera. Everything seemed to be working ok until I wanted to rotate the camera and have it move in the direction I had just rotated to.&lt;br /&gt;&lt;br /&gt;Immediately the camera began moving on the exact opposite angle. So if I rotated the camera 90 degrees up, the camera direction vector would point 90 degrees down. Looking at the movement code showed no errors so what the heck was going on!&lt;br /&gt;&lt;br /&gt;I finally decided that unless I was going mad.The error had to be with the camera direction vector itself. The direction was being set to view.forward and so I couldn't figure out how that could return an exact mirrored direction to the one that the camera was facing. It was only by chance that I noticed the direction was set not from the original matrix but from the inverted matrix. When I took the direction from the non inverted view matrix. suddenly my camera worked correctly.&lt;br /&gt;&lt;br /&gt;The only puzzle now is why every example of a quaternian camera I've ever seen, seems to use the inverted view. Given I'm only ever adding the position to the normalized movement vector. I know that inverting the direction on that would definitely result in the camera moving in the wrong direction and at a mirrored angle.&lt;br /&gt;&lt;br /&gt;Are other cameras using the inverted view and then simply un-inverting it again. Are they doing more math on the direction to change it from inverted to uninverted? Are they using an imaginary target and then creating a lookat matrix to that? Isn't all of that that silly? Doesn't taking the uninverted version in the first place (which will always point into the view) simply make more sense? What the heck am I missing?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-1487454326391451735?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/1487454326391451735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=1487454326391451735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/1487454326391451735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/1487454326391451735'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2009/01/quaternian-cameras-and-rotation.html' title='Quaternian Cameras and rotation'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-4584405726970525329</id><published>2009-01-02T05:01:00.000-08:00</published><updated>2009-01-02T05:13:20.958-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Digital Life'/><title type='text'>Portable Me</title><content type='html'>My christmas present to myself this year, was a new macbook. It took me a while to decide which one to get (as a grand is a lot of money to spend all in one go). I finally settled on the 2.4 aluminium one, with 2gb ram. With my nephews 14% student discount and an apple care 3 year warranty, I spent just 1014 quid. I'll pop up a quick video of the thing in the next day or so. This now completes my digital life purchases (for now at least).&lt;br /&gt;&lt;br /&gt;The macbook allows me to be mobile, even when I am working at the day job. Of course winter means that I have no real incentive to go off to starbucks at the moment. Still, at least the option is there. I now need to go get a bag or something to keep it safe.&lt;br /&gt;&lt;br /&gt;I had a relatively quiet chrismas so I'm not yet stressed out. No doubt the year has it's usual mountain of suprises in store for me to look forward to.&lt;br /&gt;&lt;br /&gt;Happy new year everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-4584405726970525329?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/4584405726970525329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=4584405726970525329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/4584405726970525329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/4584405726970525329'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2009/01/portable-me.html' title='Portable Me'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-1788615033221037318</id><published>2008-11-26T02:34:00.000-08:00</published><updated>2008-11-26T02:44:54.634-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>XNA Community games</title><content type='html'>Work is now progressing at a nice pace on my community game. I have a solid theme set and now know what I want to include. It's good to be able to just code the parts of the game and not have to try to work out what to put in it anymore.&lt;br /&gt;&lt;br /&gt;Today I am working on the shop section, where the player buys upgrades. I am going to put all of this into a diary so that I can take you through the entire process when the game is finished. For obvious reasons, I will not be doing this now as I have had ideas stolen in the past. It is never nice to see someone rip your idea as their own.&lt;br /&gt;&lt;br /&gt;I hope to have some nice screens soon. I want to make sure that I am far enough along first though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-1788615033221037318?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/1788615033221037318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=1788615033221037318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/1788615033221037318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/1788615033221037318'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/11/xna-community-games.html' title='XNA Community games'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-5854055016583110188</id><published>2008-11-05T10:06:00.001-08:00</published><updated>2008-11-05T10:16:03.184-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Digital Life'/><title type='text'>It's the Radiation!</title><content type='html'>I've been playing a bit of fallout 3 over the last few days and I have to say it's good so far. I keep running out of ammo and having to hide a lot but that's fallout for you.&lt;br /&gt;&lt;br /&gt;I also got little big planet and will be looking at doing some levels for that soon. Only after I have made some progress on my XNA project though. I'm also starting to do a bit more photography so I may even put a few of the shots up.&lt;br /&gt;&lt;br /&gt;Bonfire night so keep those poor pets inside!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-5854055016583110188?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/5854055016583110188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=5854055016583110188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/5854055016583110188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/5854055016583110188'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/11/its-radiation.html' title='It&apos;s the Radiation!'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-2664320334043662344</id><published>2008-10-29T10:10:00.001-07:00</published><updated>2008-10-29T14:43:02.925-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Digital Life'/><title type='text'>London Games Week</title><content type='html'>Went off to the eurogamer expo, which is on as part of the london games week. Going to go to the Microsoft event in Trafalger Square too on Saturday.&lt;br /&gt;&lt;br /&gt;The expo gives everyone a chance to see all the latest and greatest games before they are released. I've uploaded a quick video (taken with my new flip mino I might add) to go along with this blog entry, so that you can get a look at some of the games I saw there.&lt;br /&gt;&lt;br /&gt;I can't say I was too impressed with any of the AAA titles though and I was particularly sad to see that Resident Evil 5 is pretty much a re-skin of resident evil 4. Same moves, same animations and same plot. The much talked about companion that you get ended up being nothing more than an armed version of the girl from resi 4. Even to the point that when you seperate from her, you are essentially playing the protect ashley mission all over again.&lt;br /&gt;&lt;br /&gt;The most suprising games I saw at the expo, were from the indie devs like myself. These games didn't have the multi-million budgets and so focused solely on the fun aspects. Speaking to my fellow indies, I got some inspiration and ideas that I may incorporate into my project. One thing that struck me was just how polished the indie stuff is becoming. I genuinely think that the two man teams are leaving the big houses way behind when it comes to gameplay and fun. Expect the big boys to start trying to poach successful indies after Community Games launches.&lt;br /&gt;&lt;br /&gt;I'll be downloading XNA Studio 3.0 tomorrow and starting the long trek to releasedom. I'm now planning to release a few screenies soon.&lt;br /&gt;&lt;br /&gt;Later days people.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-2664320334043662344?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/2664320334043662344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=2664320334043662344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/2664320334043662344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/2664320334043662344'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/10/london-games-week.html' title='London Games Week'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-6239771217479669536</id><published>2008-10-07T13:24:00.000-07:00</published><updated>2008-10-07T14:18:06.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>Back from Limbo</title><content type='html'>Ok so I haven't posted in a while as I have sadly been pretty busy. I have also been doing very little work on my game. My new laptop arrived though, so I can finally seperate my coding from my location. This should mean I get to do far more code and that means more blog diaries.&lt;br /&gt;&lt;br /&gt;Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-6239771217479669536?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/6239771217479669536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=6239771217479669536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/6239771217479669536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/6239771217479669536'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/10/back-from-limbo.html' title='Back from Limbo'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-8450349372687231790</id><published>2008-01-28T19:51:00.000-08:00</published><updated>2008-01-28T19:57:19.654-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>Collision detection and level design</title><content type='html'>Today I decided to add some collision detection to my game engine. I've based this on a sample, taken from a tutorial game, at the microsoft site. It is basically a box/ray collision detection system and I have simply expanded it to include sphere collisions. This fits into my plan for a simply physics engine that sits on top of the collision.&lt;br /&gt;&lt;br /&gt;Later this week I'm going to be adding some basic visibility testing so that sections of the level are not drawn if they are simply not visible to the player. &lt;br /&gt;&lt;br /&gt;That's it for this post. It's 4am in the morning and I'm pretty tired&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-8450349372687231790?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/8450349372687231790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=8450349372687231790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/8450349372687231790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/8450349372687231790'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/01/collision-detection-and-level-design.html' title='Collision detection and level design'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-6887515039676541924</id><published>2008-01-23T15:30:00.000-08:00</published><updated>2008-01-23T17:30:33.887-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>GUI musings</title><content type='html'>Today I decided to flesh out my engines GUI system. I've decided to write all of the functionality pretty much from scratch. Partly to learn about game GUIs and partly to ensure that I can modify it without having to worry about how it affects others or any licensing issues. &lt;br /&gt;&lt;br /&gt;Design wise I've decided to go with a GUIManager class. It handles the input listening, enabling/disabling and general drawing functionality. I want the gui system to be flexible enough to use for any 2D display, from basic information and control windows, to hud elements. This means that it has to know when to and when not to intercept the game controls. I can do this with a simply toggle switch, which will stop the listen function from being called. Crucially the control will still be drawn and the game can still manually update the values in the control (think health bars, energy readouts etc. etc.).&lt;br /&gt;&lt;br /&gt;The first control I created is a simply bitmap background. This get's drawn before anything else and all other controls appear on top of it. I am also considering having this control able to contain the game output. Due to post processing, the game is effectively rendered to a readily available full screen texture anyway. Of course you can specify which region the bitmap takes up, so it's already possible to render two different player views and add then split screen to the display :) &lt;br /&gt;&lt;br /&gt;This was the simplest control to write as it just blaps a texture to the screen using the rectangle specified. It doesn't care at all what the image is.&lt;br /&gt;&lt;br /&gt;The next control I tackled was a bitmap button. This control allows me to use my art assets as buttons. I can assign images for idle, highlighted and pressed. In practice, you don't see the pressed image for more than a few milliseconds as this is usually what triggers a state/screen transition. To go along with this I implemented a simply button group system. This is based on the code provided in the microsoft tutorials but, with some heavy modification. The button group contains a list of buttons that have been assigned to it. It will draw all of these buttons but, only passes user input messages to the active button. User movement messages are used to step backwards and forwards through the list of buttons. Crucially a button group can contain other button groups and (provided you remember to map the controls correctly) stepping between them is hastle free. I currently have the top level group use the bumpers to step through the groups and the groups use the up/down on analogue or d-pad to move through their controls.&lt;br /&gt;&lt;br /&gt;Finally today I created a toggle button. This turned out to be harder than I thought. Not because it was difficult to code mind you. It was made harder, due to my own short sightedness, when I created the button group class. I had hard coded the button group to only understand what GUIBitmapButtons were! I ended up having to go through the entire class and change each reference to a generic GUIWidget. I then had to expand the next and previous functions to cast the button to the correct type before using it. I thought about making the GUIWidget class encapsulate more of the basic functionality so that I didn't need to cast anything. This would ruin my interface system though, as I currently use a list of interface types to store all of the currently active widgets.&lt;br /&gt;&lt;br /&gt;I may post a more complete description of my gui system for anyone who want's to role their own. I find that it's the best way to understand what's going on and to learn new things. You never know what you will come up with when you try to create a feature or function you haven't tackled before.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-6887515039676541924?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/6887515039676541924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=6887515039676541924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/6887515039676541924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/6887515039676541924'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/01/gui-musings.html' title='GUI musings'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-7254598052524863627</id><published>2008-01-19T17:33:00.000-08:00</published><updated>2008-12-09T14:57:28.405-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>Re-Visiting My Engine</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_EmsPCPev0Ro/R5KnSxGeO9I/AAAAAAAAAAQ/hGL9_uYibp0/s1600-h/survivingmenu.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5157368464152607698" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_EmsPCPev0Ro/R5KnSxGeO9I/AAAAAAAAAAQ/hGL9_uYibp0/s320/survivingmenu.png" border="0" /&gt;&lt;/a&gt;The above screenshot is a pleasant suprise to me.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;It's now the early hours of Sunday and I'm doing a quick stock take of my exisiting engine code. I'm suprised to see that I have so far cobbled together a rather nice set of functionality. It's even more suprising, because the functionality is largely based on the tutorials and samples that are on the creators club site.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Upon firing up my engine for the first time in months. I was greeted with a fully functional menu system. You can use an XBox 360 controller (I had an old wired one that came with my core system) to move up and down the menu. Each item highlights and changes colour when selected. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;I have implemented this system by using a series of self contained screen objects. Each screen is responsible for it's own content. They can utilise any of the classes of the engine to provide the visual or functional items.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I had created an interface that forces each screen to provide a known set of functions, namely load, unload, draw and update. This allows me to use delegates if necessary and also has allowed me to have a screen manager that simply loads or unloads each screen as necessary. The entire system relies on some global managers being initialised before any screens are drawn though. These sub-systems (as I'm now calling them) are the input manager, gui manager, the screen manager, the content manager and of course the game loop itself. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;I currently have three screens implemented. The first is the obligatory kudos screen. This is the one that contains the logo images and does the usual skip to next logo, fade in/out and a simply ping sound effect.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The next screen creates a menu that links all of the actual game parts together. These are the continue functionality, the start new game functionality (which effectively just resets all states for the game to their defaults), the options functionality and the quit. So far only quit and start do anything useful.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;All of this is a lot more than I thought I had. It means that I now have to start thinking about what I need to do next. All I know for the moment is that the game will have a mission based system, where the player (and later their squad of hand picked helpers) will go out and perform various tasks. To this end, I will need at least the following:-&lt;/div&gt;&lt;br /&gt;&lt;div&gt;* Mission generator.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;* Map generator.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I know that I like the sound of having the game generate random levels. The only issue being that the levels need to remain the same throughout a single game, even if the player has sved and quit in the mean time.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Well, it's getting late and I need to sleep too! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-7254598052524863627?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/7254598052524863627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=7254598052524863627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/7254598052524863627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/7254598052524863627'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/01/re-visiting-my-engine.html' title='Re-Visiting My Engine'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EmsPCPev0Ro/R5KnSxGeO9I/AAAAAAAAAAQ/hGL9_uYibp0/s72-c/survivingmenu.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-728022631004774403.post-5460475688842116615</id><published>2008-01-18T15:39:00.000-08:00</published><updated>2008-01-18T15:59:01.001-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My Game Development'/><title type='text'>Indie Development for the Masses</title><content type='html'>With the introduction of XNA by microsoft, I finally decided to get back into the indie development scene. Currently I don't have the funding to quit the old day job but, I am fortunate enough to be able to work from home most of the time.&lt;br /&gt;&lt;br /&gt;I've always loved the Zombie game genre, so decided that I may as well create a simply zombie survival game. This will be my first independent i.e. solely me involved, piece of gaming fun.&lt;br /&gt;&lt;br /&gt;It hasn't taken me long to knock up the start of a pretty decent 3D engine. So this blog will effectively be a diary of the trials and tribulations I go through as I create my zombie game and hopefully many more games to come. I should mention that I already work in the games industry so I know a fair bit about creating AAA standard titles.&lt;br /&gt;&lt;br /&gt;Obviously as a one man band, I'm going to have to aim as close to that standard as possible without ending up taking years to make the game. To this end I have given myself 6 months to come up with a complete game. By complete I mean that all of the game logic and functionality will be complete, even if the visual and sonic aspects are a work in progress.&lt;br /&gt;&lt;br /&gt;Well "Onward and upward" I guess the saying is.&lt;br /&gt;&lt;br /&gt;Incidentally. If anyone want's to follow along, I am using the following stuff to create my game. All of it is free and should be readily available to you. I've deliberately chosen to go the free route so that any profit I make (unlikely yes I know) can be plowed back into my anorexic wallet.&lt;br /&gt;&lt;br /&gt;1. XNA Game Studio version 2.0&lt;br /&gt;2. An optional creators club licence (so that I can use my xbox 360 to run the game).&lt;br /&gt;3. XSI6 Mod tool.&lt;br /&gt;4. Visual C# Express 7.0 (XNA currently doesn't support the 2008 version).&lt;br /&gt;&lt;br /&gt;That's pretty much it. I have a standard PC with an NVidia card 8800GTS and a core 2 duo chip.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/728022631004774403-5460475688842116615?l=penhalionpost.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://penhalionpost.blogspot.com/feeds/5460475688842116615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=728022631004774403&amp;postID=5460475688842116615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/5460475688842116615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/728022631004774403/posts/default/5460475688842116615'/><link rel='alternate' type='text/html' href='http://penhalionpost.blogspot.com/2008/01/indie-development-for-masses.html' title='Indie Development for the Masses'/><author><name>Penhalion</name><uri>http://www.blogger.com/profile/17190315291874443333</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
