<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Henry&#039;s Game Blog</title>
	<atom:link href="http://hgame.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hgame.wordpress.com</link>
	<description>The living portfolio of a final year Games Programming undergraduate.</description>
	<lastBuildDate>Wed, 04 Jan 2012 12:59:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hgame.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Henry&#039;s Game Blog</title>
		<link>http://hgame.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hgame.wordpress.com/osd.xml" title="Henry&#039;s Game Blog" />
	<atom:link rel='hub' href='http://hgame.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Dissertation/Applied Research Project</title>
		<link>http://hgame.wordpress.com/2010/12/10/dissertationapplied-research-project/</link>
		<comments>http://hgame.wordpress.com/2010/12/10/dissertationapplied-research-project/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 07:45:18 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Reports]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=130</guid>
		<description><![CDATA[My final year Applied Research Project was entitled &#8216;Investigating a model of place for game AI and evaluating its performance as a method for authoring agent reactions&#8216;. It received an &#8216;A&#8217; grade. Download Applied Research Project (PDF, 1.93 MB) Abstract This project examines whether concepts of place can be usefully applied in game AI, specifically in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=130&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My final year Applied Research Project was entitled &#8216;<em>Investigating a model of place for game AI and evaluating its performance as a method for authoring agent reactions</em>&#8216;. It received an &#8216;A&#8217; grade.</p>
<h3>Download</h3>
<p><a href="http://hgame.files.wordpress.com/2010/11/golding-2010-arp.pdf">Applied Research Project</a> (PDF, 1.93 MB)</p>
<h3>Abstract</h3>
<p>This project examines whether concepts of place can be usefully applied in game AI, specifically in the context of authoring agent reactions. It reviews current spatial approaches to world representation in games and literature on place from other disciplines. A conceptual model of place for use in game AI is then proposed, influenced by the theories of implacement and affordances. A place agnostic test case is presented, together with an analysis of two parallel implementations of it; a control implementation and an implementation derived from the proposed model of place. The implementations are then analyzed in objective terms, revealing that the place-based implementation performs worse but supports authoring better. The recommendation of this report is to use place-based representations judiciously, bearing in mind their additional overheads as well as their authoring benefits.</p>
<h3>Critical Evaluation (abridged)</h3>
<p>I am generally satisfied with the outcome of this project although I would have preferred (if time had allowed) to employ a more thorough methodology. As it was, I felt that the scope of the project was too limited, given the scope of the topic. I am pleased that a model of place was synthesized, but disappointed that the scope of the project prevented me from exercising it fully. If I could do it again I would focus more on layering behaviours rather than agent reactions.</p>
<p>There are many sources of information on concepts of place, across a wide range of disciplines, and their study has been very interesting. One point of difficulty was the high level of noise to signal found in the more philosophical writings, which might make this material inaccessible to game AI practitioners. In this respect I feel the industry could benefit from more literature reviews and summaries of thought in this area, and perhaps more multidisciplinary collaboration in the study of place. I am pleased with the literature review section of the project, which I feel provides a useful summary of thought in this area in fields which might not usually be considered by game AI practitioners.</p>
<p>There is definitely a movement in the game AI field towards more complex, semantic representations of spaces (driven, I believe, by the increasing complexity of agent behaviour) and concepts of place have been proposed as the way to achieve this. From my experiences throughout this project, I tend to agree. Implacement is the foundation of our experience of the world around us, and games have always striven to create the feeling of implacement in virtual environments. As graphics technology improves, virtual worlds have become more and more realistic, yet virtual agents often appear to behave unnaturally; unbelievably. I suspect that the reason this is so jarring to a human observer is because it makes it apparent that the agent itself is not implaced in its environment, a similar phenomenon to the ‘uncanny valley’ in robotics (Mori, 1970). I believe that applying concepts of place to agent architectures, for the purpose of implacing agents in their environments, is the most natural approach to overcoming this problem.</p>
<p>Overall I have found this to be a very worthwhile project. I feel well placed to apply the knowledge gained during the project to my game programming practice.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=130&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2010/12/10/dissertationapplied-research-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>Videogame Middleware</title>
		<link>http://hgame.wordpress.com/2010/11/10/videogame-middleware/</link>
		<comments>http://hgame.wordpress.com/2010/11/10/videogame-middleware/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 08:00:36 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Demo]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=133</guid>
		<description><![CDATA[The final year Videogame Middleware module comprised two distinct phases. Firstly, the design and implementation of a middleware component. Secondly, putting together a short Gamebryo game experience leveraging as many middleware components as possible. Through this process I was able to gain insight into the challenges facing both middleware providers and integrators. Build Phase I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=133&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The final year Videogame Middleware module comprised two distinct phases. Firstly, the design and implementation of a middleware component. Secondly, putting together a short Gamebryo game experience leveraging as many middleware components as possible.</p>
<p>Through this process I was able to gain insight into the challenges facing both middleware providers and integrators.</p>
<h3>Build Phase</h3>
<p>I chose to design and implement an input abstraction layer called HInput. The primary purpose of HInput is to decouple game/application code from specific input implementations. For example, rather than checking whether a gamepad button is down, or a key was pressed, we just query whether a named input was satisfied without needing to know how exactly it was implemented. This extra layer of abstraction gives us the flexibility to:</p>
<ol>
<li>Change input schemes without code changes or recompilation.</li>
<li>Dynamically switch between input schemes at runtime (e.g. we might choose to load a new scheme if we detect that a gamepad was connected). We can mix and match schemes, and different player can use different schemes. All this is completely transparent to the game code.</li>
<li>Using input metadata, it is possible to allow dynamic configuration of the system at runtime (which is how the HInput Editor works).</li>
</ol>
<p>HInput also has various layers of complexity in its interface:</p>
<ol>
<li>The simplest way of interacting with the system is through the Editor application (written in C#).</li>
<li>The InputManager singleton [HInput::GetManager()] provides everything you need to use an input configuration to provide input to your game.</li>
<li>Advanced users can write custom Inputs, InputDeviceServices, and plugins that can be loaded dynamically at runtime, as well as custom GUIs using the InputMetaData stored in the system.</li>
</ol>
<p>Full source code and compiled distributions of HInput, complete with documentation, example projects and editor application and plugins for keyboard and gamepad are available from <a href="https://sourceforge.net/projects/hinput" target="_blank">Sourceforge</a>. For an overview of the system, please read <a href="http://hgame.files.wordpress.com/2010/11/getting-started-with-hinput.pdf">Getting Started with HInput</a>.</p>
<h3>Leverage Phase</h3>
<p>In the leverage phase I chose to build a tongue-in-cheek action RPG style demo based on the Gamebryo &#8216;Kinslayer&#8217; sanple, called &#8216;Kinslayer-Ville&#8217;.</p>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2010/11/10/videogame-middleware/"><img src="http://img.youtube.com/vi/5_RJWH0XTOQ/2.jpg" alt="" /></a></span>
<p>Conversations are all voiced at runtime using Microsoft SAPI. There is also voice recognition to choose conversation options. The <em>Environmentz </em>day/night cycle skydome is supplemented by <em>CIELO </em>clouds. Inventory is with <em>Happy Sacks</em>. <em><a href="http://libct.wikidot.com/" target="_blank">LibCT</a> </em>provides the conversations and <em>QuickQuest </em>provides the quest log. Input is through my own <em><a href="https://sourceforge.net/projects/hinput" target="_blank">HInput </a></em>input abstraction layer. The opening cinematic is powered by <em>Cinesigner</em>, while <em>FMOD Ex </em>provides 3D positional sound.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/133/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=133&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2010/11/10/videogame-middleware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>Simple SAPI &#8211; Text to Speech and Speech Recognition</title>
		<link>http://hgame.wordpress.com/2010/05/18/simple-sapi-text-to-speech-and-speech-recognition/</link>
		<comments>http://hgame.wordpress.com/2010/05/18/simple-sapi-text-to-speech-and-speech-recognition/#comments</comments>
		<pubDate>Tue, 18 May 2010 14:46:57 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=120</guid>
		<description><![CDATA[This is a simple C++ integration of basic Text to Speech (TTS) and Speech Recognition (SR) features provided by the Microsoft Speech API 5.3. The SAPI itself if a very good and full featured API, but a little arcane for first time users. This code is intended to be an easy way to get basic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=120&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is a simple C++ integration of basic Text to Speech (TTS) and Speech Recognition (SR) features provided by the Microsoft Speech API 5.3. The SAPI itself if a very good and full featured API, but a little arcane for first time users. This code is intended to be an easy way to get basic functionality without much effort.</p>
<p>It provides a basic interface for TTS, and a dynamic &#8216;command and control&#8217; grammar for SR (as opposed to the &#8216;dictation&#8217; grammar which is easier to get working but fairly useless for games). You can specify a word or phrase at runtime and this code will create a grammar rule to listen for it.</p>
<p>The download includes source code and a sample Visual Studio 2008 project.</p>
<p><a href="http://www.box.net/shared/og5hp9hmuc" target="_blank">Download Source</a> (9KB)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=120&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2010/05/18/simple-sapi-text-to-speech-and-speech-recognition/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>Search for a Star</title>
		<link>http://hgame.wordpress.com/2010/03/17/search-for-a-star/</link>
		<comments>http://hgame.wordpress.com/2010/03/17/search-for-a-star/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 14:04:58 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Language - C++]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=106</guid>
		<description><![CDATA[This was my entry for Round 2 of the &#8216;Search for a Star&#8216; competition run by Aardvark Swift with Develop and Relentless. Of 150 people who entered I was one of 5 finalists who progressed to Round 3 (a panel interview), ultimately winning third place in the competition. Before After Key Improvements Fixed numerous deliberate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=106&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This was my entry for Round 2 of the &#8216;<a href="http://www.aswift.com/html/minisites/index.jsp?minisiteId=177" target="_blank">Search for a Star</a>&#8216; competition run by Aardvark Swift with <a href="http://www.develop-online.net/features/793/Search-for-a-Star" target="_blank">Develop</a> and <a href="http://www.relentless.co.uk" target="_blank">Relentless</a>. Of 150 people who entered I was one of 5 finalists who progressed to Round 3 (a panel interview), ultimately winning third place in the competition.</p>
<div id="attachment_127" class="wp-caption alignnone" style="width: 460px"><a href="http://hgame.files.wordpress.com/2010/03/sfas.png"><img class="size-full wp-image-127" title="Develop Excerpt" src="http://hgame.files.wordpress.com/2010/03/sfas.png?w=450&#038;h=493" alt="Develop Magazine, June 2010, p. 64" width="450" height="493" /></a><p class="wp-caption-text">Develop Magazine, June 2010, p. 64</p></div>
<h3>Before</h3>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2010/03/17/search-for-a-star/"><img src="http://img.youtube.com/vi/bG4YxWoMMWc/2.jpg" alt="" /></a></span>
<h3>After</h3>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2010/03/17/search-for-a-star/"><img src="http://img.youtube.com/vi/n9dzsNTzHjA/2.jpg" alt="" /></a></span>
<h3>Key Improvements</h3>
<ul>
<li>Fixed numerous deliberate bugs including buffer overruns.</li>
<li>General graphical improvements.</li>
<li>Gameplay improvements (enemy behaviour, player control, scoring).</li>
<li>Implemented support for DirectInput and XInput. Gamepad allows analogue control of rotation and thrust.</li>
<li>Implemented a gun base class and three guns; machine gun, bomb (falls under gravity) and splitter gun. Machine gun is weak but fast, splitter is devastating at mid range but not so good at short or long range, bomb will take out anything it touches but is hard to use.</li>
<li>Used XAudio2 (encapsulated in a singleton manager) to implement music and sfx. Base game state automatically changes music. Each gun has a firing sfx and there is an explosion sound for enemy/player destruction. There is also an engine noise which changes pitch and volume with the throttle (right trigger on gamepad). There is a built in interpolation so that it works with the digital keyboard input too.</li>
<li>Implemented 3 different types of enemies, with differing sizes, colors and health.</li>
</ul>
<h3>Download</h3>
<p>Download <a href="http://www.box.net/shared/8fy1onkfdp" target="_blank">executable</a> (7.8MB)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=106&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2010/03/17/search-for-a-star/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>

		<media:content url="http://hgame.files.wordpress.com/2010/03/sfas.png" medium="image">
			<media:title type="html">Develop Excerpt</media:title>
		</media:content>
	</item>
		<item>
		<title>AI Demo</title>
		<link>http://hgame.wordpress.com/2010/01/07/ai-demo/</link>
		<comments>http://hgame.wordpress.com/2010/01/07/ai-demo/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 20:15:02 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=75</guid>
		<description><![CDATA[This app (in C++ using GDI+ for the graphics) demonstrates some key game AI techniques, including: Finite state machines Steering (seek, flee, path follow) A* graph search for pathfinding Goal Oriented Action Planning, using the same A* graph search code used for pathfinding The work was graded A- with these comments from marking tutor (and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=75&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This app (in C++ using GDI+ for the graphics) demonstrates some key game AI techniques, including:</p>
<ul>
<li>Finite state machines</li>
<li>Steering (seek, flee, path follow)</li>
<li>A* graph search for pathfinding</li>
<li>Goal Oriented Action Planning, using the same A* graph search code used for pathfinding</li>
</ul>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2010/01/07/ai-demo/"><img src="http://img.youtube.com/vi/m8y7LkomKzo/2.jpg" alt="" /></a></span>
<p>The work was graded A- with these comments from marking tutor (and noted game AI practitioner) <a href="http://www.derby.ac.uk/staff-search/mr-adam-russell" target="_blank">Adam Russell</a>:</p>
<blockquote><p>Highly challenging extension topic (planning). Great documentation, with UML diagrams and discussion of reference texts. Full coverage of requirements, in a manager showing great evidence of orthogonality, abstraction and asynchronicity. Steering is solid&#8230;, pathfinding is really the highlight though as an abstract graph search powers both GOAP plans and an asynchronous pathfinder! Very very nice.</p></blockquote>
<h3>Download</h3>
<p>Executable demo -  <a href="http://www.box.net/shared/hyrfqkyebp" target="_blank">AIDemo.zip</a> (47.4KB)</p>
<p>-</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=75&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2010/01/07/ai-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>Advanced 3D Graphics</title>
		<link>http://hgame.wordpress.com/2010/01/07/advanced-3d-graphics/</link>
		<comments>http://hgame.wordpress.com/2010/01/07/advanced-3d-graphics/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 20:09:02 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=69</guid>
		<description><![CDATA[A final year assignment at university consisting of three mini-projects: shader techniques, character animation and large scene rendering.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=69&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A final year assignment at university consisting of three mini-projects: shader techniques, character animation and large scene rendering.</p>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2010/01/07/advanced-3d-graphics/"><img src="http://img.youtube.com/vi/qlwO_rUXHFg/2.jpg" alt="" /></a></span>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2010/01/07/advanced-3d-graphics/"><img src="http://img.youtube.com/vi/9DCeDf6zQ0Y/2.jpg" alt="" /></a></span>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2010/01/07/advanced-3d-graphics/"><img src="http://img.youtube.com/vi/pOLVwbzEPp8/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=69&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2010/01/07/advanced-3d-graphics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>The Brett Butcher Prize for Outstanding Contribution to Graphics</title>
		<link>http://hgame.wordpress.com/2009/12/09/the-brett-butcher-prize-for-outstanding-contribution-to-graphics/</link>
		<comments>http://hgame.wordpress.com/2009/12/09/the-brett-butcher-prize-for-outstanding-contribution-to-graphics/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 14:45:54 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=61</guid>
		<description><![CDATA[Recently, the University of Derby awarded me The Brett Butcher Prize for Outstanding Contribution to Graphics, which was a lovely surprise.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=61&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently, the University of Derby awarded me <a href="http://www.derby.ac.uk/computing/henrygolding" target="_blank"><em>The Brett Butcher Prize for Outstanding Contribution to Graphics</em></a>, which was a lovely surprise.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=61&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2009/12/09/the-brett-butcher-prize-for-outstanding-contribution-to-graphics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>Dead Space: Extraction</title>
		<link>http://hgame.wordpress.com/2009/09/25/dead-space-extraction-2/</link>
		<comments>http://hgame.wordpress.com/2009/09/25/dead-space-extraction-2/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 09:26:31 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Industry Experience]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=56</guid>
		<description><![CDATA[I spent my placement year (2008 to 2009) working at Eurocom as a member of the game programming team on AAA title Dead Space: Extraction, the Wii exclusive prequel to Dead Space. I was responsible for designing and implementing the weapon system (including stasis and kinesis), dynamic (&#8216;fear&#8217; based) music management system, data-driven player control [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=56&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I spent my placement year (2008 to 2009) working at <a href="http://www.eurocom.co.uk/" target="_blank">Eurocom</a> as a member of the game programming team on AAA title <a href="http://uk.wii.ign.com/objects/143/14320036.html" target="_blank"><em>Dead Space: Extraction</em></a>, the Wii exclusive prequel to Dead Space.</p>
<p>I was responsible for designing and implementing the weapon system (including stasis and kinesis), dynamic (&#8216;fear&#8217; based) music management system, data-driven player control schemes and one of the minor bosses, as well as other game programming tasks. I programmed in C++ within a mature codebase.</p>
<p>My lead programmer was kind enough to write me this <a href="http://www.linkedin.com/in/hgolding" target="_blank">LinkedIn</a> recommendation:</p>
<blockquote><p>“Henry joined my programming team as a placement student at the start of our one year project, and returned to university after the project had completed, giving him the experience of a full project life cycle. Henry integrated with the team fantastically, and very rapidly became an invaluable member of the programming team. Henry has an excellent work ethic, he plans his work thoroughly and embraced the code design process we use within the team. The standard of Henry&#8217;s code is excellent, and he works extremely quickly and efficiently. I was able to assign very complex systems for Henry to design and implement with confidence. I would not hesitate to recommend Henry to any employer, and was sad to see him leave the team to return to his university course.”</p>
<p>September 1, 2009<br />
<em>Gareth Clarke, Lead Programmer                               , Eurocom </em></p></blockquote>
<p>Other students or junior programmers may find my <a href="http://hgame.wordpress.com/2009/05/26/published-article-on-game-career-guide/">article</a> about the lessons learned on placement useful.</p>
<p><span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2009/09/25/dead-space-extraction-2/"><img src="http://img.youtube.com/vi/4mJgRZ1MqyE/2.jpg" alt="" /></a></span><em><br />
</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=56&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2009/09/25/dead-space-extraction-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>Published Article on Game Career Guide</title>
		<link>http://hgame.wordpress.com/2009/05/26/published-article-on-game-career-guide/</link>
		<comments>http://hgame.wordpress.com/2009/05/26/published-article-on-game-career-guide/#comments</comments>
		<pubDate>Tue, 26 May 2009 20:24:17 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Industry Experience]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=51</guid>
		<description><![CDATA[Today I&#8217;m featured on the front page of Gamasutra, with an article I wrote for sister site Game Career Guide about my placement year. Click the pic to visit the article.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=51&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m featured on the front page of Gamasutra, with an article I wrote for sister site Game Career Guide about my placement year. Click the pic to visit the article.</p>
<p><a href="http://gamecareerguide.com/features/744/top_ten_things_i_learned_during_my_.php" target="_blank"><img class="alignnone size-full wp-image-52" title="Gamasutra front page" src="http://hgame.files.wordpress.com/2009/05/gamasutra-front-page-small.jpg?w=450" alt="Gamasutra front page"   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=51&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2009/05/26/published-article-on-game-career-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>

		<media:content url="http://hgame.files.wordpress.com/2009/05/gamasutra-front-page-small.jpg" medium="image">
			<media:title type="html">Gamasutra front page</media:title>
		</media:content>
	</item>
		<item>
		<title>Health Waste Segregation Game</title>
		<link>http://hgame.wordpress.com/2008/09/22/health-waste-segregation-game/</link>
		<comments>http://hgame.wordpress.com/2008/09/22/health-waste-segregation-game/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 06:44:55 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=33</guid>
		<description><![CDATA[A very simple game produced for a family member who works in the NHS. It is a conversion of an existing paper card matching game used to train hospital staff. Players are shown 40 items of waste and must chose the correct disposal container for each one. Players gain a point for a correct answer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=33&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A very simple game produced for a family member who works in the NHS. It is a conversion of an existing paper card matching game used to train hospital staff.</p>
<p>Players are shown 40 items of waste and must chose the correct disposal container for each one. Players gain a point for a correct answer and loose a point for each wrong answer. However players cannot progress until the correct conatiner for the waste is found. A high scores table is presented at the end of the game.</p>
<p>The benefits of the electronic game over the paper game are:</p>
<ul>
<li>Easier to copy and distribute</li>
<li>No need for a supervisor who knows the answers to be present while the game is played</li>
<li>No possibility of wrong answers accidentally being allowed</li>
<li>Score mechanism encourages competitive play</li>
</ul>
<p>It was developed in Game Maker and took about 5 hours.</p>
<p><a href="http://hgame.files.wordpress.com/2008/09/screenshot101.jpg"><img class="alignnone size-medium wp-image-34" title="Health Waste screenshot" src="http://hgame.files.wordpress.com/2008/09/screenshot101.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<h4>Download Executable</h4>
<p><a href="http://www.box.net/shared/6bnqv8669o" target="_blank">Health Waste.zip</a> (3.76 MB)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=33&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2008/09/22/health-waste-segregation-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>

		<media:content url="http://hgame.files.wordpress.com/2008/09/screenshot101.jpg?w=300" medium="image">
			<media:title type="html">Health Waste screenshot</media:title>
		</media:content>
	</item>
		<item>
		<title>Postmortem: Pie-Parazzi</title>
		<link>http://hgame.wordpress.com/2008/06/30/postmortem-pie-parazzi/</link>
		<comments>http://hgame.wordpress.com/2008/06/30/postmortem-pie-parazzi/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 21:48:39 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Postmortems]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=31</guid>
		<description><![CDATA[Pie-Parazzi was developed over two weeks in June 2008 by Derby Games Studio for BBC Blast. The game design concept was produced by pupils of Swanwick Hall School during a competition organised by our client. We had previously spent three days implementing two prototypes of the strongest candidates in Game Maker. The prototype phase gave [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=31&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pie-Parazzi was developed over two weeks in June 2008 by Derby Games Studio for BBC Blast. The game design concept was produced by pupils of Swanwick Hall  School during a competition organised by our client. We had previously spent three days implementing two prototypes of the strongest candidates in Game Maker.</p>
<p class="MsoNormal">The prototype phase gave us a good idea of how the games would work in practice. The runner up (by Chellaston School) was a scrolling platformer called ‘Eco Warrior’, in which two teams of two competed against each other above and below ground to collect tokens and powerups. As such it would have been a much easier game to implement, but it was felt that it lacked depth and had not been pitched particularly well. Therefore Swanwick Hall’s ‘Celebrity Game’ was chosen for full development, despite the prototype itself being less polished than its competitor.</p>
<p class="MsoNormal">The game was to run on a Windows platform, but it would have to be shown and played on the Derby city centre big screen (rather large but also rather low resolution). It had to support four players so we decided that Xbox360 controllers were the way forward rather than crowding the keyboard.</p>
<p class="MsoNormal">This post-mortem is from my point of view as Project Manager and Programmer.</p>
<p class="MsoNormal"><span id="more-31"></span></p>
<h2>What went right</h2>
<ol style="margin-top:0;" type="1">
<li class="MsoNormal"><strong>Development Process </strong><br />
From the start we employed an iterative development process. In the      prototype phase we required the teams to produce something complete at the      end of each day. In main production we set three milestones over the two      week period with clearly defined requirements.</p>
<p>At the start of production the main difficulty was that the game design      was not nailed down, so we had to be very careful not to spend all our      time designing and no time implementing. We did this by giving one team      member responsibility for the design elements while the others implemented      common systems which we knew would be required whatever happened. The      design changed rapidly at first but by the second milestone it was      completely nailed down.</p>
<p>Because of the very tight timescale I had to make some decisions about      what made it into the final game. While not always popular, I think the      desired effect was achieved. For example, I declared the game mechanics      unchangeable after the second milestone, allowing only presentation work.      I also rejected a number of design proposals from management which we      could not have implemented in the time allowed.</p>
<p>By doing this I made sure we had enough time at the end of the project to      complete the essential visual polish (e.g. title screens, menus, tutorial,      credits, etc.) without which even the best game would have seemed poorly      made.</p>
<p>Our technical manager, Adam Russell, commented that the trajectory of the      project was similar to that of a much larger one if it were compressed      into two weeks.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
<li class="MsoNormal"><strong>Considering the Platform</strong><br />
We paid close attention to the target platform – the Derby      big screen. We were given technical specifications by the BBC but took the      precaution of visiting the screen twice for testing purposes during development.      This enabled us to tweak elements of the game (e.g. font size) and      identify some technical issues, namely our lack of appropriate connectors      and the significant latency between the screen and the control room that      made it nearly impossible to play the game in real time on the screen. We      were then able to solve these issues well in advance of the launch day.</p>
<p>The platform also dictated the audience. The game would have to be      ‘pick-up-and-play’ which caused us many problems bearing in mind that the      winning game was selected due to its depth of gameplay. We constantly had      to balance these two goals during development.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
<li class="MsoNormal"><strong>Choice of Tools</strong><br />
The original plan had been to develop the prototypes in Game Maker and      then the final version with XNA. However, once the winner was chosen it      became apparent that we would not have time to implement it fully in XNA      so we chose to continue using Game Maker.</p>
<p>I believe this choice was the right one, although there were pros and      cons. On the positive side, we ended up with a much better game. Had we      used XNA we would have had to essentially re-write at least half of Game      Maker before we could start actually designing the game. We simply did not      have that kind of time and it is likely that, even if we had, the result      would have been buggy and still visually no better than Game Maker output.</p>
<p>However, it was not all plain sailing. Game Maker was never designed for      team development. It is possible to import scripts and whole project files      but this was only really useful for complete subsystems. Especially      towards the end of the project we found that project-wide changes were      necessary. However, we learned a lot about how to use Game Maker      collaboratively:</li>
</ol>
<p class="MsoNormal">
<ol style="margin-top:0;" type="1">
<li>
<ul style="margin-top:0;" type="disc">
<li class="MsoNormal">We       used Subversion for source control, although this had to be over the whole       project file (which grew to about 12MB by the end) resulting in long       commit times.</li>
<li class="MsoNormal">After       the first week we used a physical ‘build-token’ (a Lucozade bottle) to       show who was currently making modifications to the active build. After       the changes were committed the token was passed to the next team member       who needed it, essentially locking the project file.</li>
<li class="MsoNormal">Wherever       possible we developed subsystems independently before importing them into       the project (e.g. the game timer, the player and shop state systems, the       particle effect systems, the gamepad wrapper).</li>
</ul>
</li>
</ol>
<p class="MsoNormal" style="margin-left:36pt;">There was also some initial opposition within the team to the idea of using Game Maker for development, but this snobbery mostly disappeared by the second week. However, the team consistently underestimated the API and in some cases wrote features that were already available.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></p>
<ol style="margin-top:0;" type="1">
<li class="MsoNormal"><strong>Game Design</strong><br />
As mentioned above, we started main production without a clear idea of how      the game would actually work. The prototype had a number of design flaws      and the final game turned out to be quite different.</p>
<p>The original pitch was for a game about four celebrities who each had to      buy four items from a mall. If they bought the most expensive items they      got a golden ticket and entered a maze to go to an awards ceremony. At      certain points there were paparazzi who would photograph them and slow      them down. Therefore there were elements of racing, item collection, and      puzzle solving involved.</p>
<p>In the prototype phase the main question which kept popping up was ‘how do      I win’? The mechanic was so complex that in many cases the victory      condition was undefined. At this stage it was also taking about 15 minutes      to explain how the game worked.</p>
<p>However, we had a breakthrough after the first milestone. We realised that      the unifying principle was fame. By ditching item collection entirely and      basing victory on fame we made the game a lot simpler to understand and      more fun to play. We also hit on the idea of representing current fame by      the size of the player’s head (instead of a separate fame-o-meter), saving      valuable screen real estate. After this breakthrough we were quickly able      to come up with a simple system of player states (good/bad/neutral) and      transitions and soon afterwards nailed down the gameplay.</p>
<p>The only remaining problem was picked up in playtesting – namely how to      tell who is currently in the lead (as only the leader is able to throw      other players out of the limo – the player in the limo at the end of the      game is the winner). At the time we agreed on a racing game style place number      indicator, but after implementing this we realised that there could be a      usability problem if the player in first place did not win at the end of      the game (because they were not in the limo). We didn’t want to lose the      limo as running after it had proved to be a fun mechanic in playtesting.      We therefore hit on the idea of using a crown to denote the current      leader. Only if a player wore the crown could they displace another player      from the limo.</p>
<p>The game design could have gone very badly wrong, but in the end I think      the final product is readily comprehensible, has some depth and more      importantly is fun to play.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
<li class="MsoNormal"><strong>Art</strong><br />
We were very pleased with the character art and environment art produced      by our team of artists (two of whom were unpaid volunteers). In particular,      the inspired character art and animation of Ash Barnard was right on      target in terms of the feel we were aiming for. All the art produced by      the team fits in well with the farcical theme of the game and      significantly adds to the game experience.</p>
<p>Collaboration between the artists and programmers was good, for example on      issues such as alpha channels, visual style, tile-set implementation, etc.      The programmers made sure the artists knew the technical requirements of      the platform. The artists took direction well and provided the art in a      format we could use.</li>
</ol>
<h2>What went wrong</h2>
<ol style="margin-top:0;" type="1">
<li class="MsoNormal"><strong>Team Selection</strong><br />
The team size and composition was based on incorrect assumptions, namely      that we would be developing the game in XNA. Because I had serious      concerns about our ability to do this within two weeks, I pushed for more      programmers than artists initially. However, once we decided to use Game      Maker we no longer needed as many programmers and found ourselves lacking      in artists (having only one). We therefore reached the second milestone      without very much in the way of environment art, which caused a lot of      concern. Once we were aware of the problem we petitioned Andreas, the      studio manager, for an extra artist. We were also lucky enough to have two      unpaid volunteer artists working with us in the final week of the project      who contributed greatly to the environmental art.</p>
<p>In general I was very happy with the quality of the team. However, we did      have one team member who turned out to be a subscriber to what Julian Gold      calls the ‘Hacker’s Charter’. Despite being arguably the best programmer      and a very intelligent and likeable individual, he suffered from…<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
</ol>
<p class="MsoNormal" style="margin-left:54pt;">“…the tendency of team members (programmers in particular) to ‘go off on one’ and spend disproportionately large amounts of time on non-critical tasks”.<br />
[Gold, J. 2004 – <em>Object-oriented Game Development</em>, Addison Wesley, Harlow]</p>
<p class="MsoNormal" style="margin-left:36pt;">Sadly this habit (especially undesirable in a two week project) meant that a lot of my time was spent curbing his worst excesses (e.g. advanced AI, unnecessary movement modes, premature optimization) and I had to ‘stamp’ on him quite hard on more than one occasion when he disagreed with decisions I had to make for the sake of pragmatism.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></p>
<ol style="margin-top:0;" type="1">
<li class="MsoNormal"><strong>Arguably the Choice of Winner</strong><br />
We could have saved ourselves a lot of time and effort by backing the      easier and more well prototyped of the two designs. If this had been a      purely commercial project then we would have done so, but we had to bear      in mind that there were also academic goals for our client and in the end      it was felt that the winning school should be rewarded for their superior      pitch. It was also felt that the team (composed entirely of undergraduate      students) would benefit more from the more complex and challenging option.      In the end, however, the choice of project was vindicated, but I am sure      we could have made just as good a job of the other design and had more      time to make it really sparkle.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
<li class="MsoNormal"><strong>Perhaps Too Many Cooks Management-wise<br />
</strong>Within the studio itself we had several layers of management. First      me, as project manager, then the studio manager, then two academics in the      technical and art management roles, as well as a number of other academics      involved in the design and playtesting process whose opinions carried far      more weight than the average playtester due to their positions.</p>
<p>Things worked out well in the end but at times there were so many people      giving (conflicting) input to the project that it was hard to know what to      do.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--><strong></strong></li>
<li class="MsoNormal"><strong>Unfixed Bugs<br />
</strong>Because of the very short timescale there were some known issues which      we had to decide not to fix. One of my more unpopular decisions was      stopping bug fixing on the ‘double bad pose’ bug, where the negative pose      animation always plays twice instead of once. However, as I had already      lost one team member for the entire morning trying to track it down, and      it did not seriously affect gameplay, I decided it was not worth wasting      any more time on. There are one or two other obscure bugs that occur under      certain rather rare conditions which I also decided we did not have any      more time to spend on fixing.<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></li>
<li class="MsoNormal"><strong>Communication with our Client</strong><br />
There were layers of management within our client which made things more      difficult. For example, our client department had no connection to the big      screen department who had to approve content and supervise our testing      visits, who in turn had no technical staff on-site. It was also unclear      how much priority was being given to the project, as in the end it was      only displayed on the big screen for 30 minutes during the day.</li>
</ol>
<h2>Conclusion</h2>
<p class="MsoNormal">The team is rather proud of the finished game, and the client is very happy. The game met all the requirements laid out by the client and was considered fun and ‘awesome’ by the players on the day. It also has some depth to it without confusing the casual player too much (everyone who played it got to grips with it fully by their second turn).</p>
<p class="MsoNormal">I think we worked well as a team, learned some important lessons, and turned out a great product considering we only had two weeks.</p>
<p class="MsoNormal">
<div style="border:1pt solid windowtext;padding:1pt 4pt;">
<p class="MsoNormal" style="border:medium none;padding:0;"><strong><span style="text-decoration:underline;">Data Box</span></strong></p>
<p class="MsoNormal" style="border:medium none;padding:0;"><span style="font-size:10pt;font-family:Verdana;">Number of full-time developers: <strong>1 project manager/programmer, 3 programmers, 2 paid artists, 2 volunteer artists. </strong></span><strong></strong></p>
<p class="MsoNormal" style="border:medium none;padding:0;"><span style="font-size:10pt;font-family:Verdana;">The budget of the game: <strong>£10,000</strong></span><strong></strong></p>
<p class="MsoNormal" style="border:medium none;padding:0;"><span style="font-size:10pt;font-family:Verdana;">The length of time the game was under development: <strong>13 working days</strong></span><strong></strong></p>
<p class="MsoNormal" style="border:medium none;padding:0;"><span style="font-size:10pt;font-family:Verdana;">The actual length of the game (i.e. number of lines of code).: <strong>Approx 4000 lines</strong></span><strong></strong></p>
<p class="MsoNormal" style="border:medium none;padding:0;"><span style="font-size:10pt;font-family:Verdana;">The release date of the game : </span><strong><span style="font-size:10pt;font-family:Verdana;">25  June 2008</span></strong><strong></strong></p>
<p class="MsoNormal" style="border:medium none;padding:0;"><span style="font-size:10pt;font-family:Verdana;">The platform(s) the game runs on. : <strong>Windows</strong></span></p>
<p class="MsoNormal" style="border:medium none;padding:0;"><span style="font-size:10pt;font-family:Verdana;">Hardware used in the development of the game: </span><strong><span style="font-size:10pt;font-family:Verdana;">Standard</span></strong><strong><span style="font-size:10pt;font-family:Verdana;"> </span></strong><strong><span style="font-size:10pt;font-family:Verdana;">University</span></strong><strong><span style="font-size:10pt;font-family:Verdana;"> of </span></strong><strong><span style="font-size:10pt;font-family:Verdana;">Derby</span></strong><strong><span style="font-size:10pt;font-family:Verdana;"> workstations</span></strong></p>
<p><span style="font-size:10pt;font-family:Verdana;">Software used in the development of the game: <strong>Game Maker 7.0 Pro, Photoshop</strong></span></p>
<p><span style="font-size:10pt;font-family:Verdana;">Notable technologies or technical underpinnings that were used/licensed for the game : <strong>SINAZxInput v1.0 – An XInput wrapper for Game Maker, Assembla.com for SVN hosting and team management</strong></span></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hgame.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hgame.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=31&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2008/06/30/postmortem-pie-parazzi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>Derby Games Studio and BBC Blast</title>
		<link>http://hgame.wordpress.com/2008/06/26/derby-games-studio-and-bbc-blast/</link>
		<comments>http://hgame.wordpress.com/2008/06/26/derby-games-studio-and-bbc-blast/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 11:02:05 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Industry Experience]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=26</guid>
		<description><![CDATA[I was employed by Derby Games Studio (a commercial enterprise of the University of Derby) for a short project earlier this month. The University has issued a press release about the project. The Project Our client, BBC Blast, ran a competition for local school children to design and pitch game concepts. The first stage of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=26&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was employed by Derby Games Studio (a commercial enterprise of the University of Derby) for a short project earlier this month.</p>
<p>The University has issued a <a href="http://www.derby.ac.uk/press-office/news-archive/become-derby-s-latest-big-screen-celebrity-for-three-minutes" target="_blank">press release about the project</a>.</p>
<p><strong>The Project</strong></p>
<p><img class="alignright" style="margin:5px;" src="http://hgame.files.wordpress.com/2008/06/sport_pose.gif?w=256&#038;h=296" alt="Tennis Star Pose" width="256" height="296" />Our client, <a href="http://www.bbc.co.uk/blast/" target="_blank">BBC Blast</a>, ran a competition for local school children to design and pitch game concepts. The  first stage of the project was to develop prototypes of the two best entries using <a href="http://www.yoyogames.com/make" target="_blank">Game Maker</a>, over three days.</p>
<p>Once the prototypes were completed, the winner was selected and their game was developed for a further two weeks.</p>
<p>The finished product was shown on the Derby city centre big screen on 25th June 2008 and will be published via the BBC Blast website, and the studio&#8217;s own website.</p>
<p><strong>My Role(s)</strong></p>
<p>I was hired as the Project Manager, reporting to the Studio Manager, Technical Manager and Art Manager. In the prototype phase (3 days) I managed two teams, each consisting of two programmers and one artist. I also wrote some code to support both teams, such as a class to manage an XInput extension and some vector manuipulation functions (dot product, magnitude etc) which were requested by the teams.</p>
<p>In the final phase (2 weeks) my role changed to include more programming, as well as leading the enlarged team and managing the project.</p>
<p>The final product was a great success (described as &#8216;awesome&#8217; by a number of players) and more importantly the client was very happy.</p>
<p>My contract was also extended to help in providing three game development workshops for young people during the BBC Blast on Tour (Derby) event.</p>
<p><strong>My Credits</strong></p>
<p>Project Manager<br />
Programmer<br />
Music</p>
<p><strong>Gameplay Video</strong></p>
<p><strong></strong><span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2008/06/26/derby-games-studio-and-bbc-blast/"><img src="http://img.youtube.com/vi/9KAjUjZZVsw/2.jpg" alt="" /></a></span></p>
<p><strong>Additional Info</strong></p>
<p>As well as my own <a href="http://hgame.wordpress.com/2008/06/30/postmortem-pie-parazzi/">postmortem</a> on the project, one of the other team members has <a href="http://davidleverton.wordpress.com/projects/bbc-blast-project/" target="_blank">written</a> about the project.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hgame.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hgame.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=26&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2008/06/26/derby-games-studio-and-bbc-blast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>

		<media:content url="http://hgame.files.wordpress.com/2008/06/sport_pose.gif" medium="image">
			<media:title type="html">Tennis Star Pose</media:title>
		</media:content>
	</item>
		<item>
		<title>Postmortem: Space Trading Game (C++)</title>
		<link>http://hgame.wordpress.com/2008/05/23/space-trading-game/</link>
		<comments>http://hgame.wordpress.com/2008/05/23/space-trading-game/#comments</comments>
		<pubDate>Fri, 23 May 2008 15:32:33 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Postmortems]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=21</guid>
		<description><![CDATA[This game was produced on a 12 week deadline in a team of four/five programmers (one late addition) in C++ using Emergent&#8217;s Gamebryo. Click for Postmortem&#8230; Overview This is an extract from the notes given to industry guests attending and assessing the final presentation of our work: The students have been allocated into programming teams [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=21&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This game was produced on a 12 week deadline in a team of four/five programmers (one late addition) in C++ using Emergent&#8217;s Gamebryo.</p>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2008/05/23/space-trading-game/"><img src="http://img.youtube.com/vi/a0hG8uKaIe8/2.jpg" alt="" /></a></span>
<p>Click for Postmortem&#8230;<br />
<span id="more-21"></span></p>
<h2>Overview</h2>
<p>This is an extract from the notes given to industry guests attending and assessing the final presentation of our work:</p>
<blockquote><p>The students have been allocated into programming teams (‘studios’), given a flaky brief (space-trading game) and provided with industry standard tools (Gamebryo, Subversion). The focus of the module has been to give the students a team industry experience preparing them for life during their placement.</p>
<p>They have experienced a number of typical studio problems including being given particular technology to integrate (Crazy Eddie’s GUI System), one ‘studio’ going out of business and they have recently pulled an ‘all-nighter’ to prepare their game for E3 – it falls early this year :)</p></blockquote>
<h2>What went right</h2>
<ol>
<li>From the start we did not underestimate the difficulty of the task – this ‘constructive pessimism’ served us well in hitting milestones. We had regular meetings and insisted on full participation in the project from all team members (knowing from experience that this is a common problem with student projects).We used Assembla, an online project management system, to assign tasks, track bugs and maintain a wiki of useful information. We communicated well throughout the project. We kept in contact through meetings, email, phone and Assembla. We got into the habit of putting full comments on our Subversion commits which made it easy to track what was changing.</li>
<li>We wrote systems to be as generic as possible, which was useful in the final stages when we had to add a lot of content in a hurry because few code changes were needed. The basic architecture was a GameObject class with derived Ship and Planet classes. Other objects were composed with the Ships to represent their internals (i.e. engine, weapon bay, cargo hold and resources). This encapsulation was useful. For example, the CargoBay was re-used for the TradingPost class later on).We also wrote a scene graph manager to enable us to ‘warp’ to other galaxies. Each scene graph stored a pointer to its root node and an instance of the Ship and Planet Manager classes.</li>
<li>We completely abstracted the game input by implementing InputProvider classes with a common interface to convert input (e.g. from the Xbox360 controller) into a set of defined GameInputs – namely roll, pitch, yaw, throttle and stop. This helped us when we had to make radical changes to the gamepad input code later on, by confining the code that had to be changed to the InputFromGamepad class.It also allowed us to easily implement AI behaviours. Starting with simple wing levelling behaviour, a hierarchy of input providers was built to provide steering towards an object, throttle control, formation flying, and, ultimately, trader or pirate behaviour for NPC ships – all using only the basic GameInputs mentioned above.This AI behaviour was also used to provide a ‘fly-to-target’ autopilot feature for the player’s ship.This architecture would also make it easier to implement a networked play mode, and indeed to extend the AI framework with more advanced behaviours.</li>
<li>We decided early in the project to load in all our data via XML. Team member Jamie integrated TinyXML and wrote most of the loading/saving code. This proved to be a very good decision as it gave us complete flexibility to change the design and content of the six solar-systems, from how many ships there were and what they looked like, to the speed at which planets orbited the sun, without any code changes. It also allows player customisation and gives scope for a level design tool.</li>
<li>We used FMOD to add music, sound effects and voice cues late in development. It proved powerful and very easy to work with. By using sound to provide feedback we were able to avoid a lot of GUI programming as well as create a more immersive experience. FMOD provided all the sound channels we needed and more, as well as the ability to change frequency and volume on specific channels (which we named using an enum), allowing the variable pitch engine noise and changing music depending on mode (battle/trade/normal).</li>
</ol>
<h2>What went wrong</h2>
<ol>
<li>At the beginning of the project we essentially wasted two or three weeks getting to grips with Gamebryo, mainly due to our attempts to extend the engine’s classes for our own game objects. It was not until we abandoned this idea and built our game engine separately (with handles into the graphics engine instead of being part of it) that we made any progress.</li>
<li>We should have spent more time reading the Gamebryo documentation. In particular we did not really get to grips with the memory management system until near the end of the project and we struggled with when to use smart pointers.</li>
<li>We probably suffered from a lack of design and overall vision initially – being programmers we tended to put programming first (especially as we knew we were not being assessed on our art or design skills). However, at the alpha presentation we felt that our game did not have the necessary wow factor (although arguably the most solidly built). Between the alpha and final builds we spent all our time on visual and gameplay polishing.</li>
<li>It was always an ambitious project, and our desire to do it well and produce a great game unfortunately led to us not spending enough time on some of our other coursework, and left no time for personal projects.</li>
<li>In the early stages we did not spend enough time working in a group environment, tending instead to code as and when we could. As time went on this improved and we found it very helpful to be working in the same physical location at the same time.</li>
</ol>
<h2>My Contributions</h2>
<ul>
<li>Management
<ul>
<li>Conducting meetings</li>
<li>Keeping documentation</li>
<li>Maintaining project schedule</li>
</ul>
</li>
<li>C++ code
<ul>
<li>Scene graph manager</li>
<li>Game object managers</li>
<li>Input / AI / Autopilot / Targeting</li>
<li>Gameplay tweaking</li>
<li>Engine sounds, music, ship voice</li>
</ul>
</li>
</ul>
<h2>Conclusion</h2>
<p>We all learned a lot from the project about working in a team environment, and about debugging!</p>
<h2>Development Videos</h2>
<p>Lead programmer Bret has some videos of the game at various stages during the all nighter:</p>
<p><a href="http://www.youtube.com/watch?v=STCkhGa5UgI" target="_blank">Alpha Build</a><br />
<a href="http://www.youtube.com/watch?v=TSmfpY0aJsk" target="_blank">Alpha Build Second Video</a><br />
<a href="http://www.youtube.com/watch?v=PrKvDaCF9w4" target="_blank">Development Video 3</a></p>
<h2>Links</h2>
<p><a href="http://www.assembla.com/">Assembla &#8211; Free project hosting</a><br />
<a href="http://www.cegui.org.uk/">Crazy Eddie&#8217;s GUI System</a><br />
<a href="http://www.emergent.net/en/Products/Gamebryo/">Emergent&#8217;s Gamebryo</a><br />
<a href="http://www.fmod.org/">FMOD &#8211; Music and Sound Effects System</a><br />
<a href="http://www.derby.ac.uk/gaming">University of Derby</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hgame.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hgame.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=21&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2008/05/23/space-trading-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ Software Renderer</title>
		<link>http://hgame.wordpress.com/2008/03/20/c-software-renderer/</link>
		<comments>http://hgame.wordpress.com/2008/03/20/c-software-renderer/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 14:57:05 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=19</guid>
		<description><![CDATA[Introduction My demo starts by running a scripted demonstration of the various features supported, culminating in a Martian disco! After the script runs, buttons are revealed to allow the demo to be used as a sandbox. 2d and 3d effects can be turned on/off by the user. The user can also choose to run the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=19&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Introduction</h3>
<p>My demo starts by running a scripted demonstration of the various features supported, culminating in a Martian disco! After the script runs, buttons are revealed to allow the demo to be used as a sandbox. 2d and 3d effects can be turned on/off by the user. The user can also choose to run the script again.</p>
<p>The demo features an animated Marvin the Martian, loaded from MD2 format. In addition to rendering the demo features both 3D effects (such as spike, pulse, dissolve and character animation) and 2D image post-processing filter effects (such as gamma correction, brightness, bloom and blur). The effects are implemented as loosely coupled objects which decorate either a game object or a rasterizer.</p>
<p><strong>Update (12 March 2009) &#8211; </strong>I have now fixed a few problems with the renderer. Specifically:</p>
<ul>
<li> It now interpolates properly between animation keyframes.</li>
<li>The orbit camera now works.</li>
</ul>
<span style="text-align:center; display: block;"><a href="http://hgame.wordpress.com/2008/03/20/c-software-renderer/"><img src="http://img.youtube.com/vi/L4h-Bl5ibks/2.jpg" alt="" /></a></span>
<h3>Download</h3>
<p><strong>Executable</strong> &#8211; <a href="http://www.box.net/shared/poxltiqr0x" target="_blank">CPPSoftwareRenderer.zip</a> (1.37MB)<br />
<strong>Readme</strong> &#8211; <a href="http://www.box.net/shared/sd3xb7j4go">Readme.pdf</a> (87KB)<br />
<em></em></p>
<p><span id="more-19"></span><br />
<strong>Features of the Software Renderer</strong><br />
•	Vector and Matrix classes – implemented as fully functional data types with overloaded operators, copy constructors and accessors. Support add, subtract, scalar divide and multiply, cross and dot products, transpose etc. Also provide static matrix generation methods e.g. identity matrix, rotations, translations, scaling.</p>
<p>•	Camera – The camera is able to change position.</p>
<p>•	Rendering pipeline – The rendering pipeline is comprised in MyApp::Render(). In order for effects to be applied in the correct sequence (some need to be applied post-transform, pre-render) the pipeline has three stages. Render() is called after movement effects have been applied (DoMovement()). It distinguishes between the various render modes in use (e.g. there is no need to light the model if we are only drawing wireframe or outputting a texture for debugging). The pipeline then splits into TransformObject() and DrawObject(). The former deals with normal and lighting calculations, transforms to camera space, culling and sorting polys (if appropriate). The 3D effects manager is then called before DrawObject(), which handles perspective and screen transforms and renders the model. After this the pipeline deals with 2D post-processing effects and filters, before flushing the pixel buffer to the GDI+ bitmap, drawing text and framerate, and drawing the bitmap to the window.</p>
<p>•	Rasterizer – As mentioned above, my rasterizer makes use of a pixel buffer for drawing. It supports rendering in the following modes:<br />
o	Wireframe<br />
o	Flat shaded (GDI+)<br />
o	Flat shaded (manual)<br />
o	Gouraud shaded<br />
o	Textured<br />
o	Textured and lit<br />
o	Textured, lit and gouraud shaded<br />
o	Texture debug</p>
<p>In addition it supports a number of 2D filters, namely:<br />
o	Inverse (negative)<br />
o	Grayscale<br />
o	Colorisation<br />
o	Brightness adjustment<br />
o	Gamma adjustment<br />
o	Blur<br />
o	Line scan<br />
o	Bloom<br />
o	Jitter</p>
<p>I have combined a number of these filters in my demo to create effects (e.g. a ‘retro’ filter comprising greyscale, color (sepia tone) and jitter).</p>
<p>•	Z–Buffering – The rasterizer supports Z buffering through the ZBuffer class, allowing per-pixel sorting.</p>
<p>•	Polygon culling and sorting – Depending on draw mode, various methods are used, such as: polygon sorting with std::sort and a predicate function; backface culling; whole polygon culling outside view port; line culling in wireframe mode. Clipping is not supported.</p>
<p>•	Lighting Support – Lights are implemented as a base class (Light) and three derived classes (LightAmbient, LightDirectional and LightPoint). These are tested and functional and the scene contains one, two and one of each, respectively. MyApp contains arrays of each type of light, making it simple to add and remove lights as required, although it might be nicer to have a light manager to handle this.</p>
<p>•	3D Effects – My renderer includes an extensible effects framework using the decorator pattern. It was initially meant to handle 3D effects on objects, but I found it very handy for creating effects to apply to the rasterizer and the camera.</p>
<p>The abstract base class, Effect, provides an interface for effects, which decorate an Object. Derived effects simply implement the Update() and Undo() methods in addition to any code of their own.</p>
<p>In practice I found it very easy to create new effects using this framework, even filter effects, for which I simply used a dummy object and passed in a rasterizer. With hindsight it might have been better to further abstract the base class and build on three derived classes – EffectObject, EffectRasterizer and EffectCamera, rather than having a redundant object pointer.</p>
<p>o	Effect Manager – The effect manager comprises a linked list of Effect*. With polymorphism, effects of any type can be passed in, and the manager then Update()s these every frame, deleting them when they have finished. In this way, effects can be created and then forgotten about.</p>
<p>o	Spin – Applies a rotation about a specified axis for a duration.</p>
<p>o	Spike – Smoothly transforms verts outwards into spikes and back again over a time period using Object::Spike. Customizable offset and magnitude.</p>
<p>o	Pulse – Smoothly transforms verts outwards and inwards in a sinusoidal pattern. Customizable frequency and amplitude.</p>
<p>o	Rainbow – Modifies the reflectance co-efficients of an object over time in a randomly fluctuating pattern to give a rainbow effect.</p>
<p>o	Dissolve – Uses a predicate std::sort to order polygons by average Y value, then over a duration culls them from top to bottom, giving a disintegration effect.</p>
<p>o	Animation – Applies an animation to a model over a period. When object is loaded the key animation frames are stored in an array of the KeyFrame class. Object::LoadFrame() simply adjusts the Object::_vertices pointer to point to the relevant KeyFrame::_vertices array.</p>
<p><strong>•	2D post processing effects</strong><br />
o	Color filter<br />
o	Grayscale<br />
o	Gamma<br />
o	Brightness<br />
o	Bloom<br />
o	Blur<br />
o	Lines<br />
o	Jitter<br />
o	Inverse</p>
<p><strong>The Scene</strong></p>
<p>•	Direct camera manipulation<br />
•	Several objects being transformed in different ways<br />
•	Light sources<br />
•	User options</p>
<p><strong>Optimization and performance</strong><br />
I kept track of the optimisations I performed on a spreadsheet.</p>
<p>•	Pixel buffer – The primary optimisation made, which resulted in a framerate increase of 56fps in textured mode, was doing all drawing to a pixel buffer and then flushing this to the GDI+ bitmap once per frame, intead of using Image::SetPixel(). A side effect of this was that it made post-processing much easier and faster, as this was done directly on the buffer.</p>
<p>•	Float to int conversion – Profiling revealed the biggest bottleneck was float to int conversions using __ftol(). I replaced this with some third party code (referenced in my code – float_cast.h) which resulted in an improvement of about 5fps in some cases. Time was also saved in some of the image filters.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hgame.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hgame.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=19&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2008/03/20/c-software-renderer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ Source: Definite Integral Calculation</title>
		<link>http://hgame.wordpress.com/2008/03/17/c-source-definite-integral-calculation/</link>
		<comments>http://hgame.wordpress.com/2008/03/17/c-source-definite-integral-calculation/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 22:33:09 +0000</pubDate>
		<dc:creator>Henry</dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Language - C++]]></category>
		<category><![CDATA[Maths]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">http://hgame.wordpress.com/?p=16</guid>
		<description><![CDATA[I have recently been doing some research on flight and aerodynamics for a project that&#8217;s in the pipeline, in particular how to calculate lift under varying conditions. According to Wikipedia: &#8220;The total Lift force is the integral of vertical pressure forces over the entire wetted surface area of the wing.&#8221; This got me wondering about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=16&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have recently been doing some research on flight and aerodynamics for a project that&#8217;s in the pipeline, in particular how to calculate lift under varying conditions. According to <a href="http://en.wikipedia.org/wiki/Lift_(force)"><strong>Wikipedia</strong></a>:</p>
<blockquote><p>&#8220;The total Lift force is the integral of vertical pressure forces over the entire wetted surface area of the wing.&#8221;</p></blockquote>
<p>This got me wondering about how to calculate the definite integral of a function programatically, so I wrote this program which aproximates the area under a curve to a given degree of accuracy by breaking the area up into a number of trapezoids.</p>
<h3>Download</h3>
<p><strong>Source</strong>: <a href="http://www.box.net/shared/mddwozyg4k">integral.cpp</a> (3.0 KB)</p>
<p><img src="http://hgame.files.wordpress.com/2008/03/integral-code.jpg?w=450" alt="integral-code.jpg" /></p>
<h3><strong>Update</strong></h3>
<p>This post is now [3 July 2008] the most popular on the whole blog. If you find it helpful (or not) please leave a comment. Thanks.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hgame.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hgame.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hgame.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hgame.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hgame.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hgame.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hgame.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hgame.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hgame.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hgame.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hgame.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hgame.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hgame.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hgame.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hgame.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hgame.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hgame.wordpress.com&amp;blog=615443&amp;post=16&amp;subd=hgame&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hgame.wordpress.com/2008/03/17/c-source-definite-integral-calculation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c11204097496b103243a6fcca24272e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henry</media:title>
		</media:content>

		<media:content url="http://hgame.files.wordpress.com/2008/03/integral-code.jpg" medium="image">
			<media:title type="html">integral-code.jpg</media:title>
		</media:content>
	</item>
	</channel>
</rss>
