<?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>Mark Danks &#187; Games</title>
	<atom:link href="http://www.danks.org/mark/category/games/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.danks.org/mark</link>
	<description></description>
	<lastBuildDate>Thu, 03 Sep 2009 05:52:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flexibility in Development</title>
		<link>http://www.danks.org/mark/2009/09/02/flexibility-in-development/</link>
		<comments>http://www.danks.org/mark/2009/09/02/flexibility-in-development/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 04:59:18 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=312</guid>
		<description><![CDATA[Moving back to development with my studio means that I have seen a lot about what publishers are looking for these days.  Wii is, of course, very popular, but there is generally a desire to be &#8220;casual.&#8221;  The interesting thing is that most publishers are unsure what that means.  They want the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignright size-full wp-image-317" style="float: right;" title="joystick" src="http://www.danks.org/mark/wp-content/uploads/2009/09/joystick.jpg" alt="joystick" width="89" height="100" />Moving back to development with my studio means that I have seen a lot about what publishers are looking for these days.  Wii is, of course, very popular, but there is generally a desire to be &#8220;casual.&#8221;  The interesting thing is that most publishers are unsure what that means.  They want the popularity of the Wii, but still want to make games like they did for the PS2 and before.</p>
<p>A few publishers have figured out that the Wii market is different than the hardcore market from before, but that requires an understanding of a very different demographic than has bought Doom, Gears of War, and Call of Duty in the past.</p>
<p>Now that Microsoft&#8217;s Natal and Sony&#8217;s motion controller have been announced, the day for the joystick might seem to be limited.  However, not every player nor every gamer wants to jump around the room, regardless of the genre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2009/09/02/flexibility-in-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E3 is Back</title>
		<link>http://www.danks.org/mark/2009/05/31/e3-is-back/</link>
		<comments>http://www.danks.org/mark/2009/05/31/e3-is-back/#comments</comments>
		<pubDate>Sun, 31 May 2009 21:59:09 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=304</guid>
		<description><![CDATA[I am getting ready to head down to E3 in LA tomorrow.  From all of the noise, it seems that the E3 of old is back, with the lights, noise, and spectacle.  From the industry&#8217;s point of view, E3 is a way to get the main stream media&#8217;s attention.  I have seen interviews and announcements [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignright size-full wp-image-305 alignright" style="float: right;" title="e3" src="http://www.danks.org/mark/wp-content/uploads/2009/05/e3.png" alt="E3" width="28" height="71" />I am getting ready to head down to <a href="http://e3insider.com/">E3</a> in LA tomorrow.  From all of the noise, it seems that the E3 of old is back, with the lights, noise, and spectacle.  From the industry&#8217;s point of view, E3 is a way to get the main stream media&#8217;s attention.  I have seen interviews and announcements all over the place from newspapers to radio.  Add in the parties and it should be as crazy as ever.</p>
<p>This year is different for me, since I have meetings about my <a href="http://www.danks.org/mark/2009/05/19/zoe-mode-san-francisco/">studio</a>.  Normally, I am there representing EA or Sony, so I am approaching things from the publisher or platform side, instead of as a developer.  As it is, I have meetings every day, all day, which will make for a great E3!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2009/05/31/e3-is-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zoe Mode San Francisco</title>
		<link>http://www.danks.org/mark/2009/05/19/zoe-mode-san-francisco/</link>
		<comments>http://www.danks.org/mark/2009/05/19/zoe-mode-san-francisco/#comments</comments>
		<pubDate>Tue, 19 May 2009 14:13:04 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=290</guid>
		<description><![CDATA[I am incredibly excited to launch my studio today.  I am the co-studio head for Zoë Mode San Francisco!  We are hard at work on a number of games and I am extremely honored to be working with such a great group of people.
Press release
Interview at GamesIndustry.biz
]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignright size-full wp-image-291" style="float: right;" title="Zoe Mode" src="http://www.danks.org/mark/wp-content/uploads/2009/05/logo.gif" alt="Zoe Mode" width="169" height="76" />I am incredibly excited to launch my studio today.  I am the co-studio head for <a href="http://www.zoemode.com/">Zoë Mode San Francisco</a>!  We are hard at work on a number of games and I am extremely honored to be working with such a great group of people.</p>
<p style="text-align: left;"><a href="http://www.zoemode.com/news-011.html">Press release</a></p>
<p><a href="http://www.gamesindustry.biz/articles/sony-vets-open-new-us-studio-for-zoe-mode">Interview at GamesIndustry.biz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2009/05/19/zoe-mode-san-francisco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asynch File Loading</title>
		<link>http://www.danks.org/mark/2009/05/18/asynch-file-loading/</link>
		<comments>http://www.danks.org/mark/2009/05/18/asynch-file-loading/#comments</comments>
		<pubDate>Tue, 19 May 2009 03:43:23 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=284</guid>
		<description><![CDATA[In most modern games, asynchronous file loading is a standard requirement.  This is especially true for open world games or games which never want to show a loading screen.  On the surface, it seems like an easy thing to do: spawn a new thread and load files on request.  However, there are a few complications [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignright size-full wp-image-288" style="float: right;" title="Buckets" src="http://www.danks.org/mark/wp-content/uploads/2009/05/buckets.jpg" alt="Buckets" width="288" height="183" />In most modern games, asynchronous file loading is a standard requirement.  This is especially true for open world games or games which never want to show a loading screen.  On the surface, it seems like an easy thing to do: spawn a new thread and load files on request.  However, there are a few complications which get in the way.</p>
<p>One of the most obvious issues is knowing when the file has actually been loaded.  In an asynch environment, you issue a request, and some time later, the request is fulfilled.  Most systems return a handle which the game can check periodically to see if the data has been read.  This is fairly easy to implement, works well in a multithreaded environment, and is pretty easy to debug.  Other alternatives are to use a callback mechanism or put the calling thread to sleep until the data is loaded.  The sleep option is usually done in custom scripting languages, instead of trying to do it in C++.</p>
<p>A standard approach is to compress the data at build time and decompress at run time.  If you are reading from <a href="http://en.wikipedia.org/wiki/Dvd">DVD</a> <span id="more-284"></span>or <a href="http://en.wikipedia.org/wiki/Blu_ray">Blu-ray</a>, then it is practically a requirement due to the slow read speeds of those media.  On the <a href="http://en.wikipedia.org/wiki/Ps3">PS3 </a>or <a href="http://en.wikipedia.org/wiki/Xbox360">XBox360</a>, it is common to have your file system decompress on the fly, either on the <a href="http://en.wikipedia.org/wiki/Synergistic_Processing_Unit">SPUs </a>or on another core.  The complication is that you are no longer loading the data directly where it will be used.  Instead, you need to load it a temporary buffer, decompress the data, then write it to the final memory location.</p>
<p>On some <a href="http://en.wikipedia.org/wiki/Ps3">consoles</a>, there is not unified memory.  This means that you need to decide either ahead of time or at load time where the data will be loaded.  On the PS3, half of the memory is &#8220;main RAM&#8221; while the other half in &#8220;graphics memory&#8221; (<em>ignoring that data can be moved and read between the two systems</em>).  A simplistic approach is to put the data in the RAM segment based on the type of data&#8230;geometry to RSX memory, AI parameters to system RAM.  Since some types of data can be in either segment, this approach limits how flexibility the memory arrangement is.</p>
<p>Most file systems use a Table of Contents (ToC) to manage where and how the data is loaded.  Having a ToC for the data which is loaded gives:</p>
<ul>
<li>Position on disc</li>
<li>Memory segment to load into</li>
<li>Compression parameters</li>
<li>Data type</li>
<li>Resource Id</li>
<li>Human readable name</li>
</ul>
<p>A ToC also gives you flexibility during development.  The ToC can either contain all of the data in a single packed file, or it can simply list the files which need to be loaded.  Assembling a packed file can take a lot of time during development, especially when you have just changed one file.  This arrangement also makes it easy to do single file overrides.  Your nightly build system creates packed files for the game from checked in assets, but individuals can modify single files which are loaded seperately from the main packed file.</p>
<p>If you can override individual files, then you should look into hot-reloading of data: reloading data in the middle of the game so that artists can see texture changes without restarting, etc.  On the prototype I&#8217;m working on, I have a PC app which monitors my processed file directory and sending a message over the network to the game to reload it.  I have the file change logic on the PC in a single app, while the hot reloading is based in the game itself.  Since I&#8217;m working on a multiplatform game, this makes it easy for any new platform to load in the file.  Even the PC version registers itself with the file monitor app instead of scanning the directories explicitly.</p>
<p>One minor point to mention is that DX9 is not fully multithreaded.  This means that if you are allocating vertex, index, or texture buffers, they all have to be done from the render thread.  Microsoft explains it fairly well in <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=D6940B55-B805-46B5-B683-B8A2FE9B3D00&amp;displaylang=en">this presentation</a>.  This restriction makes it a bit more complicated, but it mostly involves extra signaling between the loading and render thread.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2009/05/18/asynch-file-loading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hard to Develop For</title>
		<link>http://www.danks.org/mark/2009/03/02/hard-to-develop-for/</link>
		<comments>http://www.danks.org/mark/2009/03/02/hard-to-develop-for/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 05:25:46 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=273</guid>
		<description><![CDATA[ A recent CNET article has much of the blog-o-sphere commenting away like crazy.  The article contains a quote from Kaz Hirai from SCE that the PS3 is hard to develop for.  In reading the article, the author does not appear to have thought much about why Kaz might have said that.
As a note, these [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignright size-full wp-image-274" style="float: right;" title="PS3" src="http://www.danks.org/mark/wp-content/uploads/2009/03/sony_playstation_3_20_gb_270x270.jpg" alt="PS3" width="270" height="270" /> A recent CNET article has much of the blog-o-sphere commenting away like crazy.  The article contains a quote from <a href="http://en.wikipedia.org/wiki/Kaz_hirai">Kaz Hirai</a> from SCE that the PS3 is <a href="http://news.cnet.com/8301-13506_3-10173656-17.htm">hard to develop for</a>.  In reading the article, the author does not appear to have thought much about why Kaz might have said that.</p>
<p>As a note, these are only my views and do not represent my current employer, <a href="http://www.us.playstation.com/">SCE</a>, <a href="http://www.ea.com">EA</a>, or any past employers.  These views are also not based on any &#8220;inside&#8221; information, but instead are based on many years in the video games industry.</p>
<p>It is absolutely true that of the current consoles (PS3, XBox360, and Wii), the PS3 is the most complicated.  However, there are two aspects to developing on a console.  1) The hardware and 2) the development environment.  The thing that the author of the CNET article seemed to forget is that (excluding <a href="http://www.nintendo.com">Nintendo</a>), selling software is what makes the money, not selling the hardware.</p>
<p><span id="more-273"></span>The games industry makes most of its money from sequels and yearly franchises.  The <a href="http://www.metacritic.com/games/platforms/ps3/maddennfl09">Madden&#8217;s</a>, the <a href="http://www.metacritic.com/games/platforms/ps3/guitarheroworldtour">Guitar Hero&#8217;s</a>, etc.  These publishers need to have consumers buy their games every year.  If there isn&#8217;t something which makes the game better each year, then why would consumers purchase it?  This concept extends to franchises such as <a href="http://www.metacritic.com/games/platforms/xbox360/halo3">Halo </a>and <a href="http://www.metacritic.com/games/platforms/ps2/godofwar2">God of War</a>.  While I would love it if new stories and gameplay drove game sales, it is not not borne out by the sales numbers each month.</p>
<p>For the XBox360, there is a very easy to understand hardware and a great development environment.  This means that the games made today are not going to be much different from the XBox360 games of &#8220;tomorrow.&#8221;</p>
<p>For the PS3, it is a complicated hardware and historically is not a great development environment.  This means that games towards the end of the console will look much better than those at the start as developers learn how to take advantage of the hardware.  Keep in mind that currently, many hardcore consumers are looking for the better shiny object and realistically do not care about &#8220;story&#8221; and &#8220;gameplay innovation.&#8221;</p>
<p>Between the hardware and development environment, one of these can change over the course of a console&#8217;s lifecycle (and it isn&#8217;t the hardware&#8230;).  While the PS3 is still difficult to develop for, it has gotten much better over the past couple of years.  This means that developers are able to use more of the hardware and make their games better looking.  On the XBox360, how different is <a href="http://www.metacritic.com/games/platforms/xbox360/gearsofwar">Gears of War 1</a> from <a href="http://www.metacritic.com/games/platforms/xbox360/gearsofwar2">Gears of War 2</a>?  On the PS3, it will be interesting to compare <a href="http://www.metacritic.com/games/platforms/ps3/uncharteddrakesfortune">Uncharted 1</a> to <a href="http://www.metacritic.com/games/platforms/ps3/uncharted2amongthieves">Uncharted 2</a> this next holiday season.</p>
<p>So put Kaz&#8217;s comments into perspective.   If the software looks the same every year, then why would consumers buy the next version of something?  If the software gets better every year, then consumers are likely to purchase it to be on the best and brightest.  This philosophy served Sony very well on the PS2.  The question is if it will work on the PS3&#8230;especially when it does not have the same market share.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2009/03/02/hard-to-develop-for/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Week one at my new studio</title>
		<link>http://www.danks.org/mark/2008/11/23/week-one-at-my-new-studio/</link>
		<comments>http://www.danks.org/mark/2008/11/23/week-one-at-my-new-studio/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 04:22:39 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=230</guid>
		<description><![CDATA[Week one is done for my new studio.  Spent the week working a game pitch, running phone and ethernet wires, and generally getting everything set up at the office.  It is extremely exciting and scary to not have &#8220;the man&#8221; telling you what to do every day.  The success of the studio will be a [...]]]></description>
			<content:encoded><![CDATA[<p>Week one is done for my new studio.  Spent the week working a game pitch, running phone and ethernet wires, and generally getting everything set up at the office.  It is extremely exciting and scary to not have &#8220;the man&#8221; telling you what to do every day.  The success of the studio will be a direct result of the work of my co-studio head and I.</p>
<p>And I love taking <a href="http://www.bart.gov/">BART </a>every day.  My commute time is about the same as when I was at EA and Sony, but now I get to <a href="http://www.danks.org/mark/books/">read </a>and relax with my iPod.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2008/11/23/week-one-at-my-new-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last Day at Sony</title>
		<link>http://www.danks.org/mark/2008/11/14/last-day-at-sony/</link>
		<comments>http://www.danks.org/mark/2008/11/14/last-day-at-sony/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 05:26:48 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=228</guid>
		<description><![CDATA[I made the leap.  Today was my last day at Sony.  It has been an amazing time there and I am truly honored to have worked with such talented people.
&#8230;but something came up&#8230;
I am starting a new game studio in San Francisco.
]]></description>
			<content:encoded><![CDATA[<p>I made the leap.  Today was my last day at Sony.  It has been an amazing time there and I am truly honored to have worked with such talented people.</p>
<p>&#8230;but something came up&#8230;</p>
<p>I am starting a new game studio in San Francisco.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2008/11/14/last-day-at-sony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I play games</title>
		<link>http://www.danks.org/mark/2008/09/14/how-i-play-games/</link>
		<comments>http://www.danks.org/mark/2008/09/14/how-i-play-games/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 04:12:52 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=175</guid>
		<description><![CDATA[
I have noticed an interesting way that I play games these days.  Keep in mind, I have children and interests outside of the games industry.
On my home consoles (which include a PS3, XBox 360, and Wii), I tend to play games which are pick up and play, usually with no story.  This includes Boom Blox, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-177" style="float: right;" title="backwards" src="http://www.danks.org/mark/wp-content/uploads/2008/09/backwards.jpg" alt="backwards" width="256" height="239" /></p>
<p>I have noticed an interesting way that I play games these days.  Keep in mind, I have children and interests outside of the games industry.</p>
<p>On my home consoles (which include a PS3, XBox 360, and Wii), I tend to play games which are pick up and play, usually with no story.  This includes <a href="http://www.metacritic.com/games/platforms/wii/boomblox">Boom Blox</a>, <a href="http://www.metacritic.com/games/platforms/ps3/lastguy">The Last Guy</a>, <a href="http://www.metacritic.com/games/platforms/ps3/pixeljunkeden">Eden</a>, and <a href="http://www.metacritic.com/games/platforms/xbox360/braid">Braid</a>.  Basically, all games which I can play for 15-30 minutes and then turn off the console.  Also, I don&#8217;t have to worry about remembering some involved story to get back into the game.</p>
<p>On my portables, I am playing the long, involved story games.  I just finished <a href="http://www.metacritic.com/games/platforms/psp/crisiscorefinalfantasy7">Crisis Core: Final Fantasy VII</a> and it looks like I&#8217;m going to get back to <a href="http://www.metacritic.com/games/platforms/ds/legendofzeldaphantomhourglass">The Legend of Zelda: Phantom Hourglass</a> soon.</p>
<p>The interesting thing to me is this is completely backwards to how people are &#8220;supposed&#8221; to play games.  My pickup games are on my home system with the big plasma TV, while the long session games are on my portable systems.  It reflects my life these days&#8230;I have very little time at home to play games, but when I travel, I&#8217;m trapped on an airplane for ten hours at a time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2008/09/14/how-i-play-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multithreaded Task System Arguments</title>
		<link>http://www.danks.org/mark/2008/08/13/multithreaded-task-system-arguments/</link>
		<comments>http://www.danks.org/mark/2008/08/13/multithreaded-task-system-arguments/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 05:08:09 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=91</guid>
		<description><![CDATA[I have implemented a task system for my brushing program.  In many ways, it emulates a PS3 by creating 6 threads which sleep until told to do something.  That &#8220;something&#8221; is a function which does a task and then exits.  There are two issues with this that I am resolving at the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-157" style="float: right;" title="spaghetti" src="http://www.danks.org/mark/wp-content/uploads/2008/08/spaghetti.jpg" alt="" width="175" height="178" />I have implemented a task system for my brushing program.  In many ways, it emulates a PS3 by creating 6 threads which sleep until told to do something.  That &#8220;something&#8221; is a function which does a task and then exits.  There are two issues with this that I am resolving at the moment.</p>
<ol>
<li>It is hard to debug the tasks when there are hundreds or thousands a frame</li>
<li>I want to emulate the PS3 SPU local store, which means segmenting my memory space</li>
</ol>
<p>To make each of these easier to deal with, all of the task entry functions take an argument.  This argument is a pointer to a ClTaskArg class.  Tasks are expected to derive from this class to get their arguments into, and potentially out of, the task function.</p>
<p><span id="more-91"></span></p>
<p>Here is the basic flow chart for how a task gets executed in my app.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-167" title="Task Flowchart" src="http://www.danks.org/mark/wp-content/uploads/2008/08/core.jpg" alt="" width="536" height="642" /></p>
<p>The decision points are mainly decided by the settings in the argument.  This is different from how most PC or XBox360 apps would work, since they have unified memory.  By creating a Local Store for the Task Function, it forces the app to think about how memory is handled and when to actually do a writeback.  The nice thing about my system is that a fair amount of the memory handling is done automatically without having to explicitly do the memcpy() in the user&#8217;s code.</p>
<p>A simplified and incomplete version of my ClTaskArg follows.   It mimics the PS3 by using EA &#8211; Effective Address.  The implementation is missing, as well as a lot of the header itself, but it should give an idea of how I deal with the argument into the Task Entry Function.</p>
<pre>class ClTaskArg
{
    public :

        //////////
        // Get the size of this structure
        int            getSizeOfStruct() const    { return(mcSizeOfStruct); }

        //////////
        // Get the write back address
        // [out] ClTaskArg * - the pointer in main RAM.  NULL if no write back
        ClTaskArg      *getThisEA() const         { return(mpThisEA); }

        //////////
        bool           breakOnEntry() const       { return(mBreakOnEntry); }

        //////////
        ClAlloc        *getLocalAllocator()       { return(mpLocalAlloc); }

    protected :

        //////////
        // Constructor
        // [in] sizeOfStruct - the full size of the structure to transfer
        // [in] writeBackStruct
        //        - should the structure be written back to main RAM on exit?
        ClTaskArg(int sizeOfStruct, bool writeBackStruct)
            : mpThisEA(0), mcSizeOfStruct(sizeOfStruct), mBreakOnEntry(false)
        {
            if (writeBackStruct)
            {
                mpThisEA = this;
            }
        }

    private :

        // Address of this structure in main RAM
        ClTaskArg    *mpThisEA;
        // The memory allocator for this core
        ClAlloc      *mpLocalAlloc;
        // The size of the structure
        const int    mcSizeOfStruct;
        // Should the thread break on entry?
        bool         mBreakOnEntry;
};</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2008/08/13/multithreaded-task-system-arguments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PlayStation-edu</title>
		<link>http://www.danks.org/mark/2008/06/06/playstation-edu/</link>
		<comments>http://www.danks.org/mark/2008/06/06/playstation-edu/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 18:46:31 +0000</pubDate>
		<dc:creator>mdanks</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.danks.org/mark/?p=89</guid>
		<description><![CDATA[I just put up a post on the PlayStation blog about the PlayStation-edu program:
 http://blog.us.playstation.com/2008/06/06/playstation-edu/
It is a program to get development hardware into the classrooms of universities and colleges.
I am giving a talk about it at the Game Education Summit next week in Dallas.
[update]
Made slashdot!
]]></description>
			<content:encoded><![CDATA[<p>I just put up a post on the PlayStation blog about the PlayStation-edu program:</p>
<p><a href="http://blog.us.playstation.com/2008/06/06/playstation-edu/"> http://blog.us.playstation.com/2008/06/06/playstation-edu/</a></p>
<p>It is a program to get development hardware into the classrooms of universities and colleges.</p>
<p>I am giving a talk about it at the <a href="http://www.gameeducationsummit.com/">Game Education Summit</a> next week in Dallas.</p>
<p>[update]</p>
<p>Made <a href="http://developers.slashdot.org/article.pl?sid=08/06/07/0316231">slashdot</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danks.org/mark/2008/06/06/playstation-edu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
