<?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"
	>

<channel>
	<title>n00b Developer</title>
	<atom:link href="http://games.leighashton.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://games.leighashton.com</link>
	<description>A game programming diary.</description>
	<pubDate>Wed, 06 Aug 2008 13:41:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Atoms is Playable!</title>
		<link>http://games.leighashton.com/2008/08/06/atoms-is-playable/</link>
		<comments>http://games.leighashton.com/2008/08/06/atoms-is-playable/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 13:41:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Atoms]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=42</guid>
		<description><![CDATA[Well, almost.
I&#8217;ve been working on the multiplayer code to allow 2 people to update the board, and the mechanism is in place, the only 2 bugs left now should be sorted tonight or soon after!
After that, i just need to do some tidy-up, spend some time testing it, and add some sound and i think [...]]]></description>
			<content:encoded><![CDATA[<p>Well, almost.</p>
<p>I&#8217;ve been working on the multiplayer code to allow 2 people to update the board, and the mechanism is in place, the only 2 bugs left now should be sorted tonight or soon after!</p>
<p>After that, i just need to do some tidy-up, spend some time testing it, and add some sound and i think its ready <img src='http://games.leighashton.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/08/06/atoms-is-playable/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Creating a codebase you can reuse</title>
		<link>http://games.leighashton.com/2008/08/02/creating-a-codebase-you-can-reuse/</link>
		<comments>http://games.leighashton.com/2008/08/02/creating-a-codebase-you-can-reuse/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 21:30:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AstroLiger]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=41</guid>
		<description><![CDATA[I&#8217;ve been working on pieces of code over the past couple of weeks that will come together to form a codebase that i intend to work from for future projects, part of that was writing some dual analogue joypad input code.  I was pretty miffed at the apparent lack of example code or tutorials on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on pieces of code over the past couple of weeks that will come together to form a codebase that i intend to work from for future projects, part of that was writing some dual analogue joypad input code.  I was pretty miffed at the apparent lack of example code or tutorials on this specific requirement, so I&#8217;ve decided to make some example code with just the stuff required to make it work and post it on this site, not just this joypad code, but some other stuff like a simple timer and more like that.</p>
<p>I don&#8217;t know when this will be, and i don&#8217;t claim to be an expert, but what i have so far works, and if i can keep it free of confusing additional elements, maybe it can help others.</p>
<p>The upshot of my latest efforts, as i suggested previously, is that i have a nice dual analogue joypad routine for AstroLiger <img src='http://games.leighashton.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>There&#8217;s more, but its dull, even to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/08/02/creating-a-codebase-you-can-reuse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Timing Is Everything</title>
		<link>http://games.leighashton.com/2008/07/22/timing-is-everything/</link>
		<comments>http://games.leighashton.com/2008/07/22/timing-is-everything/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 07:55:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=39</guid>
		<description><![CDATA[So I did some work on a timer. There&#8217;s actually some timer stuff in SDL which I&#8217;ve read about and decided not to go for and there is also a timer object in the SDL_gfx lib I&#8217;ve been thinking about using, but in the end I thought it would be best if I did what [...]]]></description>
			<content:encoded><![CDATA[<p>So I did some work on a timer. There&#8217;s actually some timer stuff in SDL which I&#8217;ve read about and decided not to go for and there is also a timer object in the SDL_gfx lib I&#8217;ve been thinking about using, but in the end I thought it would be best if I did what I wanted regardless of everyone&#8217;s experience in the matter. How glad I am that I did!</p>
<p>Actually, I&#8217;ll probably abandon my timer when it proves to be as shit as I suspect, but I&#8217;ll forge along and try it in the game anyway because;</p>
<p>A. it actually does what I intended it to, and<br />
B. the alternative in SDL_gfx is actually fairly straightforward to implement and I think its important to see why mine is a bad idea before abandoning it first.</p>
<p>Why do I think I did a bad job? Well, what I understand of timing is after all the game logic is called, you call the timer, this takes the framerate you desire, works out the fractions of a second this splits into then halts the loop till it hits the next interval this corresponds to.</p>
<p>Looking back, I guess that&#8217;s fine, people use this method for a reason and its not like games are a new technology that&#8217;s full of unproven concepts, but without a clear understanding of what it was all about, it seemed a waste of computing power. Instead, I came up with this fantastic idea where the computer just runs the game as fast as is possible, and only updates when that fractional timing trigger is fired. This I was sure was the winner and so I set off to implement it. And in fairness, it works exactly as I intended, except obviously its using awe inspiring quantities of cpu time.</p>
<p>I&#8217;m in the process of turning my prototype into a class which I can use, one of the nice things about it is that I&#8217;ll be able to have multiple timers with different framerates within the code without any real complexity, I&#8217;m not sure if there&#8217;s any benefit to that at all, its why I&#8217;m going to carry on and see what a real-world implementation does.</p>
<p>One thing it did teach me, which makes the whole exercise worthwhile, is how timing in C++ and game programming works, this more than any tutorial I could find was very useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/22/timing-is-everything/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updated my “About” page</title>
		<link>http://games.leighashton.com/2008/07/17/updated-my-about-page/</link>
		<comments>http://games.leighashton.com/2008/07/17/updated-my-about-page/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 01:13:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Site]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=38</guid>
		<description><![CDATA[I&#8217;ve written something about myself in the &#8220;About&#8221; page in the links at the top of the blog, feel free to have a read if your interested.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written something about myself in the &#8220;<a href="http://games.leighashton.com/about/">About</a>&#8221; page in the links at the top of the blog, feel free to have a read if your interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/17/updated-my-about-page/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I&#8217;ve Started AstroLiger</title>
		<link>http://games.leighashton.com/2008/07/17/ive-started-astroliger/</link>
		<comments>http://games.leighashton.com/2008/07/17/ive-started-astroliger/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 23:57:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AstroLiger]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=37</guid>
		<description><![CDATA[So I&#8217;ve not finished Atoms yet, there&#8217;s a few things i need to work out for that and frankly I&#8217;m having a pretty shit time at the moment and i just don&#8217;t fancy that right now.  Instead I&#8217;ve decided to look into solving the two major conceptual difficulties I&#8217;m having with games programming, timing and [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve not finished Atoms yet, there&#8217;s a few things i need to work out for that and frankly I&#8217;m having a pretty shit time at the moment and i just don&#8217;t fancy that right now.  Instead I&#8217;ve decided to look into solving the two major conceptual difficulties I&#8217;m having with games programming, timing and sprite classes.</p>
<p>These are important to games, but haven&#8217;t been show stoppers for Atoms, so I&#8217;ve been able to use work-arounds for the moment, but really, I&#8217;d rather just get them sorted and do it properly.  The Atoms codebase is too crowded for me to be introducing fairly major and completely new code concepts at this point, so I&#8217;m starting with a blank editor and beginning with line 1, why not make it the basis for the start of the AstroLiger project?</p>
<p>I&#8217;ve created a second googlecode project for my SVN repo, but nothing else just yet, I&#8217;d like to get something compiling before i setup a page for it here, but as with Atoms, it will be free and Open Source and cross-platform.</p>
<p>When i make progress, I&#8217;ll update here as usual.</p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/17/ive-started-astroliger/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Network Gaming</title>
		<link>http://games.leighashton.com/2008/07/14/network-gaming/</link>
		<comments>http://games.leighashton.com/2008/07/14/network-gaming/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 13:00:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=36</guid>
		<description><![CDATA[I really fancy the idea of adding online gaming to Atoms, of course, i&#8217;ve never done any network code before and i&#8217;m unsure how to persue this.
A friend (Goldbuick,) advised enet, i&#8217;ll certainly take a look, but does anyone know of a really basic networking lib for C++ thats not going to bloat my game [...]]]></description>
			<content:encoded><![CDATA[<p>I really fancy the idea of adding online gaming to Atoms, of course, i&#8217;ve never done any network code before and i&#8217;m unsure how to persue this.</p>
<p>A friend (<a href="http://worldhack.net/">Goldbuick</a>,) advised <a href="http://enet.bespin.org/Tutorial.html">enet</a>, i&#8217;ll certainly take a look, but does anyone know of a really basic networking lib for C++ thats not going to bloat my game and make my head explode?  Good tutorials or examples would be a must.</p>
<p>Thanks <img src='http://games.leighashton.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/14/network-gaming/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Code Update</title>
		<link>http://games.leighashton.com/2008/07/13/code-update/</link>
		<comments>http://games.leighashton.com/2008/07/13/code-update/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 15:00:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Atoms]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=35</guid>
		<description><![CDATA[My last article generated some traffic and attracted some interest in my remake of Atoms, i got my first link from another site as well!  So now this is being read by more than me and my mum, I&#8217;ll update with what i have been up to more frequently.
I spent some time last night looking [...]]]></description>
			<content:encoded><![CDATA[<p>My last article generated some traffic and attracted some interest in my remake of Atoms, i got my first link from another site as well!  So now this is being read by more than me and my mum, I&#8217;ll update with what i have been up to more frequently.</p>
<p>I spent some time last night looking at adding a user interface, i added a class for handling the front-end, developer splash and other user interface gubbins and the first thing i tried to implement was a straightforward pause mechanism.  Turns out i needed keyboard input code for that, and after a failed attempt at adding one as a new class, i realised i had to merge it into my mouse class and make a generic input object instead.  Seeing as I&#8217;d gotten a little better with C++ since i originally wrote the mouse input, i took the time to rewrite the whole class and make it more consistent, all i need to do for it now is add joypad support for future projects, but I&#8217;ll do that when the time comes.</p>
<p>After adding the new control code, i got the pause mechanism working, this pleased me, and so i committed what i had to my codebase and went to bed.</p>
<p>I should point out if i haven&#8217;t already, I&#8217;m a firm believer that when working on something, you should commit it to your code repository as soon as you have it working, then, if you toss it up later, you can come back to it later, and not have to also re-write a bunch of other stuff you didn&#8217;t commit till you had to.</p>
<p>I&#8217;ve learned this the hard way, its not much fun.</p>
<p>Later tonight I&#8217;m going to do some more work on adding the mechanisms for a front-end and a splash screen, my goal is to get a functional menu system up and running.</p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/13/code-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updated my &#8220;Atoms&#8221; page</title>
		<link>http://games.leighashton.com/2008/07/11/updated-my-atoms-page/</link>
		<comments>http://games.leighashton.com/2008/07/11/updated-my-atoms-page/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 12:05:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Atoms]]></category>

		<category><![CDATA[Site]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=34</guid>
		<description><![CDATA[Seeing as i&#8217;m getting some visitors now, i&#8217;m working through tidying up the site.
I&#8217;ve updated the &#8220;Atoms&#8221; page in the links above; over the next few days, i hope to make a few more improvements around here, if you look to the right of the news, you&#8217;ll now see i&#8217;ve got my links sorted out! [...]]]></description>
			<content:encoded><![CDATA[<p>Seeing as i&#8217;m getting some visitors now, i&#8217;m working through tidying up the site.</p>
<p>I&#8217;ve updated the &#8220;<a href="http://games.leighashton.com/atoms/">Atoms</a>&#8221; page in the links above; over the next few days, i hope to make a few more improvements around here, if you look to the right of the news, you&#8217;ll now see i&#8217;ve got my links sorted out! <img src='http://games.leighashton.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/11/updated-my-atoms-page/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Diary of a would-be indie dev - Part 4</title>
		<link>http://games.leighashton.com/2008/07/09/diary-of-a-would-be-indie-dev-part-4/</link>
		<comments>http://games.leighashton.com/2008/07/09/diary-of-a-would-be-indie-dev-part-4/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 12:09:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=33</guid>
		<description><![CDATA[This is part of an ongoing series of articles originally written for the TIGSource forums
Part 4 - &#8220;Oh my god.&#8221;
Sitting down to write this article I&#8217;m blown away by the passage of time since the last one.  October 7th, 2007 was the date and I&#8217;m slightly embarrassed because I left my last article at the [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is part of an ongoing series of articles originally written for the <a href="http://www.tigsource.com">TIGSource </a>forums</em></p>
<p><strong>Part 4 - &#8220;Oh my god.&#8221;</strong></p>
<p>Sitting down to write this article I&#8217;m blown away by the passage of time since the last one.  October 7th, 2007 was the date and I&#8217;m slightly embarrassed because I left my last article at the point where I was to actually get on and make my game, or at least a prototype.  So much has changed since then, not least my opinion and attitude towards game programming.</p>
<p><span id="more-33"></span>Recently I&#8217;ve setup some web hosting, started a blog and have been updating on a fairly infrequent basis on the progression of my game.  I thought it would be a good idea to add the articles I&#8217;d written for the TIGS forum so I dug them out and dropped them into the editor and through the process of cleaning them up (markup changes only ,) read through them again.  I guess, looking back, the first thing I should say is “You told me so.” more specifically, I was wrong.  Coming from a programming background with reasonable complexity, I&#8217;d assumed learning the language would be the major obstacle to learning to make games.  Many of the guys on TIGS were quick to tell me I was being too ambitious and games were not as straight forward as I&#8217;d assumed and frankly I didn&#8217;t pay attention.</p>
<p>I think looking back on my efforts now, and the advice I&#8217;ve been given, I really have to say that conceptually, game programming is massively different from application programming, when starting out you really need to listen to people when they say “Start with a Tetris/Match 3/Puzzle game”,  They know what they&#8217;re talking about.  Its not even the scale of the project, which would surprise you even for a small game like that, but the fact is a more complex project will draw upon concepts and code reliance that will assume you have knowledge in areas you wont.  I&#8217;m sure the guys that have helped me on numerous occasions are frequently frustrated when explaining things to me, that they have to explain the explanations!</p>
<p>As you can probably already guess, I quickly abandoned my dream project, the RPG -though its not been scrapped! The reality was that I&#8217;d hit the wall, as discussed in Part 2, and because everything was so daunting, I&#8217;d lost the will to code.  So, I decided to remake a simple puzzle game from the days when I had an Amiga 500 which was a lot simpler.  Atoms 2008 was born.</p>
<p>Perhaps the most frustrating thing when starting out is that there is a lot of code and planning required to get the simplest of things to show on the screen, even a small puzzle game has elements such as asset loading and handling, control code, graphic code, sound code, game mechanics, collision detection (or boundary checking in my case,) menu systems and more.  Each sounds reasonable enough, but they&#8217;re certainly not just a few lines of code each!</p>
<p>Anyway, before this becomes a post on my progress with Atoms 2008, I&#8217;ll stop.  The post-mortem on that will go up shortly after I release it to the public, source code and all.  For people who found this article outside of my website, my blog is <a href="http://games.leighashton.com ">http://games.leighashton.com </a>and my Atoms 2008 codebase is hosted on googlecode where anyone can grab a copy of the SVN at <a href="http://atoms2008.googlecode.com">http://atoms2008.googlecode.com</a></p>
<p>For those who might look through my code, you&#8217;ll see there&#8217;s a long way to go, I tell my friends that its close to release, and in my mind it is, all I need is to add sound, multiple players, a win/lose mechanism and some menus, then there&#8217;s a load of testing, that&#8217;ll be fun! (not)</p>
<p>Choosing a puzzle game is infact very good advice, something I&#8217;d urge anyone reading this  to do if they haven&#8217;t decided yet, it allows you to ignore many parts of normal game mechanics such as scripted events, ai, collision detection and more while allowing you to make something that can resemble a game, people looking through my code may notice some liberal misuse of code as I haven&#8217;t wanted to actually tackle certain stuff yet.</p>
<p>I&#8217;ll leave it at that for this instalment, hopefully this should be the last one before I release Atoms 2008, and the next will be a post-mortem of that followed by an article discussing where I go from there.</p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/09/diary-of-a-would-be-indie-dev-part-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Additions</title>
		<link>http://games.leighashton.com/2008/07/08/new-additions/</link>
		<comments>http://games.leighashton.com/2008/07/08/new-additions/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 12:35:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[Site]]></category>

		<guid isPermaLink="false">http://games.leighashton.com/?p=32</guid>
		<description><![CDATA[You may have noticed a 3 post fart below, I&#8217;ve written a few forum posts about starting out with game development and they provoked a lot of opinions when first published on the TIGSource forums, but i kind of  didn&#8217;t do anymore.
Well, i&#8217;ve posted them here, and i&#8217;m going to start them up again, continuing [...]]]></description>
			<content:encoded><![CDATA[<p>You may have noticed a 3 post fart below, I&#8217;ve written a few forum posts about starting out with game development and they provoked a lot of opinions when first published on the <a href="http://www.tigsource.com">TIGSource </a>forums, but i kind of  didn&#8217;t do anymore.</p>
<p>Well, i&#8217;ve posted them here, and i&#8217;m going to start them up again, continuing the articles here and on the TIGS forums where they originally appeared.</p>
]]></content:encoded>
			<wfw:commentRss>http://games.leighashton.com/2008/07/08/new-additions/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
