<?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 for Create your own games&#187; Game Creation Blog by Koonsolo</title>
	<atom:link href="http://dev.koonsolo.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://dev.koonsolo.com</link>
	<description>A blog on how to create your own computer games (by Koen Witters)</description>
	<lastBuildDate>Thu, 29 Jul 2010 03:35:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on deWiTTERS Game Loop by Sydney B</title>
		<link>http://dev.koonsolo.com/7/dewitters-gameloop/comment-page-1/#comment-153</link>
		<dc:creator>Sydney B</dc:creator>
		<pubDate>Thu, 29 Jul 2010 03:35:20 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=7#comment-153</guid>
		<description>With the implementation of loop which offers a constant game speed independent of variable FPS on a seperate thread. Would this not consume most of your cpu processing power? I tried the implemenataion by taking your exact code and running it. my CPU maxes out at 100% on one of the cores.</description>
		<content:encoded><![CDATA[<p>With the implementation of loop which offers a constant game speed independent of variable FPS on a seperate thread. Would this not consume most of your cpu processing power? I tried the implemenataion by taking your exact code and running it. my CPU maxes out at 100% on one of the cores.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on deWiTTERS Game Loop by Shaun</title>
		<link>http://dev.koonsolo.com/7/dewitters-gameloop/comment-page-1/#comment-152</link>
		<dc:creator>Shaun</dc:creator>
		<pubDate>Wed, 21 Jul 2010 15:37:38 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=7#comment-152</guid>
		<description>You have two separate definitions of the &quot;tick.&quot;  GetTickCount() returns milliseconds, so that means there are 1000 ticks per second.  But in the section &quot;Constant Game Speed with Constant FPS,&quot; you redefine the &quot;tick&quot; to mean a single execution of the update function instead of a cpu clock tick.  I quickly lost any grasp of our timing units.  Can we resolve the units with the following nomenclature?

const int UPDATES_PER_SECOND = 25;
const int TICKS_PER_SECOND = 1000; // GetTickCount() dictates 1000 ticks per second
const int TICKS_PER_UPDATE = TICKS_PER_SECOND / FRAMES_PER_SECOND;

So instead of SKIP_TICKS, we would just use TICKS_PER_UPDATE.  This is clearer to me because I know what each number is measuring.</description>
		<content:encoded><![CDATA[<p>You have two separate definitions of the &#8220;tick.&#8221;  GetTickCount() returns milliseconds, so that means there are 1000 ticks per second.  But in the section &#8220;Constant Game Speed with Constant FPS,&#8221; you redefine the &#8220;tick&#8221; to mean a single execution of the update function instead of a cpu clock tick.  I quickly lost any grasp of our timing units.  Can we resolve the units with the following nomenclature?</p>
<p>const int UPDATES_PER_SECOND = 25;<br />
const int TICKS_PER_SECOND = 1000; // GetTickCount() dictates 1000 ticks per second<br />
const int TICKS_PER_UPDATE = TICKS_PER_SECOND / FRAMES_PER_SECOND;</p>
<p>So instead of SKIP_TICKS, we would just use TICKS_PER_UPDATE.  This is clearer to me because I know what each number is measuring.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Turn your workplace into an RPG by veakari</title>
		<link>http://dev.koonsolo.com/222/turn-your-workplace-into-an-rpg/comment-page-1/#comment-151</link>
		<dc:creator>veakari</dc:creator>
		<pubDate>Wed, 14 Jul 2010 22:39:22 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=222#comment-151</guid>
		<description>I think many workplaces are opening up to making tasks more fun.  We wrote our own program to reward for bugs found, getting them fixed, and hitting deadlines.  Each task was worth pocket change, pennies, nickels, etc. (rather than experience).  Once the pot got full, we&#039;d treat ourselves to a group lunch, or after hours drinks.

Fun find!</description>
		<content:encoded><![CDATA[<p>I think many workplaces are opening up to making tasks more fun.  We wrote our own program to reward for bugs found, getting them fixed, and hitting deadlines.  Each task was worth pocket change, pennies, nickels, etc. (rather than experience).  Once the pot got full, we&#8217;d treat ourselves to a group lunch, or after hours drinks.</p>
<p>Fun find!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Market research before creating your game. by Adam Moore</title>
		<link>http://dev.koonsolo.com/97/market-research-before-creating-your-game/comment-page-1/#comment-150</link>
		<dc:creator>Adam Moore</dc:creator>
		<pubDate>Fri, 09 Jul 2010 15:44:50 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=97#comment-150</guid>
		<description>Market research is always essential for the succes of any kind of business.&#039;;&quot;</description>
		<content:encoded><![CDATA[<p>Market research is always essential for the succes of any kind of business.&#8217;;&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Object Oriented Programming doesn&#8217;t need Encapsulation by Chris</title>
		<link>http://dev.koonsolo.com/213/object-oriented-programming-doesnt-need-encapsulation/comment-page-1/#comment-149</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Thu, 08 Jul 2010 09:59:18 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=213#comment-149</guid>
		<description>Hey Koen, I do not find your examples convincing at all.

The computer metaphor doesn&#039;t translate all that well into OOP.
Like JJ said, as a class in your code, the computer would provide an upgrade method itself, without the need for you to mess with internals. Another possibility would be to have a helper for upgrading. For example, if a computer object would be created via the builder pattern, the builder might as well be the one to ask for upgrades. No need to get rid of encapsulation.

The GUI example:
This case is similar to one I encounter from time to time in programming forums.
The usual situation where someone asks for help is as follows: There is a BaseClass, and SubClass1 and SubClass2 derive from it.
Now, that someone creates a container for objects of BaseClass, containing both objects of the concrete classes SubClass1 and SubClass2. He then asks, for example, how to iterate over the container&#039;s contents and execute specific actions depending on the concrete subtype.
In summary: Abstracting from the concrete classes, and then asking how to break the abstraction again. This can be solved in clean ways - double dispatch and visitor pattern come to mind, so you&#039;re still fine using encapsulation. However, in my experience, most of the time someone does something like this, his/her concept is faulty somewhere.

Now back to the GUI example. Cross-platform GUI toolkits abstract away from the concrete operating systems. By their nature, they must thus provide the lowest common denominator. Now asking how to access an OS-specific function means &quot;you&#039;re doing it wrong&quot; in my opinion. But as I said, this can be solved without breaking encapsulation.</description>
		<content:encoded><![CDATA[<p>Hey Koen, I do not find your examples convincing at all.</p>
<p>The computer metaphor doesn&#8217;t translate all that well into OOP.<br />
Like JJ said, as a class in your code, the computer would provide an upgrade method itself, without the need for you to mess with internals. Another possibility would be to have a helper for upgrading. For example, if a computer object would be created via the builder pattern, the builder might as well be the one to ask for upgrades. No need to get rid of encapsulation.</p>
<p>The GUI example:<br />
This case is similar to one I encounter from time to time in programming forums.<br />
The usual situation where someone asks for help is as follows: There is a BaseClass, and SubClass1 and SubClass2 derive from it.<br />
Now, that someone creates a container for objects of BaseClass, containing both objects of the concrete classes SubClass1 and SubClass2. He then asks, for example, how to iterate over the container&#8217;s contents and execute specific actions depending on the concrete subtype.<br />
In summary: Abstracting from the concrete classes, and then asking how to break the abstraction again. This can be solved in clean ways &#8211; double dispatch and visitor pattern come to mind, so you&#8217;re still fine using encapsulation. However, in my experience, most of the time someone does something like this, his/her concept is faulty somewhere.</p>
<p>Now back to the GUI example. Cross-platform GUI toolkits abstract away from the concrete operating systems. By their nature, they must thus provide the lowest common denominator. Now asking how to access an OS-specific function means &#8220;you&#8217;re doing it wrong&#8221; in my opinion. But as I said, this can be solved without breaking encapsulation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on deWiTTERS Game Loop by Koen Witters</title>
		<link>http://dev.koonsolo.com/7/dewitters-gameloop/comment-page-1/#comment-148</link>
		<dc:creator>Koen Witters</dc:creator>
		<pubDate>Tue, 06 Jul 2010 11:26:02 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=7#comment-148</guid>
		<description>&lt;a href=&quot;#comment-147&quot; rel=&quot;nofollow&quot;&gt;@jon &lt;/a&gt; 
Glad you like it! Paypal to koen@koonsolo.com, or buy my game Mystic Mine ;). http://www.mysticmine.com</description>
		<content:encoded><![CDATA[<p><a href="#comment-147" rel="nofollow">@jon </a><br />
Glad you like it! Paypal to <a href="mailto:koen@koonsolo.com">koen@koonsolo.com</a>, or buy my game Mystic Mine <img src='http://dev.koonsolo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . <a href="http://www.mysticmine.com" rel="nofollow">http://www.mysticmine.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on deWiTTERS Game Loop by jon</title>
		<link>http://dev.koonsolo.com/7/dewitters-gameloop/comment-page-1/#comment-147</link>
		<dc:creator>jon</dc:creator>
		<pubDate>Tue, 06 Jul 2010 09:41:06 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=7#comment-147</guid>
		<description>Really good stuff here. Thanks alot. Looks like this might solve my game issues. If it does , are there any donation button here ?</description>
		<content:encoded><![CDATA[<p>Really good stuff here. Thanks alot. Looks like this might solve my game issues. If it does , are there any donation button here ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on deWiTTERS Game Loop by Phil</title>
		<link>http://dev.koonsolo.com/7/dewitters-gameloop/comment-page-1/#comment-146</link>
		<dc:creator>Phil</dc:creator>
		<pubDate>Sat, 26 Jun 2010 20:06:41 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=7#comment-146</guid>
		<description>Nice article, its certainly what I was looking for.

In the past I have used &quot;FPS dependent on Constant Game Speed&quot; (gameboy advanced 60fps) and &quot;Game Speed dependent on Variable FPS&quot; but I think now I want both to be variable! ie, a max display fps can be chosen and a max compute fps can be chosen (ie, 60fps display and 100fps if player accuracy is important). I think the source engine uses something like this (with compute capped to display) and that is the functionality I should aim for.

What would be the prospects of having several fps independant components? should I use semaphores and have the game objects independantly wait on results? - AI for example. or independantly different fps for input, ai, particles, physics, rendering? what could I expect from such an approach and how would I actually control such a thing?</description>
		<content:encoded><![CDATA[<p>Nice article, its certainly what I was looking for.</p>
<p>In the past I have used &#8220;FPS dependent on Constant Game Speed&#8221; (gameboy advanced 60fps) and &#8220;Game Speed dependent on Variable FPS&#8221; but I think now I want both to be variable! ie, a max display fps can be chosen and a max compute fps can be chosen (ie, 60fps display and 100fps if player accuracy is important). I think the source engine uses something like this (with compute capped to display) and that is the functionality I should aim for.</p>
<p>What would be the prospects of having several fps independant components? should I use semaphores and have the game objects independantly wait on results? &#8211; AI for example. or independantly different fps for input, ai, particles, physics, rendering? what could I expect from such an approach and how would I actually control such a thing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Object Oriented Programming doesn&#8217;t need Encapsulation by JJ</title>
		<link>http://dev.koonsolo.com/213/object-oriented-programming-doesnt-need-encapsulation/comment-page-1/#comment-145</link>
		<dc:creator>JJ</dc:creator>
		<pubDate>Thu, 10 Jun 2010 14:50:13 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=213#comment-145</guid>
		<description>I just wanted to say that, if Hardware used encapsulation and offered a good interface, you wouldn&#039;t need to open your computer. Instead, you would do Computer-&gt;upgrade( Ram( &quot;32GB&quot; ) ) and the computer would do the upgrade for you  ;-)

PS: Ed&#039;s comment was very interesting. And if you check his website you can see he&#039;s a bit of an &quot;encapsulation nerd&quot; :)</description>
		<content:encoded><![CDATA[<p>I just wanted to say that, if Hardware used encapsulation and offered a good interface, you wouldn&#8217;t need to open your computer. Instead, you would do Computer-&gt;upgrade( Ram( &#8220;32GB&#8221; ) ) and the computer would do the upgrade for you  <img src='http://dev.koonsolo.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>PS: Ed&#8217;s comment was very interesting. And if you check his website you can see he&#8217;s a bit of an &#8220;encapsulation nerd&#8221; <img src='http://dev.koonsolo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Object Oriented Programming doesn&#8217;t need Encapsulation by fernando trasviña</title>
		<link>http://dev.koonsolo.com/213/object-oriented-programming-doesnt-need-encapsulation/comment-page-1/#comment-144</link>
		<dc:creator>fernando trasviña</dc:creator>
		<pubDate>Fri, 30 Apr 2010 22:56:01 +0000</pubDate>
		<guid isPermaLink="false">http://dev.koonsolo.com/?p=213#comment-144</guid>
		<description>amazing description of the current concerns about software design!

This show that as a community we are all getting smarter and we might not need to be protected, but we are mature enough to take responsibility for our own development practices.</description>
		<content:encoded><![CDATA[<p>amazing description of the current concerns about software design!</p>
<p>This show that as a community we are all getting smarter and we might not need to be protected, but we are mature enough to take responsibility for our own development practices.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
