<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Daniel P. Wright &#187; Games</title>
	<atom:link href="http://www.dpwright.com/category/games/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dpwright.com</link>
	<description>Portfolio and Development Commentary</description>
	<lastBuildDate>Thu, 13 Aug 2009 17:13:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Teesside Alumni Day</title>
		<link>http://www.dpwright.com/2009/02/28/teesside-alumni-day/</link>
		<comments>http://www.dpwright.com/2009/02/28/teesside-alumni-day/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 00:16:46 +0000</pubDate>
		<dc:creator>dpwright</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.dpwright.com/2009/02/28/teesside-alumni-day/</guid>
		<description><![CDATA[The talks mentioned in my recent post have now come to pass!  All in all, the first Teesside alumni day was a success.  It was great to see everyone again and I must say I thought everyone&#8217;s talk was very interesting and thought-provoking.
We&#8217;re hoping to put a similar event on next year, hopefully [...]]]></description>
			<content:encoded><![CDATA[<p>The talks mentioned in my <a href="http://www.dpwright.com/2009/02/04/upcoming-talks-at-teesside/">recent post</a> have now come to pass!  All in all, the first Teesside alumni day was a success.  It was great to see everyone again and I must say I thought everyone&#8217;s talk was very interesting and thought-provoking.</p>
<p>We&#8217;re hoping to put a similar event on next year, hopefully bigger and more packed-out, so Teesside students watch this space.  In the meanwhile, I&#8217;ve put my slides up on my portfolio page <a href="http://www.dpwright.com/portfolio/writing/the-power-to-create/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dpwright.com/2009/02/28/teesside-alumni-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming talks at Teesside</title>
		<link>http://www.dpwright.com/2009/02/04/upcoming-talks-at-teesside/</link>
		<comments>http://www.dpwright.com/2009/02/04/upcoming-talks-at-teesside/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 00:34:40 +0000</pubDate>
		<dc:creator>dpwright</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.dpwright.com/2009/02/04/upcoming-talks-at-teesside/</guid>
		<description><![CDATA[I&#8217;m very excited to announce a set of talks that have been in the works for a while, namely the upcoming alumni day at the University of Teesside on February 25th.  I&#8217;ve kept pretty quiet (read: silent) about this while it&#8217;s been in planning because I haven&#8217;t known whether we&#8217;ll get the numbers / [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very excited to announce a set of talks that have been in the works for a while, namely the upcoming alumni day at the University of Teesside on February 25th.  I&#8217;ve kept pretty quiet (read: silent) about this while it&#8217;s been in planning because I haven&#8217;t known whether we&#8217;ll get the numbers / be able to book the room / and so forth, but finally it&#8217;s all been confirmed!</p>
<p>The idea behind the event is that alumni from the University of Teesside return to give talks on topics they&#8217;ve learned about since leaving the University and entering the world of professional games development.  Unlike the typical, &#8220;This is my experience of the games industry after my first few months there&#8221; talk (one of which I gave <a href="http://www.dpwright.com/portfolio/writing/little-big-adventure-a-year-and-a-half-in-the-games-industry/">back in in May</a>), this offers the chance for alumni to talk about a topic that matters to them – whether it&#8217;s the particular aspect of games development they&#8217;ve been involved with, or a technology they&#8217;ve explored or developed, or a particular approach to design.  And, of course, it gives students an insight into aspects of games development they wouldn&#8217;t usually encounter as part of their course.  The planned talks this time round are:</p>
<ul>
<li><b><a href="http://www.dpwright.com/" target="_blank">Me</a></b>, talking about multi-platform asset and build management using <font face="monospace">make</font> and other UNIX tools.</li>
<li><a href="http://www.pjblewis.com/" target="_blank"><b>Peter J. B. Lewis</b></a>, talking about working as a programmer in middleware, based on his experience at Geomerics in Cambridge.</li>
<li><a href="http://theseus314.gibbering.net/" target="_blank"><b>Luke Nockles</b></a>, covering a variety of aspects of design, including game design, level design, and HUD and UI design.</li>
<li><a href="http://essell.org/journal/index.php" target="_blank"><b>Steve Lee</b></a>, talking about the role of design, getting a job in the industry, the meaning and value of elegance, and games as education / art.</li>
</ul>
<p>There&#8217;ll also be a panel at the end which will likely focus on our early experiences in the industry but will be pretty open, so we&#8217;ll just go in whichever direction questions take us.</p>
<p>I&#8217;m really excited about this event and I hope that, if it&#8217;s a success, it can become an annual affair.  Naturally I&#8217;ll be putting my slides up on this website once I&#8217;ve given the talk, so anyone who makes it should be able to find them on the <a href="http://www.dpwright.com/portfolio/">portfolio page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dpwright.com/2009/02/04/upcoming-talks-at-teesside/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Disney Sing It&#8221; released!</title>
		<link>http://www.dpwright.com/2008/11/03/disney-sing-it-released/</link>
		<comments>http://www.dpwright.com/2008/11/03/disney-sing-it-released/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 13:52:49 +0000</pubDate>
		<dc:creator>dpwright</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.dpwright.com/2008/11/03/disney-sing-it-released/</guid>
		<description><![CDATA[I am pleased to be able, finally, to post information about the games I&#8217;ve been working on for the past few months: &#8220;Disney Sing It&#8221; and &#8220;Disney Sing It: High School Musical 3: Senior Year!&#8221;.
 
Disney Sing It is a karaoke game across all the major platforms (PS2, PS3, Wii, XBox 360 and PC) which [...]]]></description>
			<content:encoded><![CDATA[<p>I am pleased to be able, finally, to post information about the games I&#8217;ve been working on for the past few months: &#8220;Disney Sing It&#8221; and &#8220;Disney Sing It: High School Musical 3: Senior Year!&#8221;.</p>
<p><center><img src='http://www.dpwright.com/wp-content/uploads/2008/12/dsi-ps2.thumbnail.jpg' alt='Disney Sing It (PS2)' /> <img src='http://www.dpwright.com/wp-content/uploads/2008/12/hsm3-ps3.thumbnail.jpg' alt='Disney Sing It: High School Musical 3: Senior Year (PS3)' /></center></p>
<p>Disney Sing It is a karaoke game across all the major platforms (PS2, PS3, Wii, XBox 360 and PC) which allows you to sing along to Disney hits from the likes of High School Musical, Camp Rock, Hannah Montana, and Aly &#038; AJ.  It&#8217;s been a great experience working on it, particularly dealing with the peculiarities of multi-platform development and the issues involved with vast quantities (think many terabytes) of asset data.  I&#8217;m afraid I must also confess to near-fluency in the Disney repertoire now!</p>
<p>I have added the game to my <a href="http://www.dpwright.com/portfolio/zoe-mode/disney-sing-it/">portfolio page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dpwright.com/2008/11/03/disney-sing-it-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&lt;/virtual-playground&gt;&lt;graduation/&gt;&lt;zoë-mode&gt;</title>
		<link>http://www.dpwright.com/2007/11/30/51/</link>
		<comments>http://www.dpwright.com/2007/11/30/51/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 14:53:48 +0000</pubDate>
		<dc:creator>dpwright</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.dpwright.com/2007/11/30/51/</guid>
		<description><![CDATA[The past month has been really quite exciting. In my last entry, I mentioned that I had recently interviewed at Zoë Mode, Kuju&#8217;s casual/lifestyle games studio in Brighton. I have a lot of respect for this sort of market, even though it&#8217;s often somewhat less glamorous than the world of fast-paced AAA action titles, because [...]]]></description>
			<content:encoded><![CDATA[<p>The past month has been really quite exciting. In my <a href="http://www.dpwright.com/2007/10/21/machine-death/">last entry</a>, I mentioned that I had recently interviewed at <a href="http://www.zoemode.com/" target="_blank">Zoë Mode</a>, Kuju&#8217;s casual/lifestyle games studio in Brighton. I have a lot of respect for this sort of market, even though it&#8217;s often somewhat less glamorous than the world of fast-paced AAA action titles, because of what it&#8217;s doing to include more people in the gaming community. I was therefore quite keen to get involved with that side of the industry, and thrilled to be offered a programming position there.</p>
<p>As a result I&#8217;ve now moved to Brighton and am due to start work on Monday. I&#8217;m looking forward to finding out what I&#8217;m going to be working on &#8211; I don&#8217;t even know yet which platform I&#8217;ll be dealing with. All will be revealed, though, in a mere three days!</p>
<p><span id="more-51"></span></p>
<p>The timing was pretty good, too. We were just coming toward the end of the current project at Virtual Playground and there wasn&#8217;t too much pressure on any of us, so I didn&#8217;t have to leave everyone scrabbling to hire a replacement. Also, my graduation from the <a href="http://www.tees.ac.uk/" target="_blank">University of Teesside</a> fell neatly in between the two jobs, last weekend. Naturally, I had the cheesy graduation photo taken.</p>
<p><center><img src='http://www.dpwright.com/wp-content/uploads/2007/11/dani-graduation.jpg' alt='Graduation - BSc Computer Games Programming at the University of Teesside' /></center></p>
<p>I hadn&#8217;t been back to Middlesbrough since July, so it was nice to see old friends. Unlike many of my colleagues at the University, I don&#8217;t really miss Middlesbrough at all. It was nice being able to get lunch at Etsuko for £1.99, but the Japanese restaurant here in Brighton, Pompoko, is really much better &#8211; although four times the price and cheap at that! No, Middlesbrough as a place doesn&#8217;t hold any appeal for me at all, but I do have good friends there.</p>
<p>I stayed for the first night with my former housemate AIDS, and his girlfriend Kaz. They have recently had a daughter &#8211; I believe she was two and a half weeks old when I visited. Her name is Kaitlyn, and it was a pleasure to meet her. I&#8217;d been warned that she could make a lot of noise, but she seemed very well-behaved during my time there! She&#8217;s an absolutely gorgeous baby, so of course I had my photo taken with her, too.</p>
<p><center><img src='http://www.dpwright.com/wp-content/uploads/2007/11/dani-kaitlyn.jpg' alt='Me with Kaitlyn' /></center></p>
<p>My computer is still broken, but I&#8217;m now thinking it&#8217;s the PSU which is on the blink, and that&#8217;s pretty easy to replace. However, right now it&#8217;s both broken and on the other side of the country to me, so I can&#8217;t test this theory. Meanwhile, I&#8217;m using my laptop, but as my desk is also still up in Newcastle I don&#8217;t have the best working environment at home. As a result I&#8217;ve not really used this week off for anything much useful, just a bit of reading and a bit of writing, and some exploring around Brighton.</p>
<p>I was recently reading about <a href="http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp" target="_blank">GOAL</a>, though, as it was mentioned in passing on the <a href="http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com" target="_blank">sweng-gamedev</a> mailing list. I quite enjoyed my brief experimentation with Lisp during the AI module in my final year at Uni, so I&#8217;m intrigued to see how it would be applied in a games scripting environment. I&#8217;m tempted to pursue my understanding of Lisp once I get set back up with a desk and so forth, but on the other hand I can&#8217;t escape the feeling that learning <a href="http://www.lua.org/" target="_blank">Lua</a> would be far more practical.</p>
<p>We&#8217;ll see how it goes&#8230; for now I&#8217;m probably going to concentrate on work at my new job before I take on any other major programming projects. I also have a load of other ideas which I&#8217;ve started and not fully developed &#8211; some with friends, some on my own &#8211; so I may pick one of those up again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dpwright.com/2007/11/30/51/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Machine Death</title>
		<link>http://www.dpwright.com/2007/10/21/machine-death/</link>
		<comments>http://www.dpwright.com/2007/10/21/machine-death/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 13:15:42 +0000</pubDate>
		<dc:creator>dpwright</dc:creator>
				<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.dpwright.com/2007/10/21/machine-death/</guid>
		<description><![CDATA[My PC has been giving me a terrible time of it these past couple of weeks. It&#8217;s a long time since I upgraded or maintained it, and I think it&#8217;s getting fed up. It&#8217;s started turning itself off to spite me. I&#8217;m really not sure whether I&#8217;m going to fix it this time, or whether [...]]]></description>
			<content:encoded><![CDATA[<p>My PC has been giving me a terrible time of it these past couple of weeks. It&#8217;s a long time since I upgraded or maintained it, and I think it&#8217;s getting fed up. It&#8217;s started turning itself off to spite me. I&#8217;m really not sure whether I&#8217;m going to fix it this time, or whether I should just bite the bullet and pick up a new machine. A nice shiny fast one, perhaps, which looks like this:-</p>
<p><center><img src='http://www.dpwright.com/wp-content/uploads/2007/11/mac-pro.jpg' alt='Apple Mac Pro' /></center></p>
<p>Anyway, as a result of my computer woes I&#8217;ve not been playing it nearly as much recently &#8211; luckily it didn&#8217;t die until shortly <em>after</em> I completed Portal &#8211; so for the past few weeks I&#8217;ve been sticking, for the most part, to playing games on my <a href="http://uk.playstation.com/psp/" target="_blank">PSP</a>. I&#8217;ve only got three games for it so far, and I must say that while I still prefer the <a href="http://www.nintendods.com/" target="_blank">Nintendo DS</a> overall, the PSP does have something to offer, and with the new slim &#038; lite edition the problems with battery life and price have largely been done away with.</p>
<p><span id="more-44"></span>
<p>Against all expectations, the PSP&#8217;s greatest asset is its quirky puzzle games. We expected this of the DS of course, but the PSP? As far as I can tell, apart from myriad cutdown PS2 games (yuck), puzzlers are about all it has going for it. I had a choice of four games in the PSP bundle I purchased, out of which I selected Lemmings. I won&#8217;t say much about that, because you pretty much know what you&#8217;re getting with lemmings &#8211; though moving the cursor with the D-Pad and the camera with the analogue stick seems like utter madness in my opinion. I also won&#8217;t talk about Wipeout Pure, except to say that it&#8217;s actually quite good.</p>
<p><center><img src='http://www.dpwright.com/wp-content/uploads/2007/11/ss_crush_04.jpg' alt='Crush - Zoë Mode' /></center></p>
<p>Which leaves the third game in my extensive PSP games collection: <a href="http://www.sega.com/games/game_temp.php?game=crush" target="_blank"><i>Crush</i></a>. I recently interviewed at the studio which developed this game, <a href="http://www.zoemode.com/" target="_blank">Zoë Mode</a>, which if I&#8217;m honest was the main reason I bought it in the first place. I was pleased to discover that it&#8217;s actually really good, making me all the more keen to make the move to Brighton. You play a guy called Danny who suffers from chronic insomnia, and after having exhausted traditional therapy decides to try an experimental new system called C.R.U.S.H. The machine allows Danny to enter into the world of his psyche and explore the issues that are keeping him up at night.</p>
<p>Quite a story, for a puzzle game! Indeed, the storyline is one of the things I love about <i>Crush</i>. It&#8217;s really very engaging, and encourages you to go through the trials and torment of completing some of the ridiculously tricky levels later into the game. That plus I share the main character&#8217;s name, so I really felt like the doctor was talking directly to me in all the soundclips.</p>
<p>The main mechanic behind <i>Crush</i> is that of moving between 2D and 3D. By rotating the camera in 3D and then &#8220;crushing&#8221; the world into 2D you can move into areas that would have been impossible to reach otherwise. The crush mechanic is a powerful one and, surprisingly, doesn&#8217;t descend into being a simple gimmick. The level design is awesome and it&#8217;s obvious the designers have put a lot of effort into really exploring what this mechanic gives them to work with.</p>
<p>All in all, then, I&#8217;ve been pleasantly surprised since buying the PSP. It&#8217;s almost a shame it&#8217;s been so universally unsuccessful &#8211; I imagine those games which have come out for it exclusively have suffered as a result. True, the DS probably deserves its victory &#8211; it&#8217;s more innovative, brilliantly marketed, and generally cooler &#8211; but the PSP&#8230; it&#8217;s not <em>that</em> bad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dpwright.com/2007/10/21/machine-death/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&lt;/teesside&gt;&lt;virtual-playground&gt;</title>
		<link>http://www.dpwright.com/2007/09/16/38/</link>
		<comments>http://www.dpwright.com/2007/09/16/38/#comments</comments>
		<pubDate>Sun, 16 Sep 2007 14:00:58 +0000</pubDate>
		<dc:creator>dpwright</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.dpwright.com/2007/09/16/38/</guid>
		<description><![CDATA[Well, my University life is over, I&#8217;m no longer a student, and I&#8217;m staggering, blinking, into the light, arms open and ready to embrace the Real World. In fact, the transition hasn&#8217;t been so difficult. I started work back at Virtual Playground &#8211; the company where I completed my industrial placement &#8211; almost immediately upon [...]]]></description>
			<content:encoded><![CDATA[<p>Well, my University life is over, I&#8217;m no longer a student, and I&#8217;m staggering, blinking, into the light, arms open and ready to embrace the Real World. In fact, the transition hasn&#8217;t been so difficult. I started work back at <a href="http://www.dpwright.com/portfolio/virtual-playground/">Virtual Playground</a> &#8211; the company where I completed my industrial placement &#8211; almost immediately upon completing my course. Nothing had really changed in the year I&#8217;d been gone, so I was able to hit the ground running, already familiar with the codebase and the toolchain used there. We completed <a href="http://www.dpwright.com/portfolio/virtual-playground/prison-tycoon-3/">Prison Tycoon 3</a>, and then moved on to do some refactoring concurrently with our next project.</p>
<p>Probably the biggest part of this refactoring effort has been the move to an aggregation-driven object system. That is, up until now we&#8217;ve had a classic deep hierarchy, adding functionality by deriving new classes, pushing functionality further up the hierarchy when we need to share it, and so forth. This <a href="http://www.gamearchitect.net/Articles/GameObjects1.html" target="_blank">is</a> <a href="http://c2.com/cgi/wiki?CompositionInsteadOfInheritance" target="_blank">not</a> <a href="http://www.drizzle.com/~scottb/gdc/game-objects.htm" target="_blank">ideal</a>. We&#8217;ve been told time and again how composition is more effective, more flexible, and generally safer than inheritance. Many of us are already comfortable with the inheritance-driven model, though, and are used to working with it and finding ways round its flaws.</p>
<p><span id="more-38"></span>Since reading Mick West&#8217;s March 2006 article in gamedeveloper magazine, &#8220;Evolve Your Hierarchy&#8221;, I&#8217;ve wanted to try out composite object systems, and see how much extra flexibility they give you, and whether usability suffers as a result. I was finally given the opportunity a month ago, when I was asked to take our existing inheritance-driven hierarchy (from basic objects that can load and save down to AI-driven characters that can make decisions, have FSMs, pathfinding, and spline-following capabilities), and start writing aggregate equivalents. Since the current title is quite simple I&#8217;ve only had to replicate a limited subset of the functionality that existed in our original system, giving me more time to focus on the design issues involved.</p>
<p>We&#8217;ve gone for what West calls a &#8220;Component Container&#8221; in his article, whereby we still have the idea of a game <b>Entity</b> as a concrete object, to which we can attach <b>Behaviours</b>. These Behaviours consist of small, very specific classes adding a particular function to the Entity. We&#8217;ve tried to be quite strict about limiting the scope of their abilities &#8211; if a Behaviour gets too hefty we split it up into two separate Behaviours. So far it&#8217;s been very successful. We&#8217;ve been able to replicate all the functionality we&#8217;ve needed so far from the old system, and we quickly got used to the idea of creating a new Behaviour and attaching it, rather than creating a new class and deriving it. We&#8217;ve taken the old object factory, which allowed artists to specify how the objects they were adding to the game should act, and added the notion of Behaviours &#8211; so objects of each type have a set of default Behaviours, after which more can be attached to extend functionality for that item in particular.</p>
<p>The main difficulty we&#8217;ve come across is communication between these Behaviours. In an ideal world, the Behaviours would be entirely self-standing, and we could simply depend upon their standard <kbd>clone()</kbd>/<kbd>init()</kbd>/<kbd>update()</kbd> interface to run themselves. Tragically, the world is not ideal: the Animation Behaviour will need access to the mesh in order to animate it, but the mesh is stored within the SceneNode Behaviour. The FSM Behaviour (when we write it) will need to tell the PathFind Behaviour where to go, will need to pass the path found by PathFind to the SplineFollow Behaviour, will need to tell the Animation Behaviour to start the walk animation, and will need to update the position of the SceneNode. There is a lot of intercommunication. So far, we&#8217;ve been fairly flexible about giving access to Behaviours &#8211; they can be retrieved from the Entity storing them, and since each Behaviour has a handle to its parent Entity they can be accessed from within or without.</p>
<p>All in all, I&#8217;d highly recommend this style of object composition. It&#8217;s easy to use, and quite intuitive for those of us coming from an inheritance-oriented background. After a while, you realise that the Entities are not really necessary; a component manager could be used to store a variety of Behaviours which have an entity ID to describe how they fit together, in what West calls &#8220;Pure Aggregation&#8221; in his article. The Entities in our system essentially act as localised component managers. West recommends this as an intermediate solution, and to a degree I agree &#8211; the purely aggregate system has an abstract and simple beauty to it, and is incredibly flexible and powerful. However, the idea of concrete Entities can be a useful one, and I think so long as we are limiting this system to in-game objects (as opposed to all game functionality, including scripts and triggers, etc.) we will probably keep them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dpwright.com/2007/09/16/38/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
