<?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: thatgamecompany Presents&#8230; GameJam0</title>
	<atom:link href="http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/feed/" rel="self" type="application/rss+xml" />
	<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/</link>
	<description></description>
	<lastBuildDate>Sun, 20 May 2012 03:59:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Anonymous</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-232</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 01 Apr 2008 19:09:47 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-232</guid>
		<description>Hah, I think I confused the matter with my long-winded explanation.  During the game jam we only coded on the PPU, because, as you surmised, it takes a bit less time than writing for the SPUs.  In my previous post I was just attempting to force an analogy between how we normally code for the SPUs on our main projects and how we structured the programming team during the game jam.  The code we wrote the day of the jam was all very much vanilla single-threaded C++.</description>
		<content:encoded><![CDATA[<p>Hah, I think I confused the matter with my long-winded explanation.  During the game jam we only coded on the PPU, because, as you surmised, it takes a bit less time than writing for the SPUs.  In my previous post I was just attempting to force an analogy between how we normally code for the SPUs on our main projects and how we structured the programming team during the game jam.  The code we wrote the day of the jam was all very much vanilla single-threaded C++.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike W</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-231</link>
		<dc:creator>Mike W</dc:creator>
		<pubDate>Tue, 01 Apr 2008 17:11:10 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-231</guid>
		<description>John,&lt;br /&gt;
&lt;br /&gt;
I appreciate your detailed reply!&lt;br /&gt;
&lt;br /&gt;
I&#039;m a Windows C++ developer, and I have rough idea of how long it would take me to do something like that on Windows, so I was curious about how your team was able to get so much work done in such a short period of time.&lt;br /&gt;
&lt;br /&gt;
I&#039;m curious why your team utilized the SPEs for this game. Wouldn&#039;t it have been easier to code if you only utilized the PPE? That way, you wouldn&#039;t have to worry about communicating with and synchronizing data with the SPEs, you&#039;d only have to deal with basic threading and synchronization. I mean, I can run a game like Half-Life 2 on a meager 2.53 GHz Pentium 4--which must perform all the calculations that the graphics board isn&#039;t doing, plus all of the background services that Windows is running, shouldn&#039;t the 3.2 GHz PPE be sufficient for this game? Or was it your intention to utilize the SPEs for a specific reason, even if the SPEs weren&#039;t necessary for performance reasons?</description>
		<content:encoded><![CDATA[<p>John,</p>
<p>I appreciate your detailed reply!</p>
<p>I&#39;m a Windows C++ developer, and I have rough idea of how long it would take me to do something like that on Windows, so I was curious about how your team was able to get so much work done in such a short period of time.</p>
<p>I&#39;m curious why your team utilized the SPEs for this game. Wouldn&#39;t it have been easier to code if you only utilized the PPE? That way, you wouldn&#39;t have to worry about communicating with and synchronizing data with the SPEs, you&#39;d only have to deal with basic threading and synchronization. I mean, I can run a game like Half-Life 2 on a meager 2.53 GHz Pentium 4&#8211;which must perform all the calculations that the graphics board isn&#39;t doing, plus all of the background services that Windows is running, shouldn&#39;t the 3.2 GHz PPE be sufficient for this game? Or was it your intention to utilize the SPEs for a specific reason, even if the SPEs weren&#39;t necessary for performance reasons?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-230</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 31 Mar 2008 21:47:33 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-230</guid>
		<description>[I&#039;m going to answer your question in far more detail than you were probably looking for, so feel free to stop reading after the first paragraph.  :D]&lt;br /&gt;
&lt;br /&gt;
Six people worked on the game over the course of 24 hours.  Jenova, Martin, Nick and I coded; Kellee greased the wheels of industry (made sure food was coming in at regular intervals, made logos, etc.); and Steve, our main sound designer on Flower, did all the sound effects (with a little help from Altered Beast).  We all arrived around 10 a.m. on Saturday, and people started going home around midnight, with people leaving every 2 or 3 hours after that.  No one slept at the offices during the jam.  The final build was made at 9:38 a.m. on Sunday.  All-in-all, I&#039;d say we spent about 110 man-hours on the day of the jam.&lt;br /&gt;
&lt;br /&gt;
It&#039;s important to note, though, that unlike most game jams, which focus on design, we wanted to use this jam as a test of our raw production skills, so we actually prepared quite extensively before the event.  By the time we started jamming on Saturday, we had already figured out some game mechanics, as well as a list of design principles for the kind of game we were making.&lt;br /&gt;
&lt;br /&gt;
Relative to other game jams, we had a fairly large number of coders working together, so we also preplanned the programming pipeline.  The inspiration for structuring the programming team actually came from our experience coding the Cell.  Each of the 8 processors on the Cell is extremely fast, individually, but communication between processors takes a lot of time and effort.  On single processor systems, you generally want to share data as much as possible.  If you&#039;ve calculated something once, why bother doing it again?  But on multiprocessor systems like the Cell, it often takes longer to distribute the results of a calculation than it does to run the exact same calculation on each individual processor.  You end up repeating some work, but you avoid tons of communication overhead, and since you have a bunch of processors instead of 1, you still get things done much faster than you would in the single processor case.&lt;br /&gt;
&lt;br /&gt;
On our primary games, we try very hard to avoid redundant code, mainly because maintaining code in multiple places is exponentially harder than maintaining it in one.  As a result, if someone writes a piece of code that&#039;s generally useful, he tells all the other coders about it and we all end up using it.  For the game jam, we decided to go with the multiprocessing model, since, in 24-hours, maintenance wasn&#039;t much of a concern for us, but communication between coders was (since it&#039;s waaaay slower than even communication between processors).  As a result, in the 4,500 lines of code we wrote that day, we had 4 different functions for 2D physics, 4 different functions for drawing rectangles and a bunch more duplication beyond that, but we still got a lot more done than we would have had we tried to write our code the clean, non-repeating way.&lt;br /&gt;
&lt;br /&gt;
All that said, I don&#039;t think the preplanning took nearly as many man-hours as the game jam, itself, though it didn&#039;t happen in parallel, either, so it spanned over the course of a few calendar days.</description>
		<content:encoded><![CDATA[<p>[I&#39;m going to answer your question in far more detail than you were probably looking for, so feel free to stop reading after the first paragraph.  <img src='http://thatgamecompany.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ]</p>
<p>Six people worked on the game over the course of 24 hours.  Jenova, Martin, Nick and I coded; Kellee greased the wheels of industry (made sure food was coming in at regular intervals, made logos, etc.); and Steve, our main sound designer on Flower, did all the sound effects (with a little help from Altered Beast).  We all arrived around 10 a.m. on Saturday, and people started going home around midnight, with people leaving every 2 or 3 hours after that.  No one slept at the offices during the jam.  The final build was made at 9:38 a.m. on Sunday.  All-in-all, I&#39;d say we spent about 110 man-hours on the day of the jam.</p>
<p>It&#39;s important to note, though, that unlike most game jams, which focus on design, we wanted to use this jam as a test of our raw production skills, so we actually prepared quite extensively before the event.  By the time we started jamming on Saturday, we had already figured out some game mechanics, as well as a list of design principles for the kind of game we were making.</p>
<p>Relative to other game jams, we had a fairly large number of coders working together, so we also preplanned the programming pipeline.  The inspiration for structuring the programming team actually came from our experience coding the Cell.  Each of the 8 processors on the Cell is extremely fast, individually, but communication between processors takes a lot of time and effort.  On single processor systems, you generally want to share data as much as possible.  If you&#39;ve calculated something once, why bother doing it again?  But on multiprocessor systems like the Cell, it often takes longer to distribute the results of a calculation than it does to run the exact same calculation on each individual processor.  You end up repeating some work, but you avoid tons of communication overhead, and since you have a bunch of processors instead of 1, you still get things done much faster than you would in the single processor case.</p>
<p>On our primary games, we try very hard to avoid redundant code, mainly because maintaining code in multiple places is exponentially harder than maintaining it in one.  As a result, if someone writes a piece of code that&#39;s generally useful, he tells all the other coders about it and we all end up using it.  For the game jam, we decided to go with the multiprocessing model, since, in 24-hours, maintenance wasn&#39;t much of a concern for us, but communication between coders was (since it&#39;s waaaay slower than even communication between processors).  As a result, in the 4,500 lines of code we wrote that day, we had 4 different functions for 2D physics, 4 different functions for drawing rectangles and a bunch more duplication beyond that, but we still got a lot more done than we would have had we tried to write our code the clean, non-repeating way.</p>
<p>All that said, I don&#39;t think the preplanning took nearly as many man-hours as the game jam, itself, though it didn&#39;t happen in parallel, either, so it spanned over the course of a few calendar days.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike W</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-229</link>
		<dc:creator>Mike W</dc:creator>
		<pubDate>Mon, 31 Mar 2008 16:34:18 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-229</guid>
		<description>Did you guys sleep at all during the 24 hours or was it 24 hours of straight development?&lt;br /&gt;
&lt;br /&gt;
How many person-hours did you put into it?</description>
		<content:encoded><![CDATA[<p>Did you guys sleep at all during the 24 hours or was it 24 hours of straight development?</p>
<p>How many person-hours did you put into it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thieffen</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-228</link>
		<dc:creator>Thieffen</dc:creator>
		<pubDate>Fri, 14 Mar 2008 05:20:03 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-228</guid>
		<description>Thanks for your detailed reply, John. And all the best for this saturday new GameJam :)</description>
		<content:encoded><![CDATA[<p>Thanks for your detailed reply, John. And all the best for this saturday new GameJam <img src='http://thatgamecompany.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricky Chan</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-227</link>
		<dc:creator>Ricky Chan</dc:creator>
		<pubDate>Wed, 12 Mar 2008 04:35:49 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-227</guid>
		<description>This Jam product is neat! Leave the concept and gameplay as it is, just enhance the graphics and audio and you&#039;ll have a bestseller!&lt;br /&gt;
I do partly agree with locking the games after the 24th hour, but that should only be the concept.&lt;br /&gt;
&lt;br /&gt;
Great work and thanks for sharing with us! Can&#039;t wait for more!</description>
		<content:encoded><![CDATA[<p>This Jam product is neat! Leave the concept and gameplay as it is, just enhance the graphics and audio and you&#39;ll have a bestseller!<br />
I do partly agree with locking the games after the 24th hour, but that should only be the concept.</p>
<p>Great work and thanks for sharing with us! Can&#39;t wait for more!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-226</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 11 Mar 2008 15:02:31 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-226</guid>
		<description>Perhaps we will release some code one day ... but probably not too soon.  It takes a certain amount of time and effort to get the code in a state where we can release it without breaking any license agreements and so it&#039;s at all meaningful for people who can&#039;t compile it on full blown PS3 devkits.&lt;br /&gt;
&lt;br /&gt;
In the mean time, however, if you&#039;re interested in programming the Cell (you&#039;ve got a retail PS3 running Linux, say), I highly recommend &lt;a href=&quot;http://www.cellperformance.com.&quot; rel=&quot;nofollow&quot;&gt;http://www.cellperformance....&lt;/a&gt;  I also recommend checking out the R&amp;D pages at &lt;a href=&quot;http://www.insomniacgames.com.&quot; rel=&quot;nofollow&quot;&gt;http://www.insomniacgames.com.&lt;/a&gt;  One word of warning, though: Mike Acton is both founder of cellperformance and the Engine Director at Insomniac Games, so if all you do is read these two sites you&#039;ll get a very Mike Acton-centric view of programming for the Cell ... which isn&#039;t terrible, since he&#039;s very good at it, but it&#039;s always nice to get multiple opinions.</description>
		<content:encoded><![CDATA[<p>Perhaps we will release some code one day &#8230; but probably not too soon.  It takes a certain amount of time and effort to get the code in a state where we can release it without breaking any license agreements and so it&#39;s at all meaningful for people who can&#39;t compile it on full blown PS3 devkits.</p>
<p>In the mean time, however, if you&#39;re interested in programming the Cell (you&#39;ve got a retail PS3 running Linux, say), I highly recommend <a href="http://www.cellperformance.com." rel="nofollow"></a><a href="http://www.cellperformance" rel="nofollow">http://www.cellperformance</a>&#8230;.  I also recommend checking out the R&amp;D pages at <a href="http://www.insomniacgames.com." rel="nofollow"></a><a href="http://www.insomniacgames.com" rel="nofollow">http://www.insomniacgames.com</a>.  One word of warning, though: Mike Acton is both founder of cellperformance and the Engine Director at Insomniac Games, so if all you do is read these two sites you&#39;ll get a very Mike Acton-centric view of programming for the Cell &#8230; which isn&#39;t terrible, since he&#39;s very good at it, but it&#39;s always nice to get multiple opinions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thieffen</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-225</link>
		<dc:creator>Thieffen</dc:creator>
		<pubDate>Tue, 11 Mar 2008 14:20:13 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-225</guid>
		<description>hehe that&#039;s nice ;)&lt;br /&gt;
Is there any chance to get source code and maybe a sort of tutorial to show us how to program on PS3 and the so called &quot;synergistic&quot; cpu ? :)</description>
		<content:encoded><![CDATA[<p>hehe that&#39;s nice <img src='http://thatgamecompany.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br />
Is there any chance to get source code and maybe a sort of tutorial to show us how to program on PS3 and the so called &quot;synergistic&quot; cpu ? <img src='http://thatgamecompany.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: deadie</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-224</link>
		<dc:creator>deadie</dc:creator>
		<pubDate>Tue, 11 Mar 2008 13:53:03 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-224</guid>
		<description>haha  awesome!!!!!</description>
		<content:encoded><![CDATA[<p>haha  awesome!!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amish Gramish</title>
		<link>http://thatgamecompany.com/general/thatgamecompany-presents-gamejam0/comment-page-1/#comment-223</link>
		<dc:creator>Amish Gramish</dc:creator>
		<pubDate>Mon, 10 Mar 2008 23:40:23 +0000</pubDate>
		<guid isPermaLink="false">http://localhost/thatgameco/dev/wordpress/?p=69#comment-223</guid>
		<description>PSN download please?&lt;br /&gt;
&lt;br /&gt;
Looks awesome!!!!</description>
		<content:encoded><![CDATA[<p>PSN download please?</p>
<p>Looks awesome!!!!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

