<?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>CodeDread Blog &#187; Games</title>
	<atom:link href="http://www.codedread.com/blog/archives/category/entertainment/games/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codedread.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 02 Jan 2012 15:30:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How To Create Binary Downloads For Linux Users</title>
		<link>http://www.codedread.com/blog/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/</link>
		<comments>http://www.codedread.com/blog/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 18:59:11 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/</guid>
		<description><![CDATA[Ok, so I&#8217;ve got a little game I&#8217;ve been coding in my spare time. It uses SDL and Boost so that it&#8217;s pretty cross-platform compatible. In fact, I&#8217;ve built, ran and tested the game in OpenSuse Linux. However, I&#8217;m not clear on an easy way of packaging the game up in a download for Linux [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so I&#8217;ve got a little game I&#8217;ve been coding in my spare time.  It uses <a href="http://www.libsdl.org/" title="Simple DirectMedia Layer">SDL</a> and <a href="http://www.boost.org/">Boost</a> so that it&#8217;s pretty cross-platform compatible.  In fact, I&#8217;ve built, ran and tested the game in <a href="http://www.opensuse.org/">OpenSuse Linux</a>.  However, I&#8217;m not clear on an easy way of packaging the game up in a download for Linux users.  The game has run-time dependencies on <a href="http://expat.sourceforge.net/">expat</a> as well as many SDL libraries (specifically <a href="http://www.libsdl.org/projects/SDL_ttf/">SDL_ttf</a>, <a href="http://www.libsdl.org/projects/SDL_image/">SDL_image</a>, <a href="http://www.libsdl.org/projects/SDL_mixer/">SDL_mixer</a>, <a href="http://www.ferzkopp.net/joomla/content/view/19/14/">SDL_gfx</a>, and of course, SDL itself).  I&#8217;d like something simple, akin to what I do with Windows (which is a batch file that bundles up every file needed, including DLLs, into one ZIP file for download).  Can anyone out there help me?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/07/19/how-to-create-binary-downloads-for-linux-users/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>And Still More SVG Games</title>
		<link>http://www.codedread.com/blog/archives/2007/03/09/and-still-more-svg-games/</link>
		<comments>http://www.codedread.com/blog/archives/2007/03/09/and-still-more-svg-games/#comments</comments>
		<pubDate>Fri, 09 Mar 2007 17:24:21 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[QuickLinks]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/03/09/and-still-more-svg-games/</guid>
		<description><![CDATA[Orinoco has put up a couple more SVG games that you can play inside your browser (either Firefox 1.5+ or Opera 9+). Go try out: Yet Another Snake Game (his title, not mine) and Steps. And don&#8217;t forget his two other games for the geographically-challenged: The United States of SVG and Find The Country. Where [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://my.opera.com/orinoco/blog/">Orinoco</a> has put up a couple more SVG games that you can play inside your browser (either <a href="http://www.mozilla.com/firefox/">Firefox 1.5+</a> or <a href="http://www.opera.com/">Opera 9+</a>).  <span id="more-342"></span></p>
<p>Go try out:  <a href="http://files.myopera.com/orinoco/svg/snake.svg">Yet Another Snake Game</a> (his title, not mine) and <a href="http://files.myopera.com/orinoco/svg/Steps.svg">Steps</a>.  And don&#8217;t forget his two other games for the geographically-challenged:  <a href="http://files.myopera.com/orinoco/svg/USStates.svg">The United States of SVG</a> and <a href="http://files.myopera.com/orinoco/svg/WorldCountries.svg">Find The Country</a>.</p>
<p>Where does this guy find the time?</p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/03/09/and-still-more-svg-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Little Big Planet</title>
		<link>http://www.codedread.com/blog/archives/2007/03/08/little-big-planet/</link>
		<comments>http://www.codedread.com/blog/archives/2007/03/08/little-big-planet/#comments</comments>
		<pubDate>Thu, 08 Mar 2007 21:23:33 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[GDC]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[QuickLinks]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/03/08/little-big-planet/</guid>
		<description><![CDATA[I don&#8217;t like to be reminded that I&#8217;m missing GDC this year, but Rob sent me this little video reminder. The video is of a soon-to-be-released game for the PS3 called &#8220;Little Big Planet&#8221; which allows up to 4 players to construct their own fully physical world, or download other levels from other players and [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t like to be reminded that I&#8217;m missing <a href="http://www.gdconf.com/" title="Game Developer's Conference">GDC</a> this year, but <a href="http://www.latenightpc.com/blog/">Rob</a> sent me this <a href="http://gamevideos.com/video/id/9860">little video reminder</a>.  The video is of a soon-to-be-released game for the PS3 called &#8220;Little Big Planet&#8221; which allows up to 4 players to construct their own fully physical world, or download other levels from other players and play it as a game.  <a href="http://gamevideos.com/video/id/9860">Go watch it</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/03/08/little-big-planet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG Map Games</title>
		<link>http://www.codedread.com/blog/archives/2007/01/19/svg-map-games/</link>
		<comments>http://www.codedread.com/blog/archives/2007/01/19/svg-map-games/#comments</comments>
		<pubDate>Fri, 19 Jan 2007 19:44:03 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2007/01/19/svg-map-games/</guid>
		<description><![CDATA[How well do you know your geography? I really suck at it, but I&#8217;m getting better by playing these two web browser games: Find the Country (blog post) The United States of SVG (blog post) These SVG games work in modern browsers like Opera 9+ and Firefox 1.5+ and were written by orinoco and published [...]]]></description>
			<content:encoded><![CDATA[<p>How well do you know your geography?  I really suck at it, but I&#8217;m getting better by playing these two web browser games:</p>
<ul>
<li><a href="http://files.myopera.com/orinoco/svg/WorldCountries.svg" title="Find the Country.  A browser game written in SVG.">Find the Country</a> (<a href="http://my.opera.com/orinoco/blog/find-the-country">blog post</a>)</li>
<li><a href="http://files.myopera.com/orinoco/svg/USStates.svg" title="Find the US State.  A browser game written in SVG.">The United States of SVG</a> (<a href="http://my.opera.com/orinoco/blog/2007/01/17/the-united-states-of-svg">blog post</a>)</li>
</ul>
<p>These <a href="http://www.w3.org/TR/SVG11/index.html" title="Scalable Vector Graphics">SVG</a> games work in modern browsers like <a href="http://www.opera.com/">Opera 9+</a> and <a href="http://www.mozilla.com/firefox/">Firefox 1.5+</a> and were written by <a href="http://my.opera.com/orinoco/">orinoco</a> and published on his Opera blog.  I gave him some pointers to get them working in IE+ASV (I updated <a href="http://blog.codedread.com/archives/2005/12/01/guide-to-deploying-svg-with-html/" title="How to use SVG and HTML">my guide</a> with these tips too).</p>
<p>He really did some fantastic work &#8211; he started with a <a href="http://upload.wikimedia.org/wikipedia/commons/a/ad/BlankMap-World_gray.svg">blank world map</a> on WikiMedia Commons drawn in <a href="http://www.inkscape.org/">Inkscape</a> which had all geography stuffed into a single path element and then he broke them out so that each country was its own path, then manually identified them all!  It&#8217;s not an easy task, but it was made easier because the graphics format was an open, well-documented standard in plain text.  I hope he continues to experiment with SVG.</p>
<p>Can someone test them in Konqueror and Safari nightlies?</p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2007/01/19/svg-map-games/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Games vs. Life</title>
		<link>http://www.codedread.com/blog/archives/2006/09/14/games-vs-life/</link>
		<comments>http://www.codedread.com/blog/archives/2006/09/14/games-vs-life/#comments</comments>
		<pubDate>Thu, 14 Sep 2006 17:50:57 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/archives/2006/09/14/games-vs-life/</guid>
		<description><![CDATA[I was talking with a friend who is still trying to convince me that playing World Of Warcraft is a good lifestyle choice (as opposed to, say &#8220;dedicated husband, father, software developer, blogger&#8221;). Kidding aside, spare time is really my only stumbling block here, it&#8217;s not as if I have something against heavy gaming in [...]]]></description>
			<content:encoded><![CDATA[<p>I was talking with a <a href="http://www.latenightpc.com/blog/">friend</a> who is still trying to convince me that playing <a href="http://www.worldofwarcraft.com/">World Of Warcraft</a> is a good lifestyle choice (as opposed to, say &#8220;dedicated husband, father, software developer, blogger&#8221;).  Kidding aside, spare time is really my only stumbling block here, it&#8217;s not as if I have something against heavy gaming in general (though I do recoil from the idea of having to pay a periodic subscription fee, I&#8217;d rather spend some time on a single-purchase game like <a href="http://www.bethsoft.com/">Bethesda&#8217;s</a> <a href="http://www.elderscrolls.com/games/oblivion_overview.htm">Oblivion</a> that&#8217;s all about &#8220;me&#8221;). <span id="more-282"></span></p>
<p>Anyway, looking at the game (which to my eyes was visually comparable to Morrowind but with multiple players) made me think of how things are getting closer and closer to simulating real life.  I&#8217;m not talking about visual perception of the game world (though the graphics are certainly improving on a yearly basis), but I&#8217;m talking about the game-play mechanics.  The more I think about this, the more I&#8217;m becoming convinced that simulating life means actually <em>simplifying</em> game-play rules rather than adding more and more complex rules.</p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
<p>I&#8217;ll clarify up front that when I say &#8220;simplify&#8221; I&#8217;m not necessarily talking about the game engine complexity itself.  I&#8217;m talking about the experience as a player for the most part.  Let me give some examples:</p>
<h3>Game Environment Seams</h3>
<p>Some games have boundaries between wilderness areas and city areas, requiring the game to shift perspective into those new areas.  The oldest example of this that I can think of is the original <a href="http://en.wikipedia.org/wiki/Ultima_I">Ultima</a> game which actually has three major perspectives:  overhead wilderness, overhead city and first-person dungeon.  In Ultima, an entire city takes up one single square in the wilderness area, going into the city then opens up the city map (which is suddenly much much larger on your screen).</p>
<p><a href="http://www.elderscrolls.com/games/morrowind_overview.htm">Morrowind</a> was one of those first games that I knew of where the scale and experience stayed the same between wilderness and cities, though there is still a hard break between buildings and &#8220;outside areas&#8221;.  In fact, you can&#8217;t look into buildings when you are outside them.  Bringing the experience closer to real life means actually removing any difference between enclosed buildings and outside areas.  Suddenly, everything is one homogenous environment and follows the same rules.</p>
<h3>Other Game Environment Limitations</h3>
<p>In Morrowind, why can&#8217;t I stake out a section in a forest, chop down some trees, use the wood to build a house, dig a trench around it and proclaim myself a new country?  The limitations really only come down to the physical environment &#8211; trees and ground are not destructible.  If they were and you could manipulate the objects that you chop down or dig up, then theoretically it would be possible to do all the things that I mention above.</p>
<p>Don&#8217;t get me wrong, this certainly adds complexity to the underlying physics engine.  My only argument here is that when certain things in the game world are fixed and cannot change, something which contrasts drastically with the real world, it adds a certain amount of complexity to the user experience.  So I can pick up a quiver of arrows that somebody dropped, but I can&#8217;t pick up this rock on a path?</p>
<p>A user completely new to gaming has only the knowledge of the real world to draw on when trying to relate to the game.  The fact that there are things within the game world that are alien to the real world takes some getting used to.</p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
<h3>Character Alignments, Classes</h3>
<p>If I understand things correctly, in WoW you have to choose a side:  Alliance or Horde.  This has certain effects in the game (if your character is on the Alliance side and are in a region that is controlled by Alliance, you get certain bonuses or something).  Alignment also enables you to play certain player vs. player games like &#8220;capture the flag&#8221;, etc.  At this point, I don&#8217;t even want to know the details in case I get sucked in and want to play the bloody game&#8230;</p>
<p>But the point is that real life is not like that.  Each person has their own personal and specific motivations, and these things only broadly fit into certain categorical distinctions (and then only sometimes).  People in the real world may ally themselves on the surface with something, but there is no true physical law that binds this.  It&#8217;s a personal choice that may change from moment to moment (and people may ally themselves with multiple conflicting organizations also, unbeknownst to each organization).  Forcing the user to choose a side within the game-world context, even if they are allowed to switch within the game, usually means that there are physical rules constraining the character &#8211; and real life is not like that &#8211; if I choose to be a Canadian there is no physical rule (as in game-world physics) that prevents me crossing the border into the U.S. (though there may be a guard who will try to prevent me, etc).  If I&#8217;m a Democrat, I could still vote for a Republican candidate, etc&#8230;</p>
<p>Character class also is another poorly modelled construct of the real world.  If I choose &#8220;Mage&#8221; as my character class, then I can cast spells, but can I learn to do the same thing if I&#8217;m a &#8220;Thief&#8221;?  Can I pick pockets as a Mage?  I know that character classes are attempting to model the fact that some people have natural talents for some skills over others, but the bottom line is those natural talents should come through in the game-play experience itself, not restricted by some arbitrary choice when I created the character.  Morrowind did away with this to a certain degree by allowing all skills to be available to any character, your character class just sets up the initial skill level of some skills at the beginning but it is theoretically possible to start as a Mage and end up as a Master Thief by the end of the game if you continue to focus and improve those skills.  I really liked that aspect of Morrowind/Oblivion.</p>
<p>The bottom line is that picking character class, alignments, guilds, clans are arbitrary game rules that have been set up to model the real world.  I guess I&#8217;m suggesting that these things do so poorly.  The ultimate game would have no distinctions on these things and allow personal abilities and motivations to drive them within the context of the game world.  In other words, if you remove class and alignment as something driving game mechanics, you&#8217;ve simplified the game engine complexity and brought it closer to real life.</p>
<p>I&#8217;m not saying you can&#8217;t have guilds (for instance) within a game world, but guild membership should be based on what they are based on in real life:  word-of-mouth, written record, etc.</p>
<p>Of course there&#8217;s another facet of this that I&#8217;m not talking about and that is these constructs are also in place to give the game developers a chance to control the social ecology of the game world.  In other words, maybe at this stage such things are necessary in order to keep some sort of balance in massive online games like WoW and to limit the amount of anarchy in the game.  I think that once game engines evolve to a point, there will be no reason to put in such artifices into the game world &#8211; let the people playing the games work out the rules/laws (and associated punishments) and see what&#8217;s what.  This is where the very interesting history of online worlds begins, with complex social interaction not dictated by some &#8220;overlords&#8221;.  I will stop my exposition now in case I delve too far into the spiritual/religious areas.</p>
<p>Anyway, I intend to write some more about social structures within online game worlds one day as it&#8217;s extremely interesting to me, but I need to get my thoughts in order and probably actually try a game or two&#8230;</p>
<h3>What Does the Future Hold?</h3>
<p>It will be very interesting to see how future online worlds evolve as games get richer and closer to real life.  I&#8217;m sure we&#8217;ll see all evolution of political structures (despotism, monarchies, democracies, etc), systems of law, wars between virtual countries, you name it.  At some point, the games will become rich enough that you will no longer need manufactured quests &#8211; the quests will come out of interactions within the game world (i.e. player 1 steals a magical item from player 2 so player 2 recruits people to help get it back, etc).  It will be an exciting time!  Perhaps by then I&#8217;ll feel comfortable with the monthly subscription fee <img src='http://www.codedread.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2006/09/14/games-vs-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opera Extends Canvas</title>
		<link>http://www.codedread.com/blog/archives/2006/03/29/opera-extends-canvas/</link>
		<comments>http://www.codedread.com/blog/archives/2006/03/29/opera-extends-canvas/#comments</comments>
		<pubDate>Wed, 29 Mar 2006 17:58:34 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[GDC]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/?p=242</guid>
		<description><![CDATA[Via Arve, the Opera Web Applications blog talks of how the Opera 9 Browser has made extensions to the canvas element specifically for authoring games for the browser. The extensions allow authors to: get/set pixel values perform collision/hit detection optimize redraws of the canvas (via locking) The benefits of such functionality should be obvious: it [...]]]></description>
			<content:encoded><![CDATA[<p>Via <a href="http://virtuelvis.com/archives/2006/03/webapp-blog">Arve</a>, the <a href="http://my.opera.com/WebApplications/blog/show.dml/200788">Opera Web Applications blog</a> talks of how the <a href="http://labs.opera.com/" title="Download Opera 9 TP2 at Opera Labs">Opera 9 Browser</a> has made extensions to the canvas element specifically for authoring games for the browser.  <span id="more-242"></span></p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
<p>The extensions allow authors to:</p>
<ul>
<li>get/set pixel values</li>
<li>perform collision/hit detection</li>
<li>optimize redraws of the canvas (via locking)</li>
</ul>
<p>The benefits of such functionality should be obvious:  it allows fine-grained control over the canvas contents and interactivity, something closer to what SVG developers have already:</p>
<ul>
<li>While SVG developers are rarely concerned about individual pixels, <a href="http://www.w3.org/TR/SVG11/filters.html">SVG filters</a> provide an ability to produce interesting effects similar to getting/setting individual pixels (for instance, blurring or lighting an image).</li>
<li>SVG developers can easily <a href="http://www.w3.org/TR/SVG11/interact.html">attach standard DOM event listeners</a> to any graphical objects to test for hit detection.  General collision detection could also be done via scripting the SVG DOM.</li>
<li>SVG developers can control when the image is drawn by using <a href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">SVG DOM methods</a>: suspendRedraw(), unsuspendRedraw() and forceRedraw().</li>
</ul>
<p>Anyway, I&#8217;m not trying to downplay these advancements from Opera, I think it&#8217;s all good.  Putting more graphical/interactive power into the developers hands is a good thing, whether it&#8217;s canvas or SVG.  Either way it nudges the web closer to a platform that can support gaming technologies.</p>
<p>It&#8217;s a pity these guys weren&#8217;t also at the <a href="http://www.gdconf.com/" title="Game Developer's Conference">GDC</a> last week to discuss these advancements and learn what game authors are looking for in the web browser space, but I suppose this is fairly minor news at the moment.  What will make this bigger news is if other browser vendors start supporting these extensions in some way.</p>
<p>As the canvas experimentation continues, I feel it becomes more and more important for somebody to own it and publish a <a href="http://whatwg.org/specs/web-apps/current-work/">standard</a> so that we don&#8217;t get fractured camps like we did with JavaScript back in the first Web boom.  I&#8217;m all for innovation, and it&#8217;s a potential way for Opera to gain some more marketshare, but at some point to make it ultimately useful it needs to be ubiquitous across all browsers.</p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2006/03/29/opera-extends-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC Trip 2006: Part Four</title>
		<link>http://www.codedread.com/blog/archives/2006/03/24/gdc-trip-2006-part-four/</link>
		<comments>http://www.codedread.com/blog/archives/2006/03/24/gdc-trip-2006-part-four/#comments</comments>
		<pubDate>Sat, 25 Mar 2006 02:45:55 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[GDC]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/?p=241</guid>
		<description><![CDATA[We attended the third and final Web-Based Games Round Table session hosted by Brian Robbins at the GDC this morning. It was focused on the production/design aspects as opposed to the commerce and community issues of the previous two sessions. Rob and I were pleasantly surprised to find ourselves in discussions about DHTML and other [...]]]></description>
			<content:encoded><![CDATA[<p>We attended the third and final Web-Based Games Round Table session hosted by Brian Robbins at the <span class="definition" title="Game Developer's Conference">GDC</span> this morning.  It was focused on the production/design aspects as opposed to the commerce and community issues of the previous two sessions.  <span id="more-241"></span></p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
<p><a href="http://rr.latenightpc.com/wp/" title="Rob Russell">Rob</a> and I were pleasantly surprised to find ourselves in discussions about DHTML and other standards-based approaches to web games (like <span class="Scalable Vector Graphics">SVG</span>) with none other than Mozillians <a href="http://weblogs.mozillazine.org/roadmap/">Brendan Eich</a>, <a href="http://www.pavlov.net/blog/">Stuart Parmenter</a>, <a href="http://blog.vlad1.com/">Vladimir Vukićević</a>, and <a href="http://shaver.off.net/diary/">Mike Shaver</a>.</p>
<p>If I had done my research while here in California, I would have found posts like <a href="http://shaver.off.net/diary/2006/03/22/gdc/">this</a> and <a href="http://shaver.off.net/diary/2006/03/22/gdc/">this</a> from Vlad and Mike and we might have been able to talk longer than we did about our ventures into game programming in SVG.  For those just joining the fray, here are some non-fancy game demos I&#8217;ve put together using SVG and JavaScript:</p>
<ul>
<li><a href="http://www.codedread.com/yastframe.php" title="SVG Tetris">Tetris</a></li>
<li><a href="http://www.codedread.com/solitaire.php" title="SVG Solitaire">Solitaire</a></li>
<li><a href="http://www.codedread.com/freecell.php" title="SVG FreeCell">FreeCell</a></li>
</ul>
<p>Rob also has <a href="http://rr.latenightpc.com/wp/archives/2006/01/21/starting-point-for-a-puzzle-game-built-with-xslt-svg-and-javascript/">a great post</a> on this topic.</p>
<p>As we discussed, one of the major problems we&#8217;ve seen thus far is that though it&#8217;s definitely possible to whip up a game using nothing more than a text editor, getting beyond a trivial DHTML or SVG game would be greatly facilitated if there was improvements to the tool chain for indie developers with a budget of zero.  Real game development in these technologies will not prosper without the proper toolset.  While applications like <a href="http://www.inkscape.org/">Inkscape</a> certainly help, where are the free JavaScript+PHP+HTML+SVG <span class="definition" title="Integrated Development Environment">IDE</span>s?</p>
<p>Yes, I know, I&#8217;m greedy&#8230;</p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2006/03/24/gdc-trip-2006-part-four/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG  Time Waster Game:  FreeCell</title>
		<link>http://www.codedread.com/blog/archives/2006/02/24/svg-time-waster-game-freecell/</link>
		<comments>http://www.codedread.com/blog/archives/2006/02/24/svg-time-waster-game-freecell/#comments</comments>
		<pubDate>Fri, 24 Feb 2006 14:08:38 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/?p=232</guid>
		<description><![CDATA[I decided to take my SVG Solitaire game and make it into FreeCell, the game that comes with Microsoft Windows. Click here to play. Requires IE+ASV, Firefox 1.5 or Opera 9 TP2 It took roughly 30 minutes to change Solitaire into FreeCell, then over 1 hour to debug stupid/silly errors. I was pretty tired last [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to take my <span class="definition" title="Scalable Vector Graphics">SVG</span> <a href="http://blog.codedread.com/archives/2006/01/18/svg-time-waster-solitaire/">Solitaire</a> game and make it into <a href="http://en.wikipedia.org/wiki/Freecell">FreeCell</a>, the game that comes with Microsoft Windows.  Click <a href="http://www.codedread.com/freecell.php" title="SVG FreeCell">here</a> to play.  Requires <span class="definition" title="Internet Explorer">IE</span>+<a href="http://www.adobe.com/svg/viewer/install/main.html" title="Adobe SVG Viewer">ASV</a>, <a href="http://www.mozilla.com/firefox/" title="Download Firefox Now!">Firefox 1.5</a> or <a href="http://labs.opera.com/" title="Download Opera 9 TP2 Now!">Opera 9 TP2</a></p>
<p>It took roughly 30 minutes to change Solitaire into FreeCell, then over 1 hour to debug stupid/silly errors.  I was pretty tired last night, but that&#8217;s probably a pretty good breakdown of the software development process (X minutes to design/code, at least 2X to test).  Of course it still probably has some minor bugs here and there (please let me know) and I know the layout could use some work.  Very playable in IE+ASV, but dragging cards is still pretty slow in Firefox 1.5 and Opera 9 TP2.</p>
<p><a href="http://www.codedread.com/freecell.php" title="SVG FreeCell">CLICK HERE TO PLAY FREECELL</a></p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2006/02/24/svg-time-waster-game-freecell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVG Time Waster: Worms</title>
		<link>http://www.codedread.com/blog/archives/2006/01/23/svg-time-waster-worms/</link>
		<comments>http://www.codedread.com/blog/archives/2006/01/23/svg-time-waster-worms/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 14:53:22 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[QuickLinks]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/?p=212</guid>
		<description><![CDATA[I came across Jamie&#8217;s blog after he left a comment on my SVG Solitaire post. Apparently he&#8217;s been a little busy with SVG too. If you&#8217;ve got 10 minutes and the Firefox 1.5 browser, why not go try a game of Worm SVG. Great work! Feature Requests: Make it work in IE+ASV. Keyboard input didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I came across <a href="http://www.planetb.ca/archive/2005_12_01_planet-b_archive.html" title="PlanetB">Jamie&#8217;s blog</a> after he left a comment on my <a href="http://blog.codedread.com/archives/2006/01/18/svg-time-waster-solitaire/">SVG Solitaire</a> post.  Apparently he&#8217;s been a little busy with <a href="http://www.w3.org/Graphics/SVG/">SVG</a> too.  If you&#8217;ve got 10 minutes and the Firefox 1.5 browser, why not go try a game of <a href="http://www.planetb.ca/archive/2005_12_01_planet-b_archive.html#113537024266477978">Worm SVG</a>.</p>
<p>Great work!  Feature Requests:</p>
<ol>
<li>Make it work in IE+ASV.  Keyboard input didn&#8217;t work for me.</li>
<li>Make &#8216;P&#8217; pause the game &#8211; useful if someone interrupts you at work, ahem&#8230; </li>
<li>Make the worm and dots a little less blocky, more sexy, this is vector graphics after all.  At least make the worm a &#8220;polyline&#8221; and use stroke-linecap=&#8221;round&#8221;.  Or maybe a &#8220;path&#8221; so that you only have to change one &#8220;d&#8221; attribute every time you move the worm&#8230;</li>
<li>Make it work faster in Opera 9 TP1 (if possible), see polyline/path idea above</li>
<li>Make a server-side high score tracker (I&#8217;ve been trying to figure out how to do this in a hack-proof way myself)</li>
</ol>
<p>My record (after 3 tries) was 200 points.</p>
<p><script type="text/javascript" src="http://www.codedread.com/googleads.js"></script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2006/01/23/svg-time-waster-worms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC 2006: Collada on the PS3</title>
		<link>http://www.codedread.com/blog/archives/2006/01/21/gdc-2006-collada-on-the-ps3/</link>
		<comments>http://www.codedread.com/blog/archives/2006/01/21/gdc-2006-collada-on-the-ps3/#comments</comments>
		<pubDate>Sat, 21 Jan 2006 07:52:43 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[GDC]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.codedread.com/?p=210</guid>
		<description><![CDATA[I was going over the Game Developer&#8217;s Conference schedule for 2006 and came across this session entitled &#8220;Collada for the PlayStation3&#8243;. The reason it caught my eye is that Collada is a specification put forth by the Khronos Group, which I had read about in my SVG research. The Khronos Group is a collection of [...]]]></description>
			<content:encoded><![CDATA[<p>I was going over the Game Developer&#8217;s Conference schedule for 2006 and came across <a href="http://www.cmpevents.com/GD06/a.asp?option=C&#038;V=11&#038;SessID=2511">this session</a> entitled &#8220;Collada for the PlayStation3&#8243;.  The reason it caught my eye is that Collada is a specification put forth by the <a href="http://www.khronos.org/about/">Khronos Group</a>, which I had read about in my <span class="definition" title="Scalable Vector Graphics">SVG</span> research.  <span id="more-210"></span></p>
<p><script language="JavaScript" src="http://www.codedread.com/yahooads.js"></script><br />
<script language="JavaScript" src="http://ypn-js.overture.com/partner/js/ypn.js"></script></p>
<p>The Khronos Group is a collection of parties in the multimedia hardware industry that is:</p>
<blockquote><p>
focused on the creation of open standard APIs to enable the authoring and playback of dynamic media on a wide variety of platforms and devices
</p></blockquote>
<p>Members includes heavy mobile players like Nokia, Ericsson, and Motorola, video and audio card manufacturers like ATI, nVidia, and Creative, component manufacturers like Panasonic, Philips and Toshiba, high-end workstation folks like SGI and Sun, and gaming console manufacturers like Sony.  It&#8217;s a huge gang with <span class="definition" title="Microsoft?">some notable exceptions</span>.</p>
<p>The first time I heard of Khronos was last year when they released <a href="http://www.khronos.org/openvg/">OpenVG 1.0</a>.  OpenVG is an API for hardware accelerated vector and raster graphics, which means it is the 2D equivalent to <a href="http://www.opengl.org/">OpenGL</a>.</p>
<p>Speaking of OpenGL, one of the first tasks of the Khronos Group when it initially formed was to take the OpenGL specification and define a subset that could be used in embedded devices (like mobile phones and gaming consoles).  Embedded devices serve a particular purpose and thus, support for all OpenGL features might not be required.  This subset API specification was written by Khronos and dubbed <a href="http://www.khronos.org/opengles/">OpenGL ES</a>.</p>
<p>Now we come to their  latest venture:  <a href="http://www.khronos.org/collada/">Collada</a>.  Collada is a schema that enables the common exchange of digital assets for 3D applications.  In this context, &#8220;digital assets&#8221; are any resources that are needed to supply the actual 3D game content (models, textures, light sources, shaders, animations, etc).  Here, &#8220;common exchange&#8221; means the ability to pass around these digital assets from one tool to another without having to worry about converting from one particular file format to another.</p>
<p>The Khronos Group chose <span class="definition" title="eXtensible Markup Language">XML</span> as the base grammar for this format.  Describing complex assets like 3D models using text instead of a binary format may seem a little crazy at first, but it doesn&#8217;t surprise me really, for reasons that the Collada specification points out:</p>
<ul>
<li>issues with character sets are already accounted for in XML</li>
<li>XML is &#8220;plain text&#8221; and is easy enough to understand just by looking at the file</li>
<li>XML is easily extensible (that&#8217;s the &#8216;X&#8217;), thus content creators can add tool-specific information to the assets while still conforming to the Collada schema</li>
<li>there are XML parsers for nearly every available platform</li>
</ul>
<p>Furthermore, the spec states that this schema is not intended as the final format for delivery in a product for end-users.  This schema is really to help streamline the content generation process, not fulfill any need for the final product.</p>
<p><script language="JavaScript" src="http://www.codedread.com/yahooads.js"></script><br />
<script language="JavaScript" src="http://ypn-js.overture.com/partner/js/ypn.js"></script></p>
<p>A common schema to describe 3D geometry, light sources, skins and animation frames sounds incredibly useful &#8211; and incredibly complex.  But these people are experts so I&#8217;m sure they&#8217;ll get the contents right.  To me, what&#8217;s really important is how conforming tools in the industry are.   I&#8217;d really like to know how far particular versions of Collada have penetrated into the tool markets.  The GDC speaker (<a href="http://www.cmpevents.com/GD06/a.asp?option=G&#038;V=3&#038;id=409187">Rémi Arnaud</a>) plans to showcase a modern toolset that supports the latest Collada specification.  But do products like 3DS Max and Maya support it?  If so, how conforming are they?  A &#8220;common&#8221; format is only common if a large enough slice of tools/products support it.   Is this really just a &#8220;Sony Playstation&#8221; only thing?</p>
<p>For instance, the lag-time on SVG adoption has been incredible.  One big difference here is that SVG needs to penetrate not just into the tools but also into the libraries and into the end products (mobile phones, browsers, etc).  It&#8217;s only now, more than 5 years after it was originally introduced that mobile phones, graphics libraries, toolkits and browsers are really beginning to support SVG.  In contrast, Collada needs only to make inroads into the tool vendors and with such a large group of parties involved in Khronos (as compared to W3C) perhaps their progress will be met with a higher degree of cooperation.  Since I&#8217;m not directly involved in the industry, I have no clue so this is one thing I&#8217;m curious about.</p>
<p>Collada 1.4 was released in January of this year so it&#8217;s fresh off the presses, so to speak.  The GDC session talks about the new bits in 1.4:  Collada FX and Collada PhX.  Collada PhX actually attempts to define physics in a common format.  Collada FX attempts to define effects (pixel shaders?) in a common format.  Unfortunately not a lot of background information is given on the two new additions.</p>
<p>I read through the first 10 or so pages and then skimmed the rest of the 293-page specification to try and get a feel for it.</p>
<p>I noticed that Collada FX has a <em>&#60;code&#62;</em> element for inlining blocks of shader source code.  The last thing I remember learning about shader languages (though this was two years ago by now) was that they were very fractured with at least three similar, but not identical, code formats:  Microsoft had <a href="http://en.wikipedia.org/wiki/HLSL">HLSL</a> (DirectX API flavour), OpenGL had <a href="http://en.wikipedia.org/wiki/GLSL">GLSL</a> for its API, and nVidia had defined <a href="http://en.wikipedia.org/wiki/Cg_programming_language">Cg</a> which paid no allegiance to either API (but obviously has a hardware bias).  I had thought that Collada FX was an attempt to abstract away from a particular format, but the ability to inline arbitrary shader code seems to go against that.  There&#8217;s an <em>&#60;include&#62;</em> element that does something similar (includes shader code from an external file).  It&#8217;s entirely possible that I&#8217;m misunderstanding the purpose of Collada FX, and that&#8217;s why I&#8217;ll be looking into attending this session.</p>
<p>Also, a nitpick, but under  the &#8220;Remarks&#8221; section it states:</p>
<blockquote><p>
Inlined source code must have all XML identifier characters escaped, for example, converting “&#60;” to “&#38;lt;”.
</p></blockquote>
<p>I wonder why they didn&#8217;t allow CDATA to be used?  tsk tsk tsk &#8230;</p>
<p><script language="JavaScript" src="http://www.codedread.com/yahooads.js"></script><br />
<script language="JavaScript" src="http://ypn-js.overture.com/partner/js/ypn.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codedread.com/blog/archives/2006/01/21/gdc-2006-collada-on-the-ps3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

