<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Stepping Through the Looking Glass: Test-Driven Game Development (Part 1)</title>
	<atom:link href="http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/feed" rel="self" type="application/rss+xml" />
	<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1</link>
	<description>Indie iPhone game development</description>
	<lastBuildDate>Thu, 04 Mar 2010 04:13:35 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chad Austin</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-138</link>
		<dc:creator>Chad Austin</dc:creator>
		<pubDate>Wed, 27 Apr 2005 14:33:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-138</guid>
		<description>&lt;strong&gt;Test Driven Development: First Impressions&lt;/strong&gt;</description>
		<content:encoded><![CDATA[<div style="">
<p><strong>Test Driven Development: First Impressions</strong></p>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fosta's Blog</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-137</link>
		<dc:creator>Fosta's Blog</dc:creator>
		<pubDate>Mon, 07 Mar 2005 20:19:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-137</guid>
		<description>&lt;strong&gt;Test Driven Development&lt;/strong&gt;</description>
		<content:encoded><![CDATA[<div style="">
<p><strong>Test Driven Development</strong></p>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Radium Software Development</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-136</link>
		<dc:creator>Radium Software Development</dc:creator>
		<pubDate>Mon, 07 Mar 2005 16:58:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-136</guid>
		<description>&lt;strong&gt;Test Driven Development&lt;/strong&gt;</description>
		<content:encoded><![CDATA[<div style="">
<p><strong>Test Driven Development</strong></p>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Shoes of the Fisherman's Wife Are Some Jive-Ass Slippers</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-135</link>
		<dc:creator>The Shoes of the Fisherman's Wife Are Some Jive-Ass Slippers</dc:creator>
		<pubDate>Mon, 07 Mar 2005 16:57:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-135</guid>
		<description>&lt;strong&gt;More On Test Driven Development&lt;/strong&gt;</description>
		<content:encoded><![CDATA[<div style="">
<p><strong>More On Test Driven Development</strong></p>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>By: IndieGameDev</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-134</link>
		<dc:creator>IndieGameDev</dc:creator>
		<pubDate>Sat, 05 Mar 2005 16:08:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-134</guid>
		<description>&lt;strong&gt;Games from Within&lt;/strong&gt;







&lt;a href=&quot;http://www.gamesfromwithin.com&quot; rel=&quot;nofollow&quot;&gt;Games from Within&lt;/a&gt; is a weblog written by &lt;a href=&quot;http://www.gamesfromwithin.com/aboutme.html&quot; rel=&quot;nofollow&quot;&gt;Noel Llopis&lt;/a&gt;,

who has a pretty impressive game d...</description>
		<content:encoded><![CDATA[<div style="">
<p><strong>Games from Within</strong></p>
<p><a href="http://www.gamesfromwithin.com" rel="nofollow">Games from Within</a> is a weblog written by <a href="http://www.gamesfromwithin.com/aboutme.html" rel="nofollow">Noel Llopis</a>,</p>
<p>who has a pretty impressive game d&#8230;</p>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Baraclese</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-133</link>
		<dc:creator>Baraclese</dc:creator>
		<pubDate>Thu, 03 Mar 2005 00:44:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-133</guid>
		<description>Okay, I just worked a few hours on setting up a unit test suite for my project. Most of that time was spent in my SConstruct/script files, I pretty much had to throw out all of my old code to support more than one executable, to get the build directories right and handle different environments more flexibly, it&#039;s much better now. I use the boost testing framework cause I love boost.



Guess what?! I discovered a bug in my first test! I was alittle puzzled at first because I thought &quot;it can&#039;t be! it works fine in the game!&quot;. I made an unconscious assumption about a container never being empty, dereferencing the iterator in a tiny hidden loop. BOOM! I stepped in with gdb, found the function that was called and repaired the sourcecode.



Am I convinced? Hell yes, it&#039;s fun too.</description>
		<content:encoded><![CDATA[<p>Okay, I just worked a few hours on setting up a unit test suite for my project. Most of that time was spent in my SConstruct/script files, I pretty much had to throw out all of my old code to support more than one executable, to get the build directories right and handle different environments more flexibly, it&#8217;s much better now. I use the boost testing framework cause I love boost.</p>
<p>Guess what?! I discovered a bug in my first test! I was alittle puzzled at first because I thought &#8220;it can&#8217;t be! it works fine in the game!&#8221;. I made an unconscious assumption about a container never being empty, dereferencing the iterator in a tiny hidden loop. BOOM! I stepped in with gdb, found the function that was called and repaired the sourcecode.</p>
<p>Am I convinced? Hell yes, it&#8217;s fun too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Higinbotham</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-132</link>
		<dc:creator>Paul Higinbotham</dc:creator>
		<pubDate>Tue, 01 Mar 2005 16:35:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-132</guid>
		<description>Noel, I didn&#039;t mean to imply that I thought TDD was not a good method.  I think it is a great way to create and test public methods and functions.  Forcing developers to run/pass unit-tests before checking in code is a bit of a pain, but well worth the effort based on my limited experience.



The drawback I was talking about earlier is really a more general problem and not related directly to TDD.  I guess it is more related to agile programming.  I really like the idea of constantly refactoring code/classes/interfaces and corresponding unit-tests.  I rarely get all of my class methods right the first time I create them.  It is not until I start using the class do I realize the best methods I need and how they should work.  Being able to refactor is crucial to getting to the right design and implementation.



But most projects I&#039;ve been on tend to resist any changes to &quot;public&quot; code that could affect documents, developers, or testers.  Instead developers are encouraged to work-around any deficiencies.  Work-arounds can be Ok but they can also lead to hacky bloated code, duplicate functionality, and performance problems.  The longer the work-arounds are in the more likely they become a permanent part of the code base.  Changes to the code (and unit-tests) sometimes finally occur at the eleventh hour when ship stopping functional and performance problems become apparent.



This is really a management problem and not a TDD problem.  I just brought this up because in my last project we used unit-tests to not only drive code development but to also document and specify public interfaces/classes.  Later in the project during coding that actually used the public classes it was almost impossible to get a method changed or added.  This in part caused severe end-game problems and a seven month slip in ship date.</description>
		<content:encoded><![CDATA[<p>Noel, I didn&#8217;t mean to imply that I thought TDD was not a good method.  I think it is a great way to create and test public methods and functions.  Forcing developers to run/pass unit-tests before checking in code is a bit of a pain, but well worth the effort based on my limited experience.</p>
<p>The drawback I was talking about earlier is really a more general problem and not related directly to TDD.  I guess it is more related to agile programming.  I really like the idea of constantly refactoring code/classes/interfaces and corresponding unit-tests.  I rarely get all of my class methods right the first time I create them.  It is not until I start using the class do I realize the best methods I need and how they should work.  Being able to refactor is crucial to getting to the right design and implementation.</p>
<p>But most projects I&#8217;ve been on tend to resist any changes to &#8220;public&#8221; code that could affect documents, developers, or testers.  Instead developers are encouraged to work-around any deficiencies.  Work-arounds can be Ok but they can also lead to hacky bloated code, duplicate functionality, and performance problems.  The longer the work-arounds are in the more likely they become a permanent part of the code base.  Changes to the code (and unit-tests) sometimes finally occur at the eleventh hour when ship stopping functional and performance problems become apparent.</p>
<p>This is really a management problem and not a TDD problem.  I just brought this up because in my last project we used unit-tests to not only drive code development but to also document and specify public interfaces/classes.  Later in the project during coding that actually used the public classes it was almost impossible to get a method changed or added.  This in part caused severe end-game problems and a seven month slip in ship date.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julien Koenen</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-131</link>
		<dc:creator>Julien Koenen</dc:creator>
		<pubDate>Mon, 28 Feb 2005 09:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-131</guid>
		<description>There is a short summary (in german) here: &lt;a href=&quot;http://igda.dimajix.net/fileadmin/ressources/report-03/07_roeken_summary.pdf&quot; rel=&quot;nofollow&quot;&gt;http://igda.dimajix.net/fileadmin/ressources/report-03/07_roeken_summary.pdf&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>There is a short summary (in german) here: <a href="http://igda.dimajix.net/fileadmin/ressources/report-03/07_roeken_summary.pdf" rel="nofollow">http://igda.dimajix.net/fileadmin/ressources/report-03/07_roeken_summary.pdf</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel Llopis</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-130</link>
		<dc:creator>Noel Llopis</dc:creator>
		<pubDate>Sun, 27 Feb 2005 17:17:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-130</guid>
		<description>Chris: Good idea about the DLLs! Using DLLs might make it easier to run all the tests. I hadn&#039;t considered before because most of my work had been with static libs, but it&#039;s definitely worth looking into.



Do you have a link to Röken&#039;s presentation? I Googled for it but nothing came up. I&#039;d love to find out more about what they&#039;re doing.</description>
		<content:encoded><![CDATA[<p>Chris: Good idea about the DLLs! Using DLLs might make it easier to run all the tests. I hadn&#8217;t considered before because most of my work had been with static libs, but it&#8217;s definitely worth looking into.</p>
<p>Do you have a link to Röken&#8217;s presentation? I Googled for it but nothing came up. I&#8217;d love to find out more about what they&#8217;re doing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noel Llopis</title>
		<link>http://gamesfromwithin.com/stepping-through-the-looking-glass-test-driven-game-development-part-1/comment-page-1#comment-129</link>
		<dc:creator>Noel Llopis</dc:creator>
		<pubDate>Sun, 27 Feb 2005 17:12:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.gamesfromwithin.dreamhosters.com/?p=324#comment-129</guid>
		<description>Robert and Paul: Build times can be an issue if it&#039;s not done correctly. I&#039;ll definitely talk about that in the third part of the article. For now I&#039;ll just say that using TDD gave me the fastest iteration times I&#039;ve ever seen in my life because you&#039;re working with one particular library and not with a whole bunch of code at once.



Each unit test should really be blazingly fast. Probably in the order of a microsecond. You should be able to run 100,000 of those in one second, so that shouldn&#039;t be an issue. Remember, these are *unit tests*, so they work directly on one class, not on the whole program.



What do you see at some of the drawbacks of TDD? There&#039;s the extra code, but frankly, I see that more of an advantage than a disadvantage.</description>
		<content:encoded><![CDATA[<p>Robert and Paul: Build times can be an issue if it&#8217;s not done correctly. I&#8217;ll definitely talk about that in the third part of the article. For now I&#8217;ll just say that using TDD gave me the fastest iteration times I&#8217;ve ever seen in my life because you&#8217;re working with one particular library and not with a whole bunch of code at once.</p>
<p>Each unit test should really be blazingly fast. Probably in the order of a microsecond. You should be able to run 100,000 of those in one second, so that shouldn&#8217;t be an issue. Remember, these are *unit tests*, so they work directly on one class, not on the whole program.</p>
<p>What do you see at some of the drawbacks of TDD? There&#8217;s the extra code, but frankly, I see that more of an advantage than a disadvantage.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
