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

<channel>
	<title>burning hill games</title>
	<atom:link href="http://burninghillgames.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://burninghillgames.com</link>
	<description>An online portfolio  for Keith Grant</description>
	<lastBuildDate>Sun, 19 Feb 2012 18:55:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Alpha Team 2.2</title>
		<link>http://burninghillgames.com/2012/02/alpha-team-2-2/</link>
		<comments>http://burninghillgames.com/2012/02/alpha-team-2-2/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 18:55:24 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project(Implementation)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=248</guid>
		<description><![CDATA[Well it turns out that writing a game engine is actually a little tricky, Who knew? I&#8217;ve been working on getting a first level build complete for this coming Wednesday and after a slow start things are actually starting to look a little clearer now. The new engine is at about the same stage as [...]]]></description>
			<content:encoded><![CDATA[<p>Well it turns out that writing a game engine is actually a little tricky, Who knew?<br />
I&#8217;ve been working on getting a first level build complete for this coming Wednesday and after a slow start things are actually starting to look a little clearer now.  The new engine is at about the same stage as the demo version from last term, albeit a cleaner more concise version, and the asset loaders (Model, Texture and Shader) have all been reimplemented as singletons.  This unfortunately turned out to be necessary (or at least I couldn&#8217;t come up with a more elegant solution) and they are all working very well now.  The GUI is also at an almost complete level, (again this time being implemented in a cleaner style than last trimesters hacky last-minute version) and I am just working through a few issues regarding switching between perspective and orthographic views.<br />
Neil&#8217;s started churning out some new models for us to include in the final game and they are looking pretty good so hopefully by this Wednesday we will have a first build of a simple level.<br />
In other news this site may soon be moving to a new host so there may be some slight downtime while this switch takes place.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2012/02/alpha-team-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alpha Team 1.2</title>
		<link>http://burninghillgames.com/2012/02/alpha-team-1-2/</link>
		<comments>http://burninghillgames.com/2012/02/alpha-team-1-2/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 10:52:45 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project(Implementation)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=245</guid>
		<description><![CDATA[Well it&#8217;s a new term and we have now started work on the final version of the engine/game. Its early days yet and we have really spent the first week planning the way forward for the rest of the year. We have been very ambitious with the scope of the project and we all agree [...]]]></description>
			<content:encoded><![CDATA[<p>Well it&#8217;s a new term and we have now started work on the final version of the engine/game.  Its early days yet and we have really spent the first week planning the way forward for the rest of the year.  We have been very ambitious with the scope of the project and we all agree that it is important to have a good concrete plan and not to just jump in with no clear direction.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2012/02/alpha-team-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alpha Team 11.1</title>
		<link>http://burninghillgames.com/2011/12/alpha-team-11-1/</link>
		<comments>http://burninghillgames.com/2011/12/alpha-team-11-1/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 10:54:39 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=241</guid>
		<description><![CDATA[Well this is it, the documents are all finished, the presentation went well and terms almost over.  I feel that as a team we have worked well together for the whole term, and we have all made significant contributions to the project.  I can&#8217;t wait for next term to begin so we can really move [...]]]></description>
			<content:encoded><![CDATA[<p>Well this is it, the documents are all finished, the presentation went well and terms almost over.  I feel that as a team we have worked well together for the whole term, and we have all made significant contributions to the project.  I can&#8217;t wait for next term to begin so we can really move on with the actual implementation of the engine.  The last couple of weeks were really spent finalising the design and plan stage of the engine and the game, and in putting together the presentation we gave, my main part for this was to create a short video of a tech. demo that showed some of the features we have been working on so to finish up I will let you take a look. This will be all until after Christmas and New Year so I hope you all have a good one.<br />
<iframe width="420" height="315" src="http://www.youtube.com/embed/g-asvuB0WSY" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/12/alpha-team-11-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alpha Team 10.1</title>
		<link>http://burninghillgames.com/2011/12/alpha-team-10-1/</link>
		<comments>http://burninghillgames.com/2011/12/alpha-team-10-1/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 21:15:14 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=236</guid>
		<description><![CDATA[Where did 9.1 go?  My schedule got confused with the re-timetabling last week and it completely slipped my mind.  But on to what I&#8217;ve been up to. The demo has been progressing well, working with Neil I got a model loader and asset management system up and running so now all assets are loaded one time [...]]]></description>
			<content:encoded><![CDATA[<p>Where did 9.1 go?  My schedule got confused with the re-timetabling last week and it completely slipped my mind.  But on to what I&#8217;ve been up to.</p>
<p>The demo has been progressing well, working with Neil I got a model loader and asset management system up and running so now all assets are loaded one time only, so that&#8217;s a good start.  But more importantly we now have the ability to actually display output to a window.</p>
<p><iframe src="http://www.youtube.com/embed/y9p7C97owjQ" frameborder="0" width="420" height="315"></iframe></p>
<p>To do this I implemented a (very) basic camera class that allows the player to move the camera forward, backward left and right.  I also added some quick and simple code for moving a unit about using the WASD keys, although once we have terrain implemented we will click a position as the units destination and the unit will make its own way there.  We are also now able to choose a specific unit using the mouse and and clicking the desired unit.  This has been achieved using color picking.  To do this I created a simple function that assigned each unit a unique ID as it is created and then this ID is passed into the shader along with the standard display info.  The shader then has two outputs one is the standard screen info that is sent to the display and the other is a buffer that holds a version of the view which shows each model as a flat color based on its unique ID.  A quick call to glReadPixels using the mouse co-ordinates as a parameter allows us to read the color value at the cursers location which can then be compared to each units ID to select the correct  unit.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/12/alpha-team-10-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alpha team 8.1 (A little late)</title>
		<link>http://burninghillgames.com/2011/11/alpha-team-8-1-a-little-late/</link>
		<comments>http://burninghillgames.com/2011/11/alpha-team-8-1-a-little-late/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 15:59:06 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=233</guid>
		<description><![CDATA[Now we&#8217;re onto the good bit, coding.  So far this week I have created place holders for the majority of the base classes required to implement the online demo, and have implemented the collision detection system.  I have also started work on the movement and positional modules.  Code may be the most enjoyable part of [...]]]></description>
			<content:encoded><![CDATA[<p>Now we&#8217;re onto the good bit, coding.  So far this week I have created place holders for the majority of the base classes required to implement the online demo, and have implemented the collision detection system.  I have also started work on the movement and positional modules.  Code may be the most enjoyable part of the project it is unfortunately one of the most boring parts to talk about.  Especially when it doesn&#8217;t have any viewable output yet.  Hopefully by the weekend I will be able to post some preliminary screen-shots, so until then I&#8217;m afraid there&#8217;s not much else to say.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/11/alpha-team-8-1-a-little-late/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alpha Team 7.1</title>
		<link>http://burninghillgames.com/2011/11/alpha-team-7-1/</link>
		<comments>http://burninghillgames.com/2011/11/alpha-team-7-1/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 12:50:10 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>
		<category><![CDATA[Natural Interaction/Robotics Crossover]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=231</guid>
		<description><![CDATA[Another busy week as we all worked towards putting the finishing touches to the tech. document.  An important but rather dull job when it comes to writing a blog.  What I did find however is how important a tech document is in clarifying the actual details of a project in my mind.  For me it [...]]]></description>
			<content:encoded><![CDATA[<p>Another busy week as we all worked towards putting the finishing touches to the tech. document.  An important but rather dull job when it comes to writing a blog.  What I did find however is how important a tech document is in clarifying the actual details of a project in my mind.  For me it really brigs a sense of reality, not to mention urgency, when you see a detailed class diagram, especially when you see how much is actually required to be implemented.  I still feel that we will be more than capable of completing the first build of the engine within the time allotted to us, and as Neil and myself have been tasked with writing the first build we will probably be having a good long discussion on this today.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/11/alpha-team-7-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team Alpha 6.1</title>
		<link>http://burninghillgames.com/2011/11/team-alpha-6-1/</link>
		<comments>http://burninghillgames.com/2011/11/team-alpha-6-1/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 12:29:42 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=226</guid>
		<description><![CDATA[Another week nearly finished and a productive week it has been. On Sunday, Kieran and I finally managed to decide on a concrete structure for the AI and as I write this I am just taking a quick break from finishing the class diagram for it.  I also managed to finish the class diagram for [...]]]></description>
			<content:encoded><![CDATA[<p>Another week nearly finished and a productive week it has been.</p>
<p>On Sunday, Kieran and I finally managed to decide on a concrete structure for the AI and as I write this I am just taking a quick break from finishing the class diagram for it.  I also managed to finish the class diagram for the engine itself, and so we can now start on implementing it.  Before that however I&#8217;ll have to sit down with the guys and as a team we will have to decide on the file specification for our custom file types, this will then enable us to implement the load from file functions for the various components and entities in the engine.  Ultimately what we hope to have is a situation where you use the tools Anthony is working on,  to create a series of linked files which will then be used by the engine to create the finished game.  The user of the engine should be able to create a unique game without writing a single line of code.  Obviously if the user does alter or add to the engines base code they will be able to add new features but the design we have should allow for a wide range of different RTS games to be created without resorting to altering the code base.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/11/team-alpha-6-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team Alpha 5.1</title>
		<link>http://burninghillgames.com/2011/11/team-alpha-5-1/</link>
		<comments>http://burninghillgames.com/2011/11/team-alpha-5-1/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 10:53:49 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=223</guid>
		<description><![CDATA[Running a little late this week as I had other stuff going on at the weekend, however over the last couple of days I have managed to put together a fair bit of (admittally hacky) code to give a general idea of how the underlying game engine will function.  The main problem with this is [...]]]></description>
			<content:encoded><![CDATA[<p>Running a little late this week as I had other stuff going on at the weekend, however over the last couple of days I have managed to put together a fair bit of (admittally hacky) code to give a general idea of how the underlying game engine will function.  The main problem with this is that it&#8217;s quite a short sentance for quite a lotof work.</p>
<p>So maybe a little detail about how I it works then?</p>
<p>Well the whole thing is based around a single class called GameComponent.  This is used as a base class for maybe 90 -95 % of the classes.  The general principal of the class is that it contains  a vector of other GameComponents whose update and render methods are automaticcally called by the parent classes update and render functions.</p>
<p>For instance the whole game will be in a class derived from GameComponent and will contain (amongst others) 2 instances of a player class, an instance of a level class and so on.  These in turn will also be derived from GameComponent.</p>
<p>So a call to game-&gt;render() would automatically call renderMe() and renderChildren().  The first function &#8220;renderMe()&#8221; obvoiously carrys out all the specific actions for game ( which being an abstract idea probably won&#8217;t have specific render code), and the second will iterate through each contained component and call their render() functions which will in turn repeat the process.</p>
<p>Now I&#8217;m off to take the test code I&#8217;ve written and create an actual OOP framework based on it.</p>
<p>This will take some time, and hopefully by next week I will have a complete UML diagram of the engine framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/11/team-alpha-5-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team Alpha 4.1</title>
		<link>http://burninghillgames.com/2011/10/team-alpha-4-1/</link>
		<comments>http://burninghillgames.com/2011/10/team-alpha-4-1/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 16:28:52 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=219</guid>
		<description><![CDATA[Another week is nearly over and I feel that we are still progressing well as a team.  Having talked to the others they all seem to be proceeding well with their areas of research and I feel that I&#8217;m doing pretty well as well.  I&#8217;ve now finished a first version of a 3d graphics/maths tool-kit that gives [...]]]></description>
			<content:encoded><![CDATA[<p>Another week is nearly over and I feel that we are still progressing well as a team.  Having talked to the others they all seem to be proceeding well with their areas of research and I feel that I&#8217;m doing pretty well as well.  I&#8217;ve now finished a first version of a 3d graphics/maths tool-kit that gives us access to matrices, matrix stacks, frames and view frustums.  It also has a 4d vector class in it that was provided by Kieran.  It also includes a maths class that has definitions for commonly used constants like Pi,  and 2Pi  and also has methods for converting between degrees and radians.</p>
<p>In addition to finishing the graphics tools, I have also started outlining the algorithms for our path-finding,  I&#8217;m sure it will be no surprise to anyone with even the smallest interest in AI that we will be going with an A* algorithm, however we will be running the algorithm over a navigation mesh rather a way-point map.  This is slightly more complicated to implement, but gives a more realistic movement to AI controlled characters.</p>
<p>A navigation mesh breaks the play area down into a number of convex polygons, some implementations only allow triangles, some allow n-sided polygons, personally I feel that triangles will be easier to utilize A* with but n-sided polygons may be easier to create automatically (we hope to have auto-generation of the nav-mesh, although that may well be a second term project).  The search algorithm then finds the quickest route between the start point and destination point, each polygon is given a cost value that is often based on average distance between the centre and the edges, or average distance between the centre of each edge.  The actual path however will be worked out using an algorithm that will calculate line of site and so smooth the path of the unit.</p>
<p>I&#8217;m currently working on a couple of diagrams to clarify the exact process in my head, and will post them up here when I get a chance in the meantime however there is a simple explanation <a href="http://digestingduck.blogspot.com/2010/03/simple-stupid-funnel-algorithm.html">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/10/team-alpha-4-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team Alpha 3.1</title>
		<link>http://burninghillgames.com/2011/10/team-alpha-3-1/</link>
		<comments>http://burninghillgames.com/2011/10/team-alpha-3-1/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 10:47:13 +0000</pubDate>
		<dc:creator>Keith Grant</dc:creator>
				<category><![CDATA[3rd Year Game Project (Design & Plan)]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://burninghillgames.com/?p=211</guid>
		<description><![CDATA[We are coming to the end of the third week now and things are going well, we have all completed our preliminary research and now have a better idea of what we can and can&#8217;t include in the engine. We also have a new team member this week and while it is always hard to [...]]]></description>
			<content:encoded><![CDATA[<p>We are coming to the end of the third week now and things are going well, we have all completed our preliminary research and now have a better idea of what we can and can&#8217;t include in the engine.</p>
<p>We also have a new team member this week and while it is always hard to integrate into an established group, I&#8217;m sure that he&#8217;ll get on fine and make a good contribution to the project.</p>
<p>Again I have spent most of the week deep in books on AI trying to gain a better understanding of path-finding and hierarchies.  Luckily I am also taking part in the on-line AI course being run from Stanford University and in the very first week they gave one of the clearest explanations of A* I have come across.</p>
<p>But although AI will be a big part of the game we also need to to be able to create a 3D world within which the game can take place.  As we are now using SDL for windowing and have been advised to stay clear of GLTools ( a library supplied with the OpenGL superBible that greatly simplifies the use of the new core profile), we also have to work on a number of classes to provide us with simple access to things like matrix stacks, view frustums and projection matrices.</p>
<p>We decided that if we are going to implement our own matrix stack, we would be as well creating our own matrix class, and if we are going to be creating our own matrix class we&#8217;de be as well to create a vector class and so we may as well create our own maths library.</p>
<p>This will  give us a couple of advantages, mainly that if we write it, then we know how it works and what it can and can&#8217;t do. This will also make it easier to add further functionality to it as well.   It does also however cause a couple of problems, the main one of which is making sure it actually works the way we think it does.  For me personally this caused some confusion when it came to issues like are the matrices column or row major, (This was especially important as we wanted it to be directly compatible with the GLSL equivalents and GLSL matrices are row major), and just because I think the ones I&#8217;ve created are row major does that mean they actually are.</p>
<p>Hopefully though we will have all this sorted out by the end of the week and we will have a full ( or at least full enough to be going on with) version of all the classes we need.</p>
]]></content:encoded>
			<wfw:commentRss>http://burninghillgames.com/2011/10/team-alpha-3-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

