<?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>Hazel McKendrick &#187; Programming</title>
	<atom:link href="http://hazelmckendrick.com/journal/category/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://hazelmckendrick.com</link>
	<description>Programming and Games Technology Portfolio</description>
	<lastBuildDate>Tue, 07 Sep 2010 23:07:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Pollen Video</title>
		<link>http://hazelmckendrick.com/journal/pollen-video</link>
		<comments>http://hazelmckendrick.com/journal/pollen-video#comments</comments>
		<pubDate>Mon, 09 Aug 2010 18:56:09 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[dare to be digital]]></category>
		<category><![CDATA[digital colony]]></category>
		<category><![CDATA[pollen]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=2019</guid>
		<description><![CDATA[I had forgotten to post this to the blog, so here you go: It&#8217;s a little rough around the edges, but still a nice summary of what we accomplished in ten weeks this time last year.]]></description>
			<content:encoded><![CDATA[<p>I had forgotten to post this to the blog, so here you go:<br />
<center><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/_nd4XuJCpI0&amp;hl=en_GB&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_nd4XuJCpI0&amp;hl=en_GB&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></center><br />
It&#8217;s a little rough around the edges, but still a nice summary of what we accomplished in ten weeks this time last year.</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/pollen-video/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search For A Star Competition</title>
		<link>http://hazelmckendrick.com/journal/search-for-a-star-competition</link>
		<comments>http://hazelmckendrick.com/journal/search-for-a-star-competition#comments</comments>
		<pubDate>Wed, 10 Mar 2010 17:34:37 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Aardvark Swift]]></category>
		<category><![CDATA[Asteroids]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[Search for a Star]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1859</guid>
		<description><![CDATA[Shortly before Christmas, students in my class were invited to participate in Aardvark Swift&#8217;s Search For A Star, a games related programming competition split over several knock-out rounds. Although the first round was taking place on the day before an exam, myself and two other students from Abertay took part. This round involved answering ten [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hazelmckendrick.com/wp-content/uploads/2010/03/521027252_cffd1603f7.jpg"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/03/521027252_cffd1603f7-300x201.jpg" alt="" title="521027252_cffd1603f7" width="300" height="201" class="alignleft size-medium wp-image-1862" /></a>Shortly before Christmas, students in my class were invited to participate in <a href="http://www.aswift.com/html/minisites/index.jsp?minisiteId=177&#038;pageId=180">Aardvark Swift&#8217;s Search For A Star</a>, a games related programming competition split over several knock-out rounds.  </p>
<p>Although the first round was taking place on the day before an exam, myself and two other students from Abertay took part. This round involved answering ten programming questions: 9 based on the C++ language and a final question focussing more on object oriented design.  <span id="more-1859"></span></p>
<p>I wasn&#8217;t sure what to expect beforehand (other than a vague notion that reversing a string in place might be involved) but found actually sitting the test to be quite a relief!  Although I wasn&#8217;t 100% sure all my answers were spot on, there weren&#8217;t any concepts which I was unfamiliar with.  It certainly increased my confidence (or at least reduced my sheer terror) concerning programming tests I might face when applying for a job.</p>
<p>I was pleasantly surprised to be told that I was one of the eleven programmers who had reached the second round, a more open-ended programming task.  For this we were given an uncompleted and incorrect Asteroids like game, and tasked with fixing and improving it within seven days.  Working with someone else&#8217;s code was an interesting exercise, and I aimed to uphold their programming style and standards as much as possible.  I hadn&#8217;t touched DirectX or DirectInput in some time, but I didn&#8217;t find it hard to get back into; nothing in the codebase was particularly surprising or unfamiliar.</p>
<p>The only downside of the problem was the short timespan, as I also had coursework deadlines and continued work with Digital Colony and on my dissertation to contend with.  I successfully submitted a corrected and improved application, however it would have been nice to dedicate more of my time.  I&#8217;m still waiting on the results of this stage, so I will of course update the blog when I hear back.  Since I worked on someone else&#8217;s codebase I&#8217;m unsure whether posting screenshots of the application is acceptable, however I may also follow up with those at a later date after seeking permission.</p>
<p><i>Image used under Creative Commons license from <a href="http://www.flickr.com/photos/pchee/521027252/">Computer Science Geek</a>.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/search-for-a-star-competition/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comms Library Progress</title>
		<link>http://hazelmckendrick.com/journal/comms-library-progress</link>
		<comments>http://hazelmckendrick.com/journal/comms-library-progress#comments</comments>
		<pubDate>Sun, 28 Feb 2010 21:09:02 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Honours Project]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[multithreading]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1847</guid>
		<description><![CDATA[Unfortunately my honours project is not particularly visual, so it can be hard to update this blog with my progress when I have nothing I can really show. However, progress is being made. The first component of the project, a communications and network library, was completed almost a week ago. The most useful thing I [...]]]></description>
			<content:encoded><![CDATA[<p>Unfortunately my honours project is not particularly visual, so it can be hard to update this blog with my progress when I have nothing I can really show.  However, progress <i>is</i> being made. The first component of the project, a communications and network library, was completed almost a week ago.</p>
<p>The most useful thing I can share is the class diagram this was based on.  It&#8217;s rough, it doesn&#8217;t detail methods or member data, and it&#8217;s far from beautiful, but perfection is an easy trap to fall into.  I thought it was better to have a functioning library and an ugly diagram than a work of art demonstrating a library which I then would have no time to create.<br />
<a href="http://hazelmckendrick.com/wp-content/uploads/2010/02/CommsLibClass21.png"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/02/CommsLibClass21-300x165.png" alt="" title="CommsLibClass2" width="300" height="165" class="aligncenter size-medium wp-image-1871" /></a></p>
<p>The current phase of the project is far more interesting in my opinion, and thankfully should result in something slightly more visually interesting.  It concerns the division of the world, hierarchically, into microcells.  This spatial partitioning, and more importantly the assignment of work to specific processors is fast becoming the major focus of the project, and I hope to follow up with more on that topic shortly.</p>
<p>EDIT: I have replaced the <a href="http://hazelmckendrick.com/wp-content/uploads/2010/02/CommsLibClass1.png">original diagram</a> with a still-ugly but slightly more descriptive update (if you actually view it at a decent size, that is).  The majority of member data and functions are still missing, but hopefully the few I&#8217;ve added will make my intentions slightly clearer.</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/comms-library-progress/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Global Game Jam 2010</title>
		<link>http://hazelmckendrick.com/journal/global-game-jam-2010</link>
		<comments>http://hazelmckendrick.com/journal/global-game-jam-2010#comments</comments>
		<pubDate>Thu, 04 Feb 2010 15:01:20 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Game Jam]]></category>
		<category><![CDATA[GGJ]]></category>
		<category><![CDATA[Glasgow Caledonian]]></category>
		<category><![CDATA[Panda Dragoon]]></category>
		<category><![CDATA[SGJ]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1794</guid>
		<description><![CDATA[Over the weekend, almost 50 developers in Scotland and over 1500 crazy people worldwide opted to forgo luxuries like sleep and rest by taking part in Global Game Jam. Perhaps unsurprisingly, you&#8217;re reading this because I was one of them. Scottish Game Jam, the branch of the event in which I participated, was hosted at [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hazelmckendrick.com/wp-content/uploads/2010/02/timthumb.png"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/02/timthumb.png" alt="" title="timthumb" width="630" height="250" class="aligncenter size-full wp-image-1804" /></a><br />
Over the weekend, almost 50 developers in Scotland and over 1500 crazy people worldwide opted to forgo luxuries like sleep and rest by taking part in <a href="http://globalgamejam.org/">Global Game Jam</a>.  Perhaps unsurprisingly, you&#8217;re reading this because I was one of them. <span id="more-1794"></span></p>
<p><a href="http://hazelmckendrick.com/wp-content/uploads/2010/02/hurt.jpg"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/02/hurt-300x158.jpg" alt="" title="hurt" width="300" height="158" class="alignleft size-medium wp-image-1806" /></a><a href="http://www.jonsykes.com/sgj/">Scottish Game Jam</a>, the branch of the event in which I participated, was hosted at <a href="http://www.gcal.ac.uk/">Glasgow Caledonian University</a>, organised by the fantastic <a href="http://www.romanakhan.com/">Romana Khan</a>.  Nine teams took part in the Saltire Centre, an impressive (though bright) space, loading up on caffeine and sleeping on couches (if at all).</p>
<p>My team <a href="http://www.jonsykes.com/sgj/?p=187">&#8220;Frat Boys from the Hood&#8221;</a> consisted of Abi, Jess, Andrew and myself from Abertay joined by Alex, a third year student from Glasgow Calendonian.  Working on a theme of deception and constraints mandating that we must include &#8220;a sink, a wink or a rink&#8221;, we built the 2d side-scroller <a href="http://globalgamejam.org/2010/panda-dragoon-bees-ice">&#8220;Panda Dragoon: Bees on Ice&#8221;</a> with the aid of the <a href="http://unity3d.com/">Unity</a> engine.</p>
<p>The game places our panda protagonist in a black and white world, fighting deceptive and equally monochrome foes.  Gliding through an ice rink, the player must switch between black and white in order to see enemies of the opposite colour.  However, switching also empowers these enemies—the player must be cautious—causing them to change form and cause increasing damage.  Luckily, the player is equipped to defeat these creatures by firing bees from its mouth.  The aim is to progress as far as possible as the game increases in speed, achieving a maximum score.</p>
<p><a href="http://hazelmckendrick.com/wp-content/uploads/2010/02/screen2.jpg"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/02/screen2-300x177.jpg" alt="" title="screen2" width="300" height="177" class="alignright size-medium wp-image-1812" /></a>Although the event overall was non-competitive in nature, Scottish Game Jam welcomed judges from Denki and Real Time Worlds to critique the resulting applications and to decide on a winning game.</p>
<p>Much to our surprise <b>We Won!</b></p>
<p>It was really reassuring to make such a self indulgent game, for ourselves and not for a nominated target audience, and yet have four out of five judges award it their highest score.  Obviously the game has flaws, we made it in <i>48 hours</i>, but with another week of tweaking at some point hopefully we can create something compelling and genuinely <i>fun</i>.</p>
<p>Overall, I had a fantastic time and would encourage any developer, especially artists, to take part next year.  It&#8217;s amazing how much you can learn and achieve in just two days.</p>
<p><a href="http://globalgamejam.org/2010/panda-dragoon-bees-ice">Download and play The Game.</a><br />
<a href="http://globalgamejam.org/">Global Game Jam</a><br />
<a href="http://www.jonsykes.com/sgj/">Scottish Game Jam</a></p>
<p><a href="http://hazelmckendrick.com/wp-content/uploads/2010/02/bees.jpg"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/02/bees.jpg" alt="" title="bees" width="650" height="220" class="aligncenter size-full wp-image-1808" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/global-game-jam-2010/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Coding Coder Art</title>
		<link>http://hazelmckendrick.com/journal/coding-coder-art</link>
		<comments>http://hazelmckendrick.com/journal/coding-coder-art#comments</comments>
		<pubDate>Fri, 22 Jan 2010 20:46:26 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[Texture Generation]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1775</guid>
		<description><![CDATA[Starting work on a 3D project as of yet lacking in assets, I was considering cracking open Paint.Net to create some default textures. However, being a programmer rather than an artist, I figured I&#8217;d better investigate some alternatives. I reduced my work, and made even more hideous coder art in the process! I ended up [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hazelmckendrick.com/wp-content/uploads/2010/01/ca.bmp"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/01/ca.bmp" alt="" title="art" width="150" height="150" class="alignleft size-full wp-image-1780" /></a> Starting work on a 3D project as of yet lacking in assets, I was considering cracking open Paint.Net to create some default textures.  However, being a programmer rather than an artist, I figured I&#8217;d better investigate some alternatives.  I reduced my work, and made even more hideous coder art in the process!</p>
<p>I ended up trying two options: .Net Graphics support (which uses GDI) and everyone&#8217;s favourite image manipulation tool <a href="http://www.imagemagick.org/script/index.php">ImageMagick</a>.  My aim was to create bright an horrible images, to ensure they don&#8217;t remain in the project by mistake, with text on them to show what object my many cubes and spheres represent. <span id="more-1775"></span></p>
<p>First up, my C# script.  It created the fantastic texture you see above, and can be run from a windows command line as<br />
<code> > DefaultTexGen.exe Text_To_Write FilenameToCreate.bmp</code></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Drawing</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Drawing.Imaging</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Drawing.Text</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">//creates a default texture with text on it</span>
<span style="color: #0600FF;">namespace</span> DefaultTexGen
<span style="color: #000000;">&#123;</span>
    <span style="color: #FF0000;">class</span> Program
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">//check whether arguments were passed</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>args.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">2</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Please run with arguments for image text and output file name.&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                return<span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//get name and output file from arguments</span>
            <span style="color: #FF0000;">string</span> name <span style="color: #008000;">=</span> args<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">string</span> file <span style="color: #008000;">=</span> args<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//set width and height (square), could get these from args too</span>
            <span style="color: #FF0000;">int</span> dimension <span style="color: #008000;">=</span> <span style="color: #FF0000;">256</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//create the bitmap</span>
            Bitmap genmap <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Bitmap<span style="color: #000000;">&#40;</span>dimension, dimension<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//apply the colour and text</span>
            FillTexture<span style="color: #000000;">&#40;</span>genmap<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            WriteText<span style="color: #000000;">&#40;</span>name, genmap<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//output bitmap</span>
            genmap.<span style="color: #0000FF;">Save</span><span style="color: #000000;">&#40;</span>file<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Image &quot;</span> <span style="color: #008000;">+</span> file <span style="color: #008000;">+</span> <span style="color: #666666;">&quot; created.&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>This relies on two further functions.  The first of these colours the image with a simple gradient, but could be replaced with any colouring function.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">        <span style="color: #008080; font-style: italic;">//fill a bitmap with a random gradient</span>
        <span style="color: #008080; font-style: italic;">//could replace with other colouring function</span>
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> FillTexture<span style="color: #000000;">&#40;</span>Bitmap _target<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//set random r,g,b values between 0 and 1</span>
            Random rand <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Random<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">float</span> rCol <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">float</span><span style="color: #000000;">&#41;</span>rand.<span style="color: #0000FF;">NextDouble</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">float</span> gCol <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">float</span><span style="color: #000000;">&#41;</span>rand.<span style="color: #0000FF;">NextDouble</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">float</span> bCol <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">float</span><span style="color: #000000;">&#41;</span>rand.<span style="color: #0000FF;">NextDouble</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//fill each pixel</span>
            <span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> x <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> x <span style="color: #008000;">&lt;</span> _target.<span style="color: #0000FF;">Width</span><span style="color: #008000;">;</span> x<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> y <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> y <span style="color: #008000;">&lt;</span> _target.<span style="color: #0000FF;">Height</span><span style="color: #008000;">;</span> y<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
                <span style="color: #000000;">&#123;</span>
                    Color pixColour <span style="color: #008000;">=</span> Color.<span style="color: #0000FF;">FromArgb</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">255</span> <span style="color: #008000;">*</span> rCol<span style="color: #000000;">&#41;</span>, Math.<span style="color: #0000FF;">Min</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">255</span>, <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#40;</span>x <span style="color: #008000;">*</span> gCol<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>, Math.<span style="color: #0000FF;">Min</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">255</span>, <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#40;</span>y <span style="color: #008000;">*</span> bCol<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                    _target.<span style="color: #0000FF;">SetPixel</span><span style="color: #000000;">&#40;</span>x, y, pixColour<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #000000;">&#125;</span>
            <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>The second actually writes the text to the image.  It calculates a font size to fit the given string onto the texture.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">        <span style="color: #008080; font-style: italic;">//Fit and write text to a bitmap</span>
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> WriteText<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> _text, Bitmap _target<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">//calculate the font size to fit the text to the image</span>
            <span style="color: #008080; font-style: italic;">//pixel width in monospaced Courier New = 0.833 point size</span>
            <span style="color: #0600FF;">const</span> <span style="color: #FF0000;">float</span> fontReduce <span style="color: #008000;">=</span> 0.833f<span style="color: #008000;">;</span>
            <span style="color: #0600FF;">const</span> <span style="color: #FF0000;">float</span> edgePadding <span style="color: #008000;">=</span> <span style="color: #FF0000;">20</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">float</span> size <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>_target.<span style="color: #0000FF;">Width</span> <span style="color: #008000;">-</span> edgePadding<span style="color: #000000;">&#41;</span> <span style="color: #008000;">/</span> _text.<span style="color: #0000FF;">Length</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">/</span> fontReduce<span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//set the max font size to 25</span>
            size <span style="color: #008000;">=</span> Math.<span style="color: #0000FF;">Min</span><span style="color: #000000;">&#40;</span>size, <span style="color: #FF0000;">35</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008080; font-style: italic;">//set up font and graphics</span>
            StringFormat format <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StringFormat<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            format.<span style="color: #0000FF;">Alignment</span> <span style="color: #008000;">=</span> StringAlignment.<span style="color: #0000FF;">Center</span><span style="color: #008000;">;</span>
            Font font <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Font<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Courier New&quot;</span>, size<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            Graphics graphics <span style="color: #008000;">=</span> Graphics.<span style="color: #0000FF;">FromImage</span><span style="color: #000000;">&#40;</span>_target<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            graphics.<span style="color: #0000FF;">DrawString</span><span style="color: #000000;">&#40;</span>_text, font, Brushes.<span style="color: #0000FF;">Black</span>, _target.<span style="color: #0000FF;">Width</span> <span style="color: #008000;">/</span> <span style="color: #FF0000;">2</span>, _target.<span style="color: #0000FF;">Height</span> <span style="color: #008000;">/</span> <span style="color: #FF0000;">3</span>, format<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>I&#8217;ll be honest, the second solution (with Imagemagick) is simpler, more flexible, and creates better looking textures.<br />
As an example:<br />
<code>convert -size 256x256 plasma:tomato-steelblue -font Arial -pointsize 20 -draw "text 10,20 Default_Texture" TextureToCreate.jpg</code><br />
Produces the following image:<br />
<a href="http://hazelmckendrick.com/wp-content/uploads/2010/01/tex.jpg"><img src="http://hazelmckendrick.com/wp-content/uploads/2010/01/tex.jpg" alt="" title="tex" width="256" height="256" class="aligncenter size-full wp-image-1790" /></a></p>
<p>Creating a batch/shell script to calculate the correct font size and run this command should be trivial, leading to some disgusting, but useful, textures.</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/coding-coder-art/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Next Level Dundee Showcase Video</title>
		<link>http://hazelmckendrick.com/journal/next-level-dundee-showcase-video</link>
		<comments>http://hazelmckendrick.com/journal/next-level-dundee-showcase-video#comments</comments>
		<pubDate>Mon, 18 Jan 2010 18:35:34 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Next Level]]></category>
		<category><![CDATA[Team Be]]></category>
		<category><![CDATA[YinYangYou]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1773</guid>
		<description><![CDATA[If you&#8217;ve seen some of the videos of YinYangYou on the site, hopefully you&#8217;ll enjoy seeing the other projects which were completed as part of Next Level Dundee. Here&#8217;s a Showcase of what was created; bear in mind we only had a week!]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve seen some of the videos of YinYangYou on the site, hopefully you&#8217;ll enjoy seeing the other projects which were completed as part of Next Level Dundee.  Here&#8217;s a Showcase of what was created; bear in mind we only had a week!</p>
<p><object width="600" height="398"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8813941&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8813941&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="398"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/next-level-dundee-showcase-video/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity Is Free</title>
		<link>http://hazelmckendrick.com/journal/unity-is-free</link>
		<comments>http://hazelmckendrick.com/journal/unity-is-free#comments</comments>
		<pubDate>Mon, 02 Nov 2009 23:53:51 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Games Engines]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Rotation]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1662</guid>
		<description><![CDATA[Having heard that the Unity game engine is now being offered for free, I figured I would be a fool not to take advantage and give it a go. As such, I spent a little time working through tutorials, playing with various features and starting a small game project. I figured as a quick introduction [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hazelmckendrick.com/wp-content/uploads/2009/11/ss2.jpg"><img src="http://hazelmckendrick.com/wp-content/uploads/2009/11/ss2-300x187.jpg" alt="ss1" title="ss1" width="300" height="187" class="alignright size-medium wp-image-1668" /></a>Having heard that the <a href="http://unity3d.com/">Unity game engine</a> is now being offered for free, I figured I would be a fool not to take advantage and give it a go.  As such, I spent a little time working through tutorials, playing with various features and starting a small game project.</p>
<p>I figured as a quick introduction I would work on a clone of <a href="http://hazelmckendrick.com/demos/flash-game-rotation">Rotation</a>, an Asteroids/Duo/Space Invaders sort of game which I created in Flash a couple of years ago.  </p>
<p>Overall things went (slightly surprisingly) very smoothly.  Initially I had to cling the <a href="http://unity3d.com/support/documentation/ScriptReference/index.html">script reference</a> but once I had a better idea of the functionality available, everything started to come together.  I don&#8217;t have much experience with comprehensive game engines like this, but Unity certainly seemed to provide far fewer &#8220;Why on earth was it designed like <i>that</i>?&#8221; moments than I&#8217;ve experienced in the past; it also took far less time to get a general overview of in the first place.  I can already see how this tool could be useful for quick gameplay mock-ups as well as complete, commercial products. <span id="more-1662"></span></p>
<p>So do I wish Unity had been a possibility when we worked on <a href="http://hazelmckendrick.com/demos/prototype-game-some-assembly-required">Some Assembly Required</a> last year?  I&#8217;m not sure.  In some ways, I think it perhaps makes things too easy when it comes to games programming as a learning experience.  Sure, there are a lot of great features and we almost certainly could have created a more complete game in the short time we had available, but at the same time we wouldn&#8217;t have learned about using and integrating 3rd party libraries, structuring the application overall or converting and importing troublesome assets.  </p>
<p>That&#8217;s also a reason I&#8217;m hesitant to keep working on this project &#8211; I&#8217;m not sure I&#8217;m getting as much from it as I could by tackling something more technical or in a different language.  We&#8217;ll see what time permits though, as working on a game to completion is obviously a challenging exercise in itself and it seems possible that having the engine there would allow me to focus on difficult problems while the other stuff is taken care of.</p>
<p>Since I&#8217;m not terribly sure this project will make it any further though (I do have an honours project to take care of, amongst other things), here&#8217;s the little segment I&#8217;ve completed so far:</p>
<ul>
<li>You&#8217;ll need the <a href="http://unity3d.com/webplayer/">Unity Web Player</a>.</li>
<li>Use left and right arrows to rotate your ships.</li>
<li>Use space to shoot the cubes (asteroids. Probably thrown through space by bugs we&#8217;re at war with on some distant planet)</li>
</ul>
<p><object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="675" height="450" codebase="http://webplayer.unity3d.com/download_webplayer/UnityWebPlayer.cab#version=2,0,0,0"><param name="src" value="http://hazelmckendrick.com/wp-content/uploads/2009/10/rotation.unity3d" /><embed id="UnityEmbed" src="http://hazelmckendrick.com/wp-content/uploads/2009/10/rotation.unity3d" width="675" height="450" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /><br />
</object></p>
<p>Anyway, if you&#8217;ve given Unity a try leave a comment below and let me know your experiences!</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/unity-is-free/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Experiments</title>
		<link>http://hazelmckendrick.com/journal/project-experiments</link>
		<comments>http://hazelmckendrick.com/journal/project-experiments#comments</comments>
		<pubDate>Tue, 27 Oct 2009 21:57:06 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Honours Project]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[threads]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1623</guid>
		<description><![CDATA[I&#8217;ve made some progress in the past week with my honours projects, creating small experimental programs to familiarise myself with multi-threading in .NET. Thankfully so far I&#8217;ve found the syntax clear and consistent with the terms normally involved in parallel processing. Although this doesn&#8217;t simplify the task of designing the program it certainly avoids the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hazelmckendrick.com/wp-content/uploads/2009/10/Untitled2.png"><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/Untitled2-300x233.png" alt="Untitled2" title="Untitled2" width="300" height="233" class="alignright size-medium wp-image-1626" /></a>I&#8217;ve made some progress in the past week with my honours projects, creating small experimental programs to familiarise myself with multi-threading in .NET.  Thankfully so far I&#8217;ve found the syntax clear and consistent with the terms normally involved in parallel processing.  Although this doesn&#8217;t simplify the task of designing the program it certainly avoids the implementation overhead which has been inherent in my attempts with multi-threading in C++.</p>
<p>The programs I&#8217;ve been working on are in C#, though I&#8217;d be interested to try other .NET languages.  In each, I processed thousands of entities allowing each to rotate and bounce around a window.  Different methods of splitting up and dealing with this work in parallel were experimented with.  <span id="more-1623"></span></p>
<p>Rendering, which was performed separately and was responsible for a fair amount of overhead, could be simplified or rearranged to increase overall frame processing time.  However, as the graph below (from my first program created) shows there was a noticeable difference between using one and multiple threads.  I&#8217;m using a dual core CPU on my laptop, and with the application limited to a single core the gain was far less significant; I hope to see whether using a quad core CPU would offer a further gain in the near future.</p>
<p>Although not shown, using 32, 64 or even 1024 threads caused far less of a performance hit that I had expected.  The time spent creating the threads at the beginning of the program was notable, however, as was the increase in memory requirements.</p>
<p><a href="http://hazelmckendrick.com/wp-content/uploads/2009/10/graph.png"><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/graph.png" alt="graph" title="graph" width="645" height="427" class="aligncenter size-full wp-image-1627" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/project-experiments/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Initial Research Question</title>
		<link>http://hazelmckendrick.com/journal/initial-research-question</link>
		<comments>http://hazelmckendrick.com/journal/initial-research-question#comments</comments>
		<pubDate>Tue, 06 Oct 2009 14:50:34 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Honours Project]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[compilers]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[evaluation strategies]]></category>
		<category><![CDATA[graftals]]></category>
		<category><![CDATA[L-systems]]></category>
		<category><![CDATA[language design]]></category>
		<category><![CDATA[lazy evaluation]]></category>
		<category><![CDATA[Other Abertay Students]]></category>
		<category><![CDATA[procedural geometry]]></category>
		<category><![CDATA[Research Question]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1513</guid>
		<description><![CDATA[How can a non-strict programming language be designed to aid the generation of organic models? After much thought, even considering changing my topic entirely, I&#8217;ve managed to focus my initial idea into a project which should be feasible within the (very limited) time available. As with last week, I&#8217;ve been provided some questions to help [...]]]></description>
			<content:encoded><![CDATA[<p><center></p>
<blockquote><p>How can a non-strict programming language be designed to aid the generation of organic models?</p></blockquote>
<p></center></p>
<p>After much thought, even considering changing my topic entirely, I&#8217;ve managed to focus my <a href="http://hazelmckendrick.com/journal/honours-project-topic-decision">initial idea</a> into a project which should be feasible within the (very limited) time available.  As with last week, I&#8217;ve been provided some questions to help progress with the project, this time considering my research question.</p>
<p><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/s1.jpeg" alt="s1" title="s1" width="680" height="60" class="aligncenter size-full wp-image-1539" /></p>
<p><span id="more-1513"></span></p>
<p>First of all though, here&#8217;s an overview of my idea which has been refined greatly since I last discussed it.  My previous suggestion was still very broad, so I tried to narrow it down in three main ways:</p>
<ol>
<li>Limiting the type of geometry to be produced.</li>
<li>Choosing a focal point for the project: compiler design, language design or geometry creation.</li>
<li>Selecting a specific feature of language design to investigate.</li>
</ol>
<p>After more research and some pen-and-paper attempts at how the language and geometry might function, I decided that creating plant or tree models based on L-systems would be an area where the use of a scripting language could be particularly beneficial.  When considering L-systems and fractals, the idea of an infinitely repeating shape or process comes to mind.  Through designing a language which uses types of lazy evaluation, this concept of infinite repetition can be upheld even though only the minimal processing required to produce or render the geometry will actually be performed.</p>
<p><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/s2.jpeg" alt="s1" title="s1" width="680" height="60" class="aligncenter size-full wp-image-1539" /></p>
<h3>1.  What is the focus of your project?</h3>
<ul>
<li>Language design</li>
<li>Evaluation strategies and non-strict evaluation</li>
<li><small><i>Compiler design</i></small></li>
<li><small><i>Procedural geometry</i></small></li>
<li><small><i>L-systems, graftals and fractals</i></small></li>
</ul>
<p>Practical aspects of the project will require investigation of all these elements to some extent, however the research focus should remain on language design and in particular how lazy evaluation relates to geometry creation.</p>
<p><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/s3.jpeg" alt="s3" title="s1" width="680" height="60" class="aligncenter size-full wp-image-1539" /></p>
<h3>2. What information do you need to find out about?</h3>
<ul>
<li>I have identified several general sources to expand on my knowledge of compiler and language design.  It will also be necessary to seek out resources which relate more specifically to this project.</li>
<li>In terms of procedural geometry I will need to study the creation of organic (plant) models based on L-systems.  Luckily, there is a wealth of information covering a range of topics in this area.</li>
<li>Previous attempts at creating fractals and procedural models from scripts will need to be investigated in order to compare them to the solution I hope to produce.</li>
<li>It will be necessary to look at existing non-strict languages and their design.</li>
<li>Information regarding model file formats will have to be obtained if it is decided that the language should produce geometry directly rather than outputting functions for its creation.</li>
</ul>
<p><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/s4.jpeg" alt="s1" title="s1" width="680" height="60" class="aligncenter size-full wp-image-1539" /></p>
<h3>3. What Experimental work do you need to perform?</h3>
<p>The majority of practical work will involve designing a language and implementing a compiler for it.  Alternatively, an existing non-strict language could be extended; however, this might well prove a more significant task than creating a new, but very limited, language.</p>
<p>A simple way of demonstrating the output of this should also be implemented, however this should be a minor consideration.</p>
<p><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/s5.jpeg" alt="s5" title="s1" width="680" height="60" class="aligncenter size-full wp-image-1539" /></p>
<h3>4. How will the information that you obtain allow you to answer the research question?</h3>
<p>Currently, one of the most prominent issues with my research question is that it is mainly subjective.  Although it should be easy to consider ways in which the solution does or does not add to the field of generation of procedural models, it would not produce numerical results which could be compared to existing options.  I hope that demonstrating that the language created can successfully create plant models would suffice to answer the research question in its current form, however I would appreciate advice on how the question or project might be modified to provide a more objective comparison.</p>
<p><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/s6.jpeg" alt="s1" title="s1" width="680" height="60" class="aligncenter size-full wp-image-1539" /></p>
<p><i><small>Image thanks to <a href=""http://www.flickr.com/photos/pagedooley/>Kevin Dooley</a>.</small></i></p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/initial-research-question/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>YinYangYou &#8211; Next Level Dundee Completion</title>
		<link>http://hazelmckendrick.com/journal/yinyangyou-next-level-dundee-completion</link>
		<comments>http://hazelmckendrick.com/journal/yinyangyou-next-level-dundee-completion#comments</comments>
		<pubDate>Thu, 17 Sep 2009 19:24:34 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Next Level]]></category>
		<category><![CDATA[Other Abertay Students]]></category>
		<category><![CDATA[Team Be]]></category>
		<category><![CDATA[Whitespace]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[YinYangYou]]></category>

		<guid isPermaLink="false">http://killercodingninjabunny.com/?p=1407</guid>
		<description><![CDATA[So, a week since my previous Next Level post and the project has come to completion. YinYangYou, our game, is a top-down two-player race to collect energy and skew the balance of the playing field. By throwing orbs into their opponents&#8217; &#8220;holes&#8221;, each player can increase the amount of ground they control on the opposite [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://killercodingninjabunny.com/wp-content/uploads/2009/09/title.png"><img src="http://killercodingninjabunny.com/wp-content/uploads/2009/09/title-1024x274.png" alt="title" title="title" width="650" height="160" class="alignleft size-large wp-image-1409" /></a>So, a week since my <a href="http://killercodingninjabunny.com/journal/next-level-dundee">previous Next Level post</a> and the project has come to completion.  </p>
<p>YinYangYou, our game, is a top-down two-player race to collect energy and skew the balance of the playing field.  By throwing orbs into their opponents&#8217; &#8220;holes&#8221;, each player can increase the amount of ground they control on the opposite side of the board, eventually claiming an entire side and winning the game.  A range of exotic energy pickups, such as time control and hole switiching, add variety and tactical elements to the gameplay.<br />
<span id="more-1407"></span><br />
<a href="http://killercodingninjabunny.com/wp-content/uploads/2009/09/2DGameFramework-2009-09-17-19-23-40-98.png"><img src="http://killercodingninjabunny.com/wp-content/uploads/2009/09/2DGameFramework-2009-09-17-19-23-40-98-300x187.png" alt="2DGameFramework 2009-09-17 19-23-40-98" title="2DGameFramework 2009-09-17 19-23-40-98" width="300" height="187" class="alignleft size-medium wp-image-1412" /></a></p>
<p>Developed using XNA, our prototype includes all the features we originally planned &#8211; although that isn&#8217;t to say the week went without a hitch.  Lengthy code merges, a lack of shared source control and model import problems were exacerbated by the fact that having just met, our communication levels were far from ideal.  However, by remaining flexible and getting to know each team members strengths and weaknesses, our workflow improved hugely throughout the week.</p>
<p>Even though this project was really short, I feel I got a lot from it.  Spending time in groups with the same people for the past year let us refine development and programming methods which worked very well for us.  Suddenly being dropped into an entirely different group challenged some of my beliefs and ideas, and reaffirmed others.  The opportunity to talk to industry mentors about this game and about development in general was also hugely beneficial. </p>
<p>Finally, I just want to say thanks to <a href="http://iainsmithgames.blogspot.com/">Iain Smith</a> for organising the event, all the mentors and other participants for their help and to the rest of Team Be for making YinYangYou a success.</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/yinyangyou-next-level-dundee-completion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
